public Quaternion GetRotation(RigidBoneSystemInputs inputs) { Quaternion orientedSpaceRotation = GetOrientedSpaceRotation(inputs).AsQuaternion(RotationOrder.TwistAxis); Quaternion objectSpaceRotation = orientationSpace.TransformFromOrientedSpace(orientedSpaceRotation); return(objectSpaceRotation); }
public Quaternion GetRotation(ChannelOutputs outputs) { OrientationSpace orientationSpace = GetOrientationSpace(outputs); Vector3 rotationAngles = Rotation.GetValue(outputs); TwistSwing rotationTwistSwing = RotationOrder.FromTwistSwingAngles(MathExtensions.DegreesToRadians(rotationAngles)); rotationTwistSwing = RotationConstraint.Clamp(rotationTwistSwing); Quaternion orientedSpaceRotation = rotationTwistSwing.AsQuaternion(RotationOrder.TwistAxis); Quaternion worldSpaceRotation = orientationSpace.TransformFromOrientedSpace(orientedSpaceRotation); return(worldSpaceRotation); }