什么是根运动以及它是如何工作的?

时间:2016-09-03 23:30:43

标签: unity3d

我正在阅读 Unity动画食谱一书。我坚持“Root Motion”主题。我现在可以理解的是Root动作允许GameObject随动态剪辑移动而无需编码。它取决于根节点。
但我无法想象/了解如何?或者是什么相关的属性,如“烘烤到姿势”..什么是姿势..?我搜索网络找到任何人谈论它..但没有有用的教程那里!我试图从关于这个主题的统一文档中读到但是它让它变得更糟.. https://docs.unity3d.com/Manual/RootMotion.html

请帮我举例/链接/重播

2 个答案:

答案 0 :(得分:5)

花费更多时间搜索/观看视频/阅读其他书籍以了解所有内容。我会在这里给出答案,让任何人在理解这个话题时遇到同样的困难

跑步机vs根运动:有两种类型的动画,跑步机和根运动。跑步机意味着动画停留在原点,我们使用代码移动该资产。根运动意味着动画内置于动画中,动画决定了动画的移动距离而不是代码。

然后你必须观看这个视频,以便了解它在Blender和后来的Unity中的导入角色&动画 https://www.youtube.com/watch?v=d5z9dEnE4DE

Root Transform Rotation:此选项捕获根节点的旋转和 将它应用于整个游戏对象。您可以将其设置为Bake Into Pose以禁用 根运动旋转。选择此选项后,旋转将被视为a 动画的视觉效果并不会应用于游戏对象。您 应该为每个不应该旋转角色的动画设置为true。您 可以将“基于”选项设置为以下选项之一:

根变换位置Y:此选项捕获垂直移动 根节点并将其应用于整个游戏对象。你可以把它设置为Bake Into 用于禁用Y轴上的根运动。选择此选项后,Y轴 动作将被视为动画的视觉效果,不会应用 到游戏对象。您应该为每个“地面”动画将其设置为true (除非它是一个跳跃)。

根变换位置XZ:此选项捕获水平(XZ) 根节点的移动并将其应用于整个游戏对象。你可以设置它 Bake Into Pose以禁用X和Z轴上的根运动。有了这个选项 选中,水平运动将被视为动画的视觉效果 不会应用于游戏对象。你应该为所有静止设置它为真 动画(如空闲)。

好的动画可以结合传统(跑步机)和根运动方式。

答案 1 :(得分:1)

身体变换(姿势)是角色的质量中心。

根变换体变换(姿势)的Y平面上的投影,并在运行时计算。

如果你想首先将身体变换转移到游戏对象,你必须将它转移到根变换,因为那是应用于游戏对象变换的变换。例如,将身体变换的XZ运动转换为根变换,您需要取消选中烘焙成姿势选项。