protected virtual void FindFingers(ManusRigger rigger) { string[] fingers = { "thumb_0", "index_0", "middle_0", "ring_0", "pinky_0" }; // Associate the game transforms with the skeletal model. FingerTransforms = new Transform[5][]; for (var i = 0; i < 5; i++) { FingerTransforms[i] = new Transform[5]; for (var j = 1; j < 4; j++) { //Get the cached transform from the manus rigger. if (rigger) { FingerTransforms[i][j] = rigger.GetFingerTransform(DeviceType, (ApolloHandData.FingerName)i, (PhalangeType)j); } //Manually find the transform if rigger is null or the transform is still not assigned/ if (!FingerTransforms[i][j]) { var postfix = DeviceType == device_type_t.GLOVE_LEFT ? "_l" : "_r"; var finger = fingers[i] + j + postfix; FingerTransforms[i][j] = transform.FindDeepChild(finger); } } } }