public void UpdateFinger(FingerGraph fingerGraph, SceneGraphPoseSyncType syncType, float modifierMovement, float modifierRotation) { fingerGraph.Knuckle.UpdateTransform(Knuckle, syncType, modifierMovement, modifierRotation); fingerGraph.UpperJoint.UpdateTransform(UpperJoint, syncType, modifierMovement, modifierRotation); fingerGraph.MiddleJoint.UpdateTransform(MiddleJoint, syncType, modifierMovement, modifierRotation); fingerGraph.Tip.UpdateTransform(Tip, syncType, modifierMovement, modifierRotation); }
public void UpdateHand(HandGraph handGraph, SceneGraphPoseSyncType syncType, float speedModifier, float rotationModifier) { IndexFinger.UpdateFinger(handGraph.IndexFinger, syncType, speedModifier, rotationModifier); MiddleFinger.UpdateFinger(handGraph.MiddleFinger, syncType, speedModifier, rotationModifier); RingFinger.UpdateFinger(handGraph.RingFinger, syncType, speedModifier, rotationModifier); PinkyFinger.UpdateFinger(handGraph.PinkyFinger, syncType, speedModifier, rotationModifier); Thumb.UpdateFinger(handGraph.Thumb, syncType, speedModifier, rotationModifier); handGraph.Palm.UpdateTransform(Palm, syncType, speedModifier, rotationModifier); }
public void UpdateTransform(Transform transform, SceneGraphPoseSyncType syncType, float SpeedModifier, float RotationModifier) { switch (syncType) { case SceneGraphPoseSyncType.Instant: transform.localPosition = localPosition; transform.localRotation = localRotation; break; case SceneGraphPoseSyncType.Interpolate: transform.localPosition = Vector3.MoveTowards(transform.localPosition, localPosition, Time.deltaTime * SpeedModifier); transform.localRotation = Quaternion.RotateTowards(transform.localRotation, localRotation, Time.deltaTime * RotationModifier); break; } }