版本: Unity 6 (6000.0)
语言英语
  • C#

Animator.SetIKPosition

建议修改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交的内容,但我们确实会阅读用户提出的每项更改建议,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的修改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

声明

public void SetIKPosition(AvatarIKGoal goal, Vector3 goalPosition);

参数

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); } }

其他资源:SetIKPositionWeightSetIKRotation