Exemplo n.º 1
0
        /// <summary>
        /// Converts XYZ Tait-Bryan angles to a <see cref="Quaternion"/>.
        /// </summary>
        /// <param name="xyzAngles">The XYZ angles in degrees</param>
        /// <returns>The created <see cref="Quaternion"/></returns>
        public static Quaternion XYZtoQuaternion(Vector3 xyzAngles)
        {
            RotationMatrix rotmat = new RotationMatrix(xyzAngles.x, xyzAngles.y, xyzAngles.z);

            IRescue.Core.DataTypes.Vector3 forward = new IRescue.Core.DataTypes.Vector3(0, 0, 1);
            IRescue.Core.DataTypes.Vector3 upward  = new IRescue.Core.DataTypes.Vector3(0, 1, 0);
            rotmat.Multiply(forward, forward);
            rotmat.Multiply(upward, upward);
            return(Quaternion.LookRotation(IRescueVec3ToUnityVec3(forward), IRescueVec3ToUnityVec3(upward)));
        }
Exemplo n.º 2
0
 /// <summary>
 /// Converts a <see cref="IRescue.Core.DataTypes.Vector3"/> to a <see cref="UnityEngine.Vector3"/>.
 /// </summary>
 /// <param name="irescuevector">The <see cref="IRescue.Core.DataTypes.Vector3"/> to convert.</param>
 /// <returns>The <see cref="UnityEngine.Vector3"/>.</returns>
 private static Vector3 IRescueVec3ToUnityVec3(IRescue.Core.DataTypes.Vector3 irescuevector)
 {
     return(new Vector3(irescuevector.X, irescuevector.Y, irescuevector.Z));
 }