示例#1
0
 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);
        }