private void UpdateFingerBone(FingersTarget.TargetedPhalanges phalange, int fingerNr, int boneNr) { Vector3 position = handTarget.humanoid.optitrack.GetTargetPosition(FingerBone(fingerNr, boneNr, handTarget.isLeft)); if (position != Vector3.zero) { phalange.target.transform.position = position; phalange.target.transform.rotation = handTarget.humanoid.optitrack.GetTargetRotation(FingerBone(fingerNr, boneNr, handTarget.isLeft)); } }
private static Quaternion CalculatePhalanxRotation(FingersTarget.TargetedPhalanges phalanx, Quaternion parentRotation) { if (phalanx.target.transform == null) { return(Quaternion.identity); } Quaternion phalanxRotationOnParent = parentRotation * phalanx.target.transform.localRotation; return(phalanxRotationOnParent); }