Version: 6000.3
语言: 中文
Inverse Kinematics
编写根运动脚本

根运动的工作原理

身体变换

身体变换是角色的质中心。它用于 Mecanim 的重定向将为一个模型创建的动画应用到另一个模型。更多信息
请参阅术语表
发动机并提供最稳定的排量模型。身体方向是下半身和上半身方向相对于头像(Avatar用于将动画从一个绑定重定向到另一个绑定的界面。更多信息
请参阅术语表
T-Pose 角色将手臂伸直向两侧,形成“T”形的姿势。角色需要的姿势,以便制作头像。
请参阅术语表
.

身体变换和方向存储在动画剪辑(Animation Clip可用于动画角色或简单动画的动画数据。它是一个简单的“单位”运动片段,例如(一个特定实例)“空闲”、“步行”或“运行”。更多信息
请参阅术语表
(使用肌肉定义这使您可以更直观地控制角色的骨架。当头像就位时,动画系统在肌肉空间中工作,这比骨骼空间更直观。更多信息
请参阅术语表
在头像中设置)。它们是存储在动画剪辑中的唯一世界空间曲线。其他所有内容:肌肉曲线和IK目标(手和脚)是相对于身体变换存储的。

根变换(Root Transform)

根变换是身体变换的Y平面上的投影,在运行时计算。在每一帧中,都会计算根变换的变化。然后,转换中的这种更改将应用于游戏对象以使其移动。

字符下方的圆圈表示根变换
字符下方的圆圈表示根变换

动画剪辑检查器

动画剪辑编辑器设置(根变换旋转)、根变换位置(Y)根变换位置(XZ))允许你从身体变换控制根变换投影。根据这些设置,身体变换的某些部分可能会转移到根变换。例如,你可以决定是希望运动Y位置成为根运动(轨迹)的一部分,还是姿势(身体变换)的一部分,这称为烘焙到姿势中

动画剪辑检查器中的根变换设置
动画剪辑检查器中的根变换设置

根变换旋转(Root Transform Rotation)

烘焙成姿势:方向将保持在身体变换(或姿势)上。根方向(Root Orientation) 将是恒定的,增量方向(delta Orientation) 将是恒等式。这意味着游戏对象根本不会被该 AnimationClip 旋转。

只有具有相似开始和停止根方向的动画剪辑才应使用此选项。你将在UI中看到一个绿灯,告诉你AnimationClip是一个不错的候选者。合适的候选人是直走或跑步。

基于(Based On) :这允许你设置剪辑的方向。使用 身体方向(Body Orientation) 时,剪辑的方向将遵循身体的向前向量。此默认设置适用于大多数动作捕捉(动作捕捉)数据,如行走、奔跑和跳跃,但对于运动垂直于身体的向前向量,则对扫射等运动会失败。在这些情况下,你可以使用 偏移(Offset) 设置手动调整方向。最后,你有了 原始(Original) ,它将自动添加在导入的剪辑中找到的创作偏移量。它通常与关键帧数据一起使用,以尊重艺术家设置的方向。

偏移量:用于在为“基于”选择该选项时输入偏移量。

根变换位置(Y)

这使用了根变换旋转中描述的相同概念。

烘焙成姿势(Bake Into Pose) :运动的 Y 分量将保留在 身体变换(姿势) 上。根变换的 Y 分量将保持不变,增量根位置 Y 将为 0。这意味着此剪辑不会更改游戏对象高度。同样,你会看到一个绿灯,告诉你剪辑是将 Y 运动烘焙为姿势的良好候选者。

大多数 AnimationClips 将启用此设置。只有将游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表
高度应该关闭此功能,例如向上或向下跳跃。

注意:该Animator.gravityWeight由烘焙到姿势位置Y驱动。启用后,gravityWeight = 1什么时候disabled = 0. gravityWeight 在状态之间转换时为剪辑混合。

基于:根变换旋转(Root Transform Rotation) 类似,你可以选择 原始(Original) 或 质量中心(主体)(Mass Center (Body))。还有一个脚(Footet) 选项,对于改变高度的动画剪辑Bake Into Pose) 禁用)。使用时,根变换位置(Root Transform Position Y) 将匹配所有帧的最低脚Y。因此,混合点始终保留在脚周围,从而防止混合或过渡时出现浮动问题。

抵消:根变换旋转类似,你可以使用 偏移(Offset) 设置手动调整动画剪辑高度。

根变换位置(XZ)

同样,这使用了根变换旋转根运动位置(Y)中描述的相同概念。

烘焙成姿势(Bake Into Pose) 通常用于“空闲”,在其中,你希望强制增量位置(XZ)为0。它将阻止在多次评估后漂移的小增量的累积。它还可用于具有 基于原始(Based Upon Original) 的关键帧剪辑,以强制由艺术家设置的创作位置。

循环姿势(Loop Pose)

循环姿势(如混合树或过渡中的姿势混合)发生在根变换的参考中。计算出根变换后,姿势将变为相对于它。计算“开始”和“停止”帧之间的相对姿势差异,并将其分布在 0-100% 的剪辑范围内。

通用根运动和循环姿势

这与人形根运动的工作原理基本相同,但不是使用身体变换来计算/投影根变换,而是在根节点动画层次结构中的一种转换,允许 Unity 在通用模型的动画剪辑之间建立一致性。它还使 Unity 能够在尚未“就地”创作的动画之间正确混合(即,整个模型在动画时移动其世界位置的位置)。更多信息
请参阅术语表
被使用。姿势(在根运动骨骼下方变换的所有骨骼)是相对于根变换创建的。

Inverse Kinematics
编写根运动脚本