public ManagedFinger GetFinger(FingerType fingerType)
        {
            ManagedFinger finger = null;

            switch (fingerType)
            {
            case FingerType.Thumb:
                finger = Thumb;
                break;

            case FingerType.Index:
                finger = Index;
                break;

            case FingerType.Middle:
                finger = Middle;
                break;

            case FingerType.Ring:
                finger = Ring;
                break;

            case FingerType.Pinky:
                finger = Pinky;
                break;
            }

            return(finger);
        }
        //Constructors:
        public ManagedHandSkeleton(ManagedHand managedHand)
        {
            //refs:
            _mainCamera = Camera.main;

            //sets:
            _managedHand = managedHand;

            //establish rotation offsets:
            _rotationOffsets = new List <Vector3>();
            _rotationOffsets.Add(Vector3.zero);
            _rotationOffsets.Add(new Vector3(-0.3004f, -0.9466f, 0.1174f));
            _rotationOffsets.Add(new Vector3(-0.8816f, 0.3225f, 0.3447f));

            //keypoints:
            HandCenter  = new ManagedKeypoint();
            WristCenter = new ManagedKeypoint();

            //fingers:
            Thumb   = new ManagedFinger(_managedHand.Hand, FingerType.Thumb, _thumbMCP, _thumbPIP, _thumbTip);
            Index   = new ManagedFinger(_managedHand.Hand, FingerType.Index, _indexMCP, _indexPIP, _indexTip);
            Middle  = new ManagedFinger(_managedHand.Hand, FingerType.Middle, _middleMCP, _middlePIP, _middleTip);
            Ring    = new ManagedFinger(_managedHand.Hand, FingerType.Ring, _ringMCP, _ringTip);
            Pinky   = new ManagedFinger(_managedHand.Hand, FingerType.Pinky, _pinkyMCP, _pinkyTip);
            Fingers = new ManagedFinger[5] {
                Thumb, Index, Middle, Ring, Pinky
            };
        }