goal | 设置的 AvatarIKGoal。 |
goalPosition | 世界空间中的位置。 |
设置 IK 目标的位置。
IK 目标是特定身体部位的目标位置和旋转。Unity 可以计算如何从起点(即从动画获得的当前位置和旋转)移动部位朝向目标。
此函数设置世界空间中最终目标的位置;身体部位最终到达的实际空间点也受权重参数的影响,该参数指定 IK 应瞄准起点和目标之间的距离(0 到 1 之间的数值)。
此函数应始终在 MonoBehaviour.OnAnimatorIK 中调用。
using UnityEngine;
public class Example : MonoBehaviour { Transform objToPickUp; Animator animator;
void Start() { animator = GetComponent<Animator>(); }
void OnAnimatorIK(int layerIndex) { float reach = animator.GetFloat("RightHandReach"); animator.SetIKPositionWeight(AvatarIKGoal.RightHand, reach); animator.SetIKPosition(AvatarIKGoal.RightHand, objToPickUp.position); } }