public void SetMappedAxis(Vector2 axis) { if (!IsMapped) { return; } _transform.Rotate2D(QuaternionEx.FromToRotation2D(Axis, axis)); }
public void AlignAxis2D(int axisIndex, AxisSign axisSign, Vector2 axis) { if (CanChange3D) { Vector2 axisToAlign = GetAxis2D(axisIndex, axisSign); Quaternion alignRotation = QuaternionEx.FromToRotation2D(axisToAlign, axis); float angle = alignRotation.ConvertTo2DRotation(); ChangeRotation2D(_rotation2DDegrees + angle); } }
public void AlignWidth(Vector2 axis) { Quaternion newRotation = QuaternionEx.FromToRotation2D(Right, axis) * Rotation; RotationDegrees = QuaternionEx.ConvertTo2DRotation(newRotation); }