Animator.SetIKPositionWeight
Declaration
public void SetIKPositionWeight(AvatarIKGoal goal, float value);Параметры
| Параметр | Описание |
|---|---|
| Цель | AvatarIKGoal, который установлен. |
| значение | Вес перевода. |
Описание
Задает вес трансляции цели IK (0 = в первоначальной анимации до IK, 1 = в цели).
Целью IK является целевое положение и вращение для определенной части тела. Unity может рассчитать, как переместить часть к цели от стартовой точки (т.е. текущее положение и вращение, полученное из анимации).
Эта функция устанавливает значение веса в диапазоне 0..1 для определения того, насколько далеко между стартовым и целевым положениями будет целиться IK. Само положение устанавливается отдельно с помощью SetIKPosition.
using UnityEngine;
public class Example : MonoBehaviour { public Transform objToPickUp; Animator animator;
void Start() { animator = GetComponent<Animator>(); }
void OnAnimatorIK(int layerIndex) { // Retrieves the value of the parameter "RightHandReach" that must be created in the AnimatorController. float reach = animator.GetFloat("RightHandReach");
// Sets IK Position and IK Position Weight. animator.SetIKPositionWeight(AvatarIKGoal.RightHand, reach); animator.SetIKPosition(AvatarIKGoal.RightHand, objToPickUp.position); } }
Дополнительные ресурсы: ,SetIKPosition,, ,SetIKRotationWeight,.