Animator.SetIKPosition
Declaration
public void SetIKPosition(AvatarIKGoal goal, Vector3 goalPosition);Параметры
| Параметр | Описание |
|---|---|
| Цель | 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); } }
Дополнительные ресурсы: ,SetIKPositionWeight,, ,SetIKRotation,.