using System.Collections; using System.Collections.Generic; using UnityEngine; public class Speedy_IKTargeting : MonoBehaviour { protected Animator animator; public bool ikActive = false; public Transform rightHandObj = null; public Transform lookObj = null; // Start is called before the first frame update void Start() { animator = GetComponent(); } private void OnAnimatorIK(int layerIndex) { if(ikActive) { // Set the look target position, if one has been assigned if (lookObj != null) { animator.SetLookAtWeight(1); animator.SetLookAtPosition(lookObj.position); } // Set the right hand target position and rotation, if one has been assigned if (rightHandObj != null) { animator.SetIKPositionWeight(AvatarIKGoal.RightHand, 1); animator.SetIKRotationWeight(AvatarIKGoal.RightHand, 1); animator.SetIKPosition(AvatarIKGoal.RightHand, rightHandObj.position); animator.SetIKRotation(AvatarIKGoal.RightHand, rightHandObj.rotation); } } else { animator.SetIKPositionWeight(AvatarIKGoal.RightHand, 0); animator.SetIKRotationWeight(AvatarIKGoal.RightHand, 0); animator.SetLookAtWeight(0); } } }