根运动

根运动 (Root Motion) – 工作原理

身体变换

 身体变换 (Body Transform) 是角色的质心。它用于 Mecanim 重定位引擎,提供最稳定的位移模型。身体方向 (Body Orientation) 是下半身方向与上半身方向的平均,与 Avatar T 字姿势 (T-Pose) 相关。         身体变换 (Body Transform) 和方向 (Orientation) 存储在动画片段 (Animation Clip) 中(使用 Avatar 中设置的肌肉线条)。它们是存储在动画片段 (Animation Clip) 中的唯一世界空间曲线。其他一切事项:肌肉线条和 IK 目标(四肢 (Hands and Feet))相对身体变换存储。

根变换

根变换 (Root Transform) 是身体变换 (Body Transform) 在 Y 平面上的投影,在运行时计算。在每一帧,根变换 (Root Transform) 中的变化都会计算出来。然后变换的变化会被应用到游戏对象 (Game Object) 上,使之移动。

这里写图片描述
角色下面的圆代表根变换

动画片段检视器

动画片段编辑器 (Animation Clip Editor) 设置(根变换旋转 (Root Transform  Rotation)、根变换位置 (Root Transform Position) (Y) 和根变换位置 (XZ))让您从身体变换 (Body Transform) 控制根变换 (Root Transform) 投影。根据这些设置,身体变换 (Body Transform) 的某些部分可能会是转移的根变换 (Root Transform)【狗刨学习网】。例如,您可以决定是否要让运动 Y 位置成为根运动 (Root Motion)(轨迹)或者姿势(身体转换)的一部分,这就是所谓的合并到姿势 (Baked into Pose)

这里写图片描述

根变换旋转

合并到姿势 (Bake into Pose):方向与身体变换(或者姿势 (Pose))保持一致。根方向 (Root Orientation) 保持不变,增量方向 (Orientation) 相同。这意味着,该 AnimationClip 完全不会旋转游戏对象 (Game Object)。         只有拥有类似启停根方向 (Root Orientation) 的 AnimationClip 才会使用该选项。您会在 UI 看到绿灯 (Green Light),告知您某个 AnimationClip 是好的候选片段。合适的候选片段应当是直走或跑步动画。         基于 (Based Upon):该选项允许您设置片段的方向。片段使用身体方向 (Body Orientation) 定向,以循着身体的向前向量。该默认设置适用于大多数动作捕捉 (Motion Capture)(动态捕捉 (Mocap))数据,比如走路、跑步、跳跃,但不能用于扫射之类的动作,这些动作与身体的向前向量垂直。在这种情况下,可以使用偏移(Offset) 设置手动调整方向。最后,您会在导入的片段中找到自动添加授权位移的原始方向 (Original)。它常常与键帧 (Keyframed) 数据配合使用,以遵循美工设置的方向。         偏移 (Offset):为基于 (Based Upon) 选择该项时用来输入偏移量。

根变换位置 (Y)

 该项使用根变换旋转 (Root Transform Rotation) 中描述的相同概念。        合并到姿势 (Bake Into Pose):运动的 Y 分量与身体变换 (Body Transform)(姿势 (Pose))保持一致。根变换 (Root Transform) 的 Y 分量保持不变,增量根位置 Y (Delta Root Position Y) 为 0。这意味着,该片段不会更改游戏对象高度 (Game Object Height)。您再次看到绿灯 (Green Light),告知您某个片段是将 Y 动作合并到姿势的良好候选片段。       大多数 AnimationClip 会启用该设置。只有更改游戏对象 (GameObject) 高度的片段会关闭该设置,比如跳上跳下。         注意:Animator.gravityWeight 由合并到姿势 (Bake Into Pose) 位置 Y 驱动。启用该设置时,gravityWeight = 1,禁用该设置时则 = 0。在状态之间转换时,gravityWeight 用于片段融合。         基于 (Based Upon):您可以按照与根变换旋转 (Root Transform Rotation) 类似的方式从原始方向 (Original) 或质心 (Mass Center)(身体 (Body))中进行选择。还有一个双脚 (Feet) 选项,非常便于 AnimationClip 更改高度(合并到姿势 (Bake Into Pose) 已禁用)。使用双脚 (Feet) 选项时,根变换位置 Y (Root Transform Position Y) 会为所有帧匹配最低的脚 Y。因此,融合点常常停留在双脚周围,以防止在融合或转换时出现浮动问题。        偏移 (Offset):可以按照与根变换旋转 (Root Transform Rotation) 类似的方式,使用偏移 (Offset) 设置手动调整 AnimationClip 高度。

根变换位置 (XZ)

再一次,该项使用根变换旋转 (Root Transform Rotation) 和根运动位置 (Root Motion Position) (Y) 中描述的相同概念。 合并到姿势 (Bake Into Pose) 将用于�空闲 (Idles)�,在这种情况下您希望将增量位置 (Position) (XZ) 强制改成 0。在多次评估之后,它会停止累计增量变化。它也可用于具有基于 (Based Upon)原始方向 (Original) 的关键帧片段,以强制更改美工设置的授权位置。

循环姿势

循环姿势 (Loop Pose)(就像混合树 (Blend Trees) 或转换 (Transitions) 中的姿势融合 (Pose Blending))在引用根变换 (Root Transform) 时出现。计算根变换 (Root Transform) 之后,姿势 (Pose) 【狗刨学习网】变得与之相关。开始 (Start) 和停止 (Stop) 帧之间的相对姿势 (Pose) 差异将被计算出,并分布在 0-100% 的片段范围中。

通用根运动 (Generic Root Motion) 和循环姿势 (Loop Pose)

  此项的工作原理本质上与类人根运动 (Humanoid Root Motion) 相同,但不使用身体变换 (Body Transform) 来计算/预计根变换 (Root Transform),而是使用根节点 (Root Node) 中的变换集。姿势 (Pose)(在根运动 (Root Motion) 骨骼下变换的所有骨骼)与根变换 (Root Transform) 相关。
在Unreal Engine 5(UE5)中,动画蒙太奇(Animation Montage)是一种强大的工具,用于创建和管理复杂的动画序列。运动(Root Motion)是动画蒙太奇中的一个重要概念,它允许动画本身包含角色的移动数据,从而使角色在播放动画时能够准确地移动。 ### 什么是运动运动是指角色在动画过程中通过动画数据本身来驱动角色的位置和旋转,而不是通过代码或其他外部控制。运动通常用于需要精确控制角色移动的动画,例如步行、跑步、跳跃等。 ### UE5中动画蒙太奇的运动 在UE5中,运动可以通过以下步骤来实现: 1. **创建动画序列**: - 在动画软件(如Maya或3ds Max)中创建角色的动画序列,并确保骨骼(通常是骨盆或节点)的移动和旋转数据包含在动画中。 2. **导入动画**: - 将动画序列导入到UE5中。在导入设置中,确保启用了“运动”选项。 3. **创建动画蒙太奇**: - 在UE5的内容浏览器中,右键点击并选择“动画” -> “动画蒙太奇”来创建一个新的动画蒙太奇。 - 将导入的动画序列添加到蒙太奇中。 4. **配置运动**: - 在动画蒙太奇的编辑界面中,选择包含运动的动画片段。 - 在“详细信息”面板中,确保“运动”选项已启用。 5. **应用动画蒙太奇**: - 在角色的动画蓝图(Animation Blueprint)中,使用“Play Montage”节点来播放动画蒙太奇。 - 确保角色的移动组件(如Character Movement)配置正确,以支持运动。 ### 运动的优势 - **精确控制**:运动允许动画本身驱动角色的移动和旋转,提供更精确的控制。 - **简化代码**:减少了手动编写角色移动代码的需求。 - **自然运动**:使角色的移动更加自然和流畅。 ### 运动的注意事项 - **动画制作**:需要确保动画软件中骨骼的移动和旋转数据准确。 - **性能考虑**:运动会增加动画的计算量,可能对性能有一定影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡搜偶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值