/// <summary>
 /// Finding and adding left arm
 /// </summary>
 /// <param name="transforms"></param>
 public void AddLeftArm(Transform[] transforms)
 {
     Transform[] results = JointNamings.GetTypeAndSide(JointNamings.JointObject.Arm, JointNamings.BodySide.Left, transforms);
     if (results.Length == 4)
     {
         if (!leftClavicle)
         {
             leftClavicle = results[0];
         }
         if (!leftUpperArm)
         {
             leftUpperArm = results[1];
         }
         if (!leftForearm)
         {
             leftForearm = results[2];
         }
         if (!leftHand)
         {
             leftHand = results[3];
         }
     }
     else if (results.Length == 3)
     {
         if (!leftUpperArm)
         {
             leftUpperArm = results[0];
         }
         if (!leftForearm)
         {
             leftForearm = results[1];
         }
         if (!leftHand)
         {
             leftHand = results[2];
         }
     }
     else
     {
         foreach (var res in results)
         {
             UnityEngine.Debug.Log(res);
         }
     }
 }
 /// <summary>
 /// Finding and adding right leg
 /// </summary>
 /// <param name="transforms"></param>
 public void AddRightLeg(Transform[] transforms)
 {
     Transform[] results = JointNamings.GetTypeAndSide(JointNamings.JointObject.Leg, JointNamings.BodySide.Right, transforms);
     if (results.Length == 3 || results.Length == 4)
     {
         if (rightThigh == null)
         {
             rightThigh = results[0];
         }
         if (rightCalf == null)
         {
             rightCalf = results[1];
         }
         if (rightFoot == null)
         {
             rightFoot = results[2];
         }
     }
 }
 /// <summary>
 /// Finding and adding right arm
 /// </summary>
 /// <param name="transforms"></param>
 public void AddRightArm(Transform[] transforms)
 {
     Transform[] results = JointNamings.GetTypeAndSide(JointNamings.JointObject.Arm, JointNamings.BodySide.Right, transforms);
     if (results.Length == 4)
     {
         if (!rightClavicle)
         {
             rightClavicle = results[0];
         }
         if (!rightUpperArm)
         {
             rightUpperArm = results[1];
         }
         if (!rightForearm)
         {
             rightForearm = results[2];
         }
         if (!rightHand)
         {
             rightHand = results[3];
         }
     }
 }
        /// <summary>
        /// Adds fingers to the references
        /// </summary>
        /// <returns>True if fingers were found</returns>
        public void AddFingers()
        {
            if (leftHand.childCount <= 0 || rightHand.childCount <= 0)
            {
                return;
            }
            var children = leftHand.GetDirectChildren();

            thumbLeft = JointNamings.GetBone(children, JointNamings.JointObject.Thumb, JointNamings.BodySide.Left);
            Transform[] results = JointNamings.GetTypeAndSide(JointNamings.JointObject.Fingers, JointNamings.BodySide.Left, children);
            if (results.Length == 4)
            {
                fingersLeft    = new Transform[4];
                fingersLeft[0] = results[0];
                fingersLeft[1] = results[1];
                fingersLeft[2] = results[2];
                fingersLeft[3] = results[3];
            }
            else if (results.Length == 1)
            {
                fingersLeft    = new Transform[1];
                fingersLeft[0] = results[0];
            }
            else if (leftHand && leftHand.childCount >= 5)
            {
                if (!thumbLeft)
                {
                    thumbLeft = leftHand.GetChild(0);
                }
                fingersLeft    = new Transform[4];
                fingersLeft[0] = leftHand.GetChild(1);
                fingersLeft[1] = leftHand.GetChild(2);
                fingersLeft[2] = leftHand.GetChild(3);
                fingersLeft[3] = leftHand.GetChild(4);
            }

            children   = rightHand.GetDirectChildren();
            thumbRight = JointNamings.GetBone(children, JointNamings.JointObject.Thumb, JointNamings.BodySide.Right);
            results    = JointNamings.GetTypeAndSide(JointNamings.JointObject.Fingers, JointNamings.BodySide.Right, rightHand.GetDirectChildren());
            if (results.Length == 4)
            {
                fingersRight    = new Transform[4];
                fingersRight[0] = results[0];
                fingersRight[1] = results[1];
                fingersRight[2] = results[2];
                fingersRight[3] = results[3];
            }
            else if (results.Length == 1)
            {
                fingersRight    = new Transform[1];
                fingersRight[0] = results[0];
            }
            else if (rightHand && rightHand.childCount >= 5)
            {
                if (!thumbRight)
                {
                    thumbRight = rightHand.GetChild(0);
                }
                fingersRight    = new Transform[4];
                fingersRight[0] = rightHand.GetChild(1);
                fingersRight[1] = rightHand.GetChild(2);
                fingersRight[2] = rightHand.GetChild(3);
                fingersRight[3] = rightHand.GetChild(4);
            }
        }