private void StartFinger(Side side, FingersTarget.TargetedFinger finger, int fingerIx) { SideBone sideBoneId = BoneReference.HumanoidSideBone((Finger)fingerIx, FingerBone.Proximal); fingerSensors[fingerIx, 0] = neuronTracker.device.GetBone(0, side, sideBoneId); sideBoneId = BoneReference.HumanoidSideBone((Finger)fingerIx, FingerBone.Intermediate); fingerSensors[fingerIx, 1] = neuronTracker.device.GetBone(0, side, sideBoneId); sideBoneId = BoneReference.HumanoidSideBone((Finger)fingerIx, FingerBone.Distal); fingerSensors[fingerIx, 2] = neuronTracker.device.GetBone(0, side, sideBoneId); }
private void UpdateLeapFinger(FingersTarget.TargetedFinger finger, int fingerIx) { Leap.Finger leapFinger = leapHand.Fingers[fingerIx]; Quaternion proximalRotation = leapFinger.Bone(Leap.Bone.BoneType.TYPE_PROXIMAL).Rotation.ToQuaternion(); finger.proximal.target.transform.rotation = proximalRotation * Quaternion.AngleAxis(handTarget.isLeft ? 90 : -90, Vector3.up); Quaternion intermediateRotation = leapFinger.Bone(Leap.Bone.BoneType.TYPE_INTERMEDIATE).Rotation.ToQuaternion(); finger.intermediate.target.transform.rotation = intermediateRotation * Quaternion.AngleAxis(handTarget.isLeft ? 90 : -90, Vector3.up); Quaternion distalRotation = leapFinger.Bone(Leap.Bone.BoneType.TYPE_DISTAL).Rotation.ToQuaternion(); finger.distal.target.transform.rotation = distalRotation * Quaternion.AngleAxis(handTarget.isLeft ? 90 : -90, Vector3.up); }
private void UpdateFinger(FingersTarget.TargetedFinger finger, int fingerIx) { finger.proximal.target.transform.localRotation = GetFingerRotation(openVRController, fingerIx, 0); finger.intermediate.target.transform.localRotation = GetFingerRotation(openVRController, fingerIx, 1); finger.distal.target.transform.localRotation = GetFingerRotation(openVRController, fingerIx, 2); }
private void UpdateFinger(Quaternion baseRotation, FingersTarget.TargetedFinger finger, int fingerIx) { finger.proximal.target.transform.rotation = baseRotation * fingerSensors[fingerIx, 0].rotation; finger.intermediate.target.transform.rotation = baseRotation * fingerSensors[fingerIx, 1].rotation; finger.distal.target.transform.rotation = baseRotation * fingerSensors[fingerIx, 2].rotation; }