一、Animator 主要用于
- 什么时候使用动画剪辑
- 控制动画剪辑之间的过渡或混合
二、创建一个Animator
1,在对象上添加一个Animator 组件:
2,添加一个Animator Controller 对象 (如果是人形角色,需要添加Avatar),拖拽到 Controller 即可
3,添加一个Controller,点击箭头标记 1 处可以选择筛选后的 Conroller,再双击,或者直接拖拽挂载。挂载后可看到第二张图中 框内数据变化。
4,开启Animator的编辑窗口,选择含有Animator的组件。
三、Animator 组件参数意义
1,组件参数含义
属性: | 功能: | |
Controller | 附加到此角色的 Animator Controller。 | |
Avatar | 此角色的Avatar。(如果 Animator 用于对人形角色进行动画化) | |
Apply Root Motion | 选择从动画本身还是从脚本控制角色的位置和旋转。 | |
Update Mode | 此选项允许您选择 Animator 何时更新以及应使用哪个时间标度。 | |
Normal | Animator 与 Update 调用同步更新,Animator 的速度与当前时间标度匹配。如果时间标度变慢,动画将通过减速来匹配。 | |
Animate Physics | Animator 与 FixedUpdate 调用同步更新(即,与物理系统步调一致)。如果要对具有物理交互的对象(例如可四处推动刚体对象的角色)的运动进行动画化,应使用此模式。 | |
Unscaled Time | Animator 与 Update 调用同步更新,但是 Animator 的速度忽略当前时间标度而不顾一切以 100% 速度进行动画化。此选项可用于以正常速度对 GUI 系统进行动画化,同时将修改的时间标度用于特效或暂停游戏。 | |
Culling Mode | 您可以为动画选择的剔除模式。 | |
Always Animate | 始终进行动画化,即使在屏幕外也不要剔除。 | |
Cull Update Transforms | 未显示渲染器时,禁用变换组件的重定向、IK(反向动力学)和写入。 | |
Cull Completely | 未显示渲染器时,完全禁用动画。 |
2,红框中的参数
标签 | 描述 |
Clip Count | 分配给此 Animator 的 Animator Controller 使用的动画剪辑总数。 |
Curves (Pos, Rot & Scale) | 由 Unity 用于动画化游戏对象位置、旋转或缩放的曲线总数。这些曲线用于不属于标准人形骨架的动画游戏对象。在对人形 Avatar 进行动画化时,这些曲线会显示额外非肌肉骨骼(例如尾巴、飘逸的布料或悬垂的吊坠)的计数。如果您有人形动画并发现意外的非肌肉动画曲线,表示动画文件中可能有不必要的动画曲线。 |
Muscles | 此 Animator 用于人形动画的肌肉动画曲线数量。这些是用于对标准人形 Avatar 肌肉进行动画化的曲线。除了 Unity 的标准 Avatar 中所有人形骨骼的标准肌肉运动外,此处还包括用于存储根运动位置和旋转动画的两条“肌肉曲线”。 |
Generic | 由 Animator 用于动画化其他属性(如材质颜色)的数字(浮点)曲线数量。 |
PPtr | 精灵动画曲线(由 Unity 的 2D 系统使用)的总数 |
Curves Count | 动画曲线的合计总数 |
Constant | 优化为常量(不变)值的动画曲线数量。如果动画文件包含了具有不变值的曲线,Unity 会自动选择此项。 |
Dense | 使用“密集”数据(通过线性内插的离散值)存储方法进行优化的动画曲线数量。与“流”方法相比,此方法使用的内存少得多。 |
Stream | 使用“流”数据(这些值具有用于曲线插值的时间和切线数据)存储方法的动画曲线数量。与“密集”方法相比,此数据占用的内存多得多。 |