Beispiel #1
0
        private void Awake()
        {
            userRig = GetComponentInParent <UserRig>();
            skeletalControllerHand = GetComponent <SkeletalControllerHand>();

            ProviderSwitcher providerSwitcher = userRig.ProviderSwitcher;

            // get all of our handed stuff
            // break into the model manager
            handModelManagers = userRig.GetComponentsInChildren <HandModelManager>(true);

            FieldInfo[] privateFields = typeof(HandModelManager).GetFields(BindingFlags.Instance | BindingFlags.NonPublic);
            modelGroupField = privateFields.First <FieldInfo>(item => item.Name == "ModelPool");
            modelGroupLists = new List <HandModelManager.ModelGroup> [handModelManagers.Length];

            // we need our datahands
            foreach (HandModelManager modelManager in handModelManagers)
            {
                DataHand[] dataHands = modelManager.GetComponentsInChildren <DataHand>(true);

                if (dataHands != null && dataHands.Length == 2)
                {
                    Chirality chirality = (IsLeft) ? Chirality.Left : Chirality.Right;
                    dataHand = dataHands.First(item => item is DataHand && item.Handedness == chirality);
                }
                else
                {
                    continue;
                }
            }

            GetModelGroupLists();
        }
Beispiel #2
0
        private void Awake()
        {
            instance = this;

            UserHand[] hands = GetComponentsInChildren <UserHand>(true);

            leftHand  = hands.First <UserHand>(item => item.IsLeft);
            rightHand = hands.First <UserHand>(item => !item.IsLeft);

            GetHandPoints();

            providerSwitcher = GetComponentInChildren <ProviderSwitcher>();
            platformManager  = providerSwitcher.GetComponent <PlatformManager>();
        }
Beispiel #3
0
        void Awake()
        {
            UserRig   userRig   = UserRig.Instance;
            RigidHand rigidHand = GetComponentInParent <RigidHand>();

            userHand                = (rigidHand.Handedness == Chirality.Left) ? userRig.LeftHand : userRig.RightHand;
            fingertipData.Owner     = this.gameObject.GetComponent <CapsuleCollider>();
            fingertipData.HandModel = userHand;
            otherObjectList         = new List <GameObject>();

            fingertipData.HandModel.OnTrackingLost += InputProvider_HandTrackingLost;

            fingertipData.finger = finger;
        }
Beispiel #4
0
        private void Awake()
        {
            SkeletalControllerHand[] controllerHands = FindObjectsOfType <SkeletalControllerHand>();

            foreach (SkeletalControllerHand controllerHand in controllerHands)
            {
                if (controllerHand.IsLeft == _isLeft)
                {
                    skeletalControllerHand = controllerHand;
                    break;
                }
            }

            steamVRRemapper = skeletalControllerHand.GetComponent <SteamVRRemapper>();
            _graspManipulatorPoints.Add(position);

            _contactBones = new ContactBone[] { };

            primaryHoverPoints.Add(skeletalControllerHand.IndexMetacarpal.GetChild(0).GetChild(0).GetChild(0));

            userRig = FindObjectOfType <UserRig>();
        }
        private void Awake()
        {
            userRig            = GetComponentInParent <UserRig>();
            platformManager    = GetComponent <PlatformManager>();
            interactionManager = Leap.Unity.Interaction.InteractionManager.instance;
            if (interactionManager != null)
            {
                controllerManager = interactionManager.GetComponent <PlatformControllerManager>();
            }

            if (interactionManager)
            {
                foreach (InteractionController controller in interactionManager.interactionControllers)
                {
                    if (controller is InteractionHand)
                    {
                        InteractionHand hand = (InteractionHand)controller;

                        if (hand.isLeft)
                        {
                            leftInteractionHand = hand;
                        }
                        else
                        {
                            rightInteractionHand = hand;
                        }

                        hand.leapProvider = defaultProvider;
                    }
                }
            }

            SkeletalControllerHand[] hands = transform.parent.GetComponentsInChildren <SkeletalControllerHand>(true);
            leftSkeletalControllerHand  = hands.First(item => item.IsLeft);
            rightSkeletalControllerHand = hands.First(item => !item.IsLeft);
        }