public override void OnInspectorGUI() { HandController t = target as HandController; if (t.Gears.Count == 0) { t.createGears(); } EditorGUILayout.LabelField("Gears:"); { EditorGUI.indentLevel++; foreach (var entry in t.Gears) { entry.Value.angle = EditorGUILayout.FloatField(entry.Key.ToString().ToLower(), entry.Value.angle); } EditorGUI.indentLevel--; } EditorGUILayout.Space(); if (GUILayout.Button("Generate Skeleton")) { Transform parent = t.transform; for (HandBoneIndex i = HandBoneIndices.WristStart; i < HandBoneIndices.WristEnd; ++i) { parent = createBoneNode(parent, i); } Transform thumb = parent, index = parent, middle = parent, ring = parent, pinky = parent; for (HandBoneIndex i = HandBoneIndices.ThumbStart; i < HandBoneIndices.ThumbEnd; ++i) { thumb = createBoneNode(thumb, i); } for (HandBoneIndex i = HandBoneIndices.IndexStart; i < HandBoneIndices.IndexEnd; ++i) { index = createBoneNode(index, i); } for (HandBoneIndex i = HandBoneIndices.MiddleStart; i < HandBoneIndices.MiddleEnd; ++i) { middle = createBoneNode(middle, i); } for (HandBoneIndex i = HandBoneIndices.RingStart; i < HandBoneIndices.RingEnd; ++i) { ring = createBoneNode(ring, i); } for (HandBoneIndex i = HandBoneIndices.PinkyStart; i < HandBoneIndices.PinkyEnd; ++i) { pinky = createBoneNode(pinky, i); } HandRig rig = t.GetComponent <HandRig>(); if (rig) { rig.searchNodes(); } } }
void Reset() { LeftHand = new HandRig(); RightHand = new HandRig(); string hand = "hand"; string left = "_l"; string right = "_r"; string prox = "_01"; string inter = "_02"; string dist = "_03"; LeftHand.WristTransform = transform.FindDeepChild(hand + left); RightHand.WristTransform = transform.FindDeepChild(hand + right); for (int i = 0; i < 5; i++) { string finger = ""; switch (i) { case 0: finger = "thumb"; break; case 1: finger = "index"; break; case 2: finger = "middle"; break; case 3: finger = "ring"; break; case 4: finger = "pinky"; break; } LeftHand.GetFingerRig((FingerIndex)i).Proximal = transform.FindDeepChild(finger + prox + left); LeftHand.GetFingerRig((FingerIndex)i).Intermedial = transform.FindDeepChild(finger + inter + left); LeftHand.GetFingerRig((FingerIndex)i).Distal = transform.FindDeepChild(finger + dist + left); RightHand.GetFingerRig((FingerIndex)i).Proximal = transform.FindDeepChild(finger + prox + right); RightHand.GetFingerRig((FingerIndex)i).Intermedial = transform.FindDeepChild(finger + inter + right); RightHand.GetFingerRig((FingerIndex)i).Distal = transform.FindDeepChild(finger + dist + right); } }
public override void OnInspectorGUI() { DrawDefaultInspector(); HandRig t = target as HandRig; if (GUILayout.Button("Capture Data")) { t.captureData(); } if (GUILayout.Button("Apply Data")) { t.applyData(); BoneMarker[] markers = t.gameObject.GetComponentsInChildren <BoneMarker>(); foreach (BoneMarker marker in markers) { marker.updateMesh(); } } }