Animator组件
# Animator
下图显示了如何将各种资源(动画剪辑
、Animator Controller
和 Avatar
)一起汇集在游戏对象的 Animator
组件中:
# 属性
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: 始终进行动画化,即使在屏幕外也不要剔除。
Cul Update Transforms: 未显示渲染器时,禁用变换组件的重定向、IK(反向动力学)和写入。
Cull Completely: 未显示渲染器时,完全禁用动画。
# 动画曲线信息
Animator
组件底部的信息框为您提供 Animator Controller
使用的所有剪辑中所用数据的明细。 动画剪辑包含“曲线
”形式的数据;曲线表示值如何随时间变化。这些曲线可描述对象的位置或旋转、人形动画系统中肌肉的弯曲或者剪辑内的其他动画值(例如改变的材质颜色)。
标签 | 描述 |
---|---|
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 | 使用“流”数据(这些值具有用于曲线插值的时间和切线数据)存储方法的动画曲线数量。与“密集”方法相比,此数据占用的内存多得多。 |
!>如果导入动画剪辑时在动画导入引用中将“Anim Compression
”设置为“Optimal
”,Unity 将使用启发式算法来确定最好使用密集还是流方法来存储每条曲线的数据