Example #1
0
 /// <summary>
 /// Updates a Finger in a hand model
 /// </summary>
 /// <param name="t">Root of the transform to be updated</param>
 /// <param name="finger">Finger number to be updated</param>
 /// <param name="quat">Manus Quaternion to be used</param>
 /// <param name="hand">Hand to be updates</param>
 private void GameObjectToSkeletal(ref Transform t, int finger, GLOVE_QUATERNION q, GLOVE_HAND hand)
 {
     if (null == t)
     {
         return;
     }
     t.localRotation = new Quaternion(-q.y, -q.z, q.x, q.w);
     for (int j = 0; j < 4; j++)
     {
         FindDeepChild(t, "Finger_" + finger.ToString() + j.ToString()).localRotation =
             FindDeepChild(gameObject.transform, "Finger_" + finger.ToString() + j.ToString()).localRotation;
         //Debug.Log(FindDeepChild(t, "Finger_" + finger.ToString() + j.ToString()).localRotation);
         //Debug.Log(FindDeepChild(gameObject.transform, "Finger_" + finger.ToString() + j.ToString()).localRotation);
     }
 }
Example #2
0
 /// <summary>
 /// Converts a Quaternion from Manus to Unity format
 /// </summary>
 /// <param name="q">Quaternion in Manus format</param>
 /// <returns>Quaternion in Unity format</returns>
 private Quaternion ManusToUnity(GLOVE_QUATERNION q)
 {
     return center * new Quaternion(q.x, q.z, q.y, -q.w);
 }
Example #3
0
 /// <summary>
 /// Converts a Quaternion from Manus to Unity format
 /// </summary>
 /// <param name="q">Quaternion in Manus format</param>
 /// <returns>Quaternion in Unity format</returns>
 private static Quaternion ManusToUnity(GLOVE_QUATERNION q)
 {
     return(new Quaternion(-q.y, -q.z, q.x, q.w));
 }
Example #4
0
 public static extern int ManusGetGravity(out GLOVE_VECTOR gravity, ref GLOVE_QUATERNION quaternion);
Example #5
0
 public static extern int ManusGetEuler(out GLOVE_VECTOR euler, ref GLOVE_QUATERNION quaternion);