private void ConfigurePhalange(GameObject gameObject, int phalangeIndex, Finger finger) { Phalange phalange = gameObject.AddComponent <Phalange>(); _phalanges.Add(phalange); phalange.PhalangeData = new PhalangeData(finger, phalangeIndex, device_type); }
// Use this for initialization private void Start() { Application.runInBackground = true; string[] fingers = { "thumb_0", "index_0", "middle_0", "ring_0", "pinky_0" }; // Associate the game transforms with the skeletal model. GameTransforms = new Transform[5][]; _modelTransforms = new Transform[5][]; for (var i = 0; i < 5; i++) { GameTransforms[i] = new Transform[4]; _modelTransforms[i] = new Transform[4]; for (var j = 1; j < 4; j++) { var postfix = device_type == device_type_t.GLOVE_LEFT ? "_l" : "_r"; var finger = fingers[i] + j + postfix; GameTransforms[i][j] = FindDeepChild(RootTranform, finger); } } // Initializing the hand _handRigidbody = RootTranform.GetComponent <Rigidbody>(); Phalange handPhalange = _handRigidbody.gameObject.AddComponent <Phalange>(); handPhalange.PhalangeData = new PhalangeData(0, 0, device_type); _phalanges.Add(_handRigidbody.GetComponent <Phalange>()); GameObject phalangeParent = new GameObject("Phalanges"); ConvertFingersToPhysics(phalangeParent.transform); ReleaseHand(); foreach (var phalange in _phalanges) { phalange.CollisionEntered += PhalangeCollisionEntered; } //Prototype var grabbers = GetComponents <ObjectGrabber>(); foreach (var grabber in grabbers) { if (grabber.DeviceType == device_type) { _grabber = grabber; } } }