介绍Unity3D中Root Motion的概念及其基本使用方法
发布时间
阅读量:
阅读量
Unity3D 的 Mecanim 动画系统具备直接调用 3DS MAX 制作的动画文件中位移信息的能力,这一功能正是通过 applyRootMotion 实现的。在使用 Animator 控制动画播放时,只需将 Animator 的 applyRootMotion 字段设置为 True 即可完成操作。
那么如何借助这一特性实现我们期望的效果呢?applyRootMotion 究竟具体指的是什么呢?
从字面意思来看,ApplyRootMotion 可以理解为『应用根节点运动』,听起来似乎合理。不过官方文档中有一段说明:
根节点变换是物体变换在 Y 平面上的投影,并且在运行时进行计算。每一帧都会重新计算根节点变换的变化值,并将其应用到游戏对象上,使该对象根据根节点的变化进行移动。
换言之,RootMotion 是用于控制动画物体在 X 轴和 Z 轴方向上的位移变化。这些位移数据是根据实际播放动画过程中每一帧物体位置在 X 和 Z 轴上的投影来计算得出的。
这一特性对于一些技能动画非常有用。因为技能动画通常包含一定的位移信息,而这些位移是由动作设计师根据动作需求设定的,与动作幅度密切相关。
因此,在释放技能时只需要直接播放对应的动画并启用 Root Motion 特性即可让角色在执行攻击动作的同时完成移动。当攻击动作结束时角色会停留在最后一帧的位置,并切换至待机状态即可。
全部评论 (0)
还没有任何评论哟~
