动画剪辑是 Unity 中动画最小的构建块。它们表示一段孤立的动作,例如 RunLeft、Jump 或 Crawl,并且可以通过各种方式进行操作和组合以产生生动的最终结果(参见动画状态机动画控制器中的一个图形,用于控制动画状态的交互。每个状态都引用一个动画混合树或单个动画剪辑。 更多信息
参见术语表、动画控制器通过具有动画状态机和动画混合树的动画层控制动画,由动画参数控制。同一个动画控制器可以被具有动画组件的多个模型引用。 更多信息
参见术语表或混合树)。您可以从导入的 FBX 数据中选择动画剪辑。
当您点击包含动画剪辑的模型时,会显示这些属性
检查器一个 Unity 窗口,显示有关当前选定的游戏对象、资产或项目设置的信息,允许您检查和编辑值。 更多信息
参见术语表窗口的动画选项卡上有五个区域
(A) 资产特定属性。这些设置定义整个资产的导入选项。
(B) 剪辑选择列表。您可以从该列表中选择任何项目以显示其属性并预览其动画。您还可以定义新的剪辑。
(C) 剪辑特定属性。这些设置定义所选动画剪辑的导入选项。
(D) 剪辑属性。这些设置定义所有动画剪辑的导入选项。
(E) 动画预览。您可以在此处播放动画并选择特定的帧。
这些属性适用于此资产中定义的所有动画剪辑和约束
属性 | 功能 | |
---|---|---|
导入约束 | 从该资产导入约束关节组件上的设置,限制移动或旋转。约束的类型和数量取决于关节的类型。 更多信息 参见术语表。 |
|
导入动画 | 从该资产导入动画。 注意:如果禁用,则此页面上的所有其他选项都将隐藏,并且不会导入任何动画。 |
|
烘焙动画 | 将使用 IK 或模拟创建的动画烘焙到正向运动学关键帧。 仅适用于 Autodesk® Maya®、Autodesk® 3ds Max® 和 Cinema 4D 文件。 |
|
重新采样曲线 | 将动画曲线重新采样为四元数值,并为动画中的每一帧生成一个新的四元数关键帧。 如果导入文件包含欧拉曲线,则仅显示此选项。此选项默认启用。 禁用此选项以保留动画曲线最初创作时的状态。仅当与原始动画相比,重新采样动画中存在插值问题时,才应禁用此选项。 |
|
动画压缩 | 导入动画时使用的压缩一种存储数据的方法,可减少其所需的存储空间。请参阅纹理压缩、动画压缩、音频压缩、构建压缩。 参见术语表类型。 |
|
关闭 | 禁用动画压缩压缩动画数据以显著减小文件大小而不导致运动质量明显降低的方法。动画压缩是在节省内存和图像质量之间进行权衡。 更多信息 参见术语表。这意味着 Unity 不会减少导入时的关键帧标记动画中转换的起点或终点的帧。关键帧之间的帧称为中间帧。 参见术语表数量。禁用动画压缩会导致动画精度最高,但性能较慢,文件和运行时内存大小更大。通常不建议使用此选项 - 如果您需要更高精度的动画,则应启用关键帧减少并降低允许的动画压缩误差值。 |
|
关键帧减少删除冗余关键帧的过程。 更多信息 参见术语表 |
减少导入时的冗余关键帧。如果启用,检查器将显示动画压缩误差选项。这会影响文件大小(运行时内存)以及曲线的评估方式。 适用于旧版、通用和人形动画类型骨架。 |
|
关键帧减少和压缩 | 减少导入时的关键帧,并在将动画存储到文件中时压缩关键帧。这仅影响文件大小:运行时内存大小与关键帧减少相同。如果启用,检查器将显示动画压缩误差选项。 仅适用于旧版动画类型骨架。 |
|
最佳 | 让 Unity 决定如何压缩,无论是通过关键帧减少还是使用密集格式。如果启用,检查器将显示动画压缩误差选项。 仅适用于通用和人形动画类型骨架。 |
|
动画压缩误差 | 仅在启用关键帧减少或最佳压缩时可用。 | |
旋转误差 | 设置旋转曲线压缩的误差容限(以度为单位)。Unity 使用此值来确定是否可以删除旋转曲线上的关键帧。 这表示原始旋转值与减少值之间的最小角度 角度(值,减少) < 旋转误差
|
|
位置误差 | 设置位置曲线压缩的误差容限(以百分比表示)。Unity 使用此值来确定是否可以删除位置曲线上的关键帧。有关更多信息,请参阅设置位置和缩放曲线关键帧减少的误差容限。 | |
缩放误差 | 设置缩放曲线压缩的误差容限(以百分比表示)。Unity 使用此值来确定是否可以删除缩放曲线上的关键帧。有关更多信息,请参阅设置位置和缩放曲线关键帧减少的误差容限。 | |
动画自定义属性 | 导入您指定为自定义用户属性的任何 FBX 属性。 导入 FBX 文件时,Unity 仅支持一小部分属性(例如平移、旋转、缩放和可见性)。但是,您可以通过在导入器脚本中使用extraUserProperties成员命名它们来将标准 FBX 属性视为用户属性。在导入过程中,Unity 然后将任何命名的属性传递给资产后处理器,就像“真实”用户属性一样。 |
设置误差容限百分比以确定 Unity 是否可以删除位置或缩放曲线上的关键帧作为动画压缩策略。
将动画压缩属性设置为“关键帧减少”或“最佳”时,Unity 会将原始曲线与删除特定关键帧后曲线的形状进行比较并应用此测试
OriginalValue - ReducedValue > OriginalValue * percentageOfError
如果原始值与减少值之间的增量小于原始值乘以误差容限百分比,则 Unity 会删除关键帧。
请注意,Unity 会比较三个曲线组件之间的距离(即,比较distance(x,y,z)
),以及每个组件(distance(x)
、distance(y)
,然后是distance(z)
)。
此示例演示了 Unity 如何使用 10% 的误差容限评估 y 轴上的减少。
关键帧 A 的值为 11.2
关键帧 B 的值为 11.1
生成的减少曲线如下所示
关键帧 A 未减少,因为
D = 11.2 - 10 = 1.2
。E = 10% * 11.2 = 1.12
关键帧 B 已减少,因为11.1 - 10 < 10% * 11.1
D = 11.1 - 10 = 1.11
E = 10% * 11.1 = 1.11
请注意,此方法在使用仅略有变化的高值时存在局限性。将场景场景包含游戏的环境和菜单。可以将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置环境、障碍物和装饰,本质上是分段设计和构建您的游戏。 更多信息
参见术语表移动 1000 个单位会导致基本上相同的动画,但位置远离 0。
在这种情况下,两个关键帧都已减少。
关键帧 A 已减少,因为
D = 1011.2 - 1010 = 1.2
E = 10% * 1011.2 = 101.12
关键帧 B 已减少,因为11.1 - 10 < 10% * 11.1
D = 11.1 - 10 = 1.11
E = 10% * 1011.1 = 101.11
较高的值需要原始值和减少值之间存在更大的差异才能使关键帧保留在减少的曲线中。关键帧 A 的值为 1100 并被丢弃;关键帧 B 的值为 1112 并保留
您可以在动画选项卡的此区域执行这些任务
如果您手动更改导入剪辑的属性,当源资源更改时,Unity 不会导入新的动画剪辑。例如,如果您在**动画**选项卡上创建新的剪辑或更改剪辑时间,即使您从 Unity 外部向 FBX 文件添加剪辑,剪辑列表也不会更新。要查看新的和更改的动画剪辑,您必须向剪辑列表添加新的源片段。
**动画**选项卡的此区域显示以下功能
(A) 选定剪辑的可编辑名称。
(B) 动画剪辑时间线。
(C) 用于控制循环、根运动角色根节点的运动,无论它是受动画本身还是外部控制。 更多信息
参见术语表提取、曲线、事件和头像一个将动画从一个骨骼绑定重新定位到另一个骨骼绑定的接口。 更多信息
参见术语表蒙版的剪辑属性。
您可以为在此资源中定义的每个动画剪辑分别设置这些属性。
属性 | 功能 | |
---|---|---|
区域 A | ||
片段名称 |
源文件中源片段的名称。源文件包含在 Motionbuilder 或 Autodesk® Maya® 等外部 3D 应用程序中创建的一组源片段。 您可以将源片段导入为独立的动画剪辑。您还可以从帧的子集创建动画剪辑。 |
|
区域 B | ||
在动画时间线上拖动开始和结束指示器以定义每个剪辑的帧范围。 创建剪辑本质上是定义动画片段的开始和结束点。要定义循环剪辑,请修剪开始和结束点,使第一帧和最后一帧尽可能匹配。您还可以缩放和滚动时间线以获得更高的精度。 |
||
开始 | 剪辑的起始帧。 | |
结束 | 剪辑的结束帧。 | |
区域 C | ||
循环时间 | 播放动画剪辑并到达末尾时重新开始。 | |
循环姿势 | 无缝循环运动。 | |
循环偏移 | 如果循环动画从不同的时间开始,则对其循环进行偏移。 | |
根变换旋转 | ||
烘焙到姿势 | 将根旋转烘焙到骨骼的运动中。禁用以将其存储为根运动。 | |
基于 | 根旋转的基础。 | |
原始 | 保留源文件中的原始旋转。 | |
根节点旋转 | 使用根节点的旋转。 仅适用于**通用**动画类型。 |
|
身体方向 | 保持上半身向前。 仅适用于**人形**动画类型。 |
|
偏移 | 根旋转的偏移量(以度为单位)。 | |
根变换位置 (Y) | ||
烘焙到姿势 | 将垂直根运动烘焙到骨骼的运动中。禁用以将其存储为根运动。 | |
基于(在开始时) | 垂直根位置的基础。 | |
原始 | 保留源文件中的垂直位置。 | |
根节点位置 | 使用垂直根位置。 仅适用于**通用**动画类型。 |
|
质心表示刚体中所有质量的平均位置,用于物理计算。默认情况下,它是根据属于刚体的所有碰撞体计算的,但可以通过脚本修改。 更多信息 参见术语表 |
保持质心与根变换位置对齐。 仅适用于**人形**动画类型。 |
|
脚 | 保持脚与根变换位置对齐。 仅适用于**人形**动画类型。 |
|
偏移 | 垂直根位置的偏移量。 | |
根变换位置 (XZ) | ||
烘焙到姿势 | 将水平根运动烘焙到骨骼的运动中。禁用以将其存储为根运动。 | |
基于 | 水平根位置的基础。 | |
原始 | 保留源文件中的水平位置。 | |
根节点位置 | 使用水平根变换位置。 仅适用于**通用**动画类型。 |
|
质心 | 保持与根变换位置对齐。 仅适用于**人形**动画类型。 |
|
偏移 | 水平根位置的偏移量。 | |
镜像 | 在此剪辑中镜像左右。 仅当动画类型设置为**人形**时才会显示。 |
|
加性参考姿势 | 启用以设置用于作为加性动画层基础的参考姿势的帧。时间线编辑器中会出现一个蓝色标记。 |
|
姿势帧 | 输入要用作参考姿势的帧编号。您也可以在时间线上拖动蓝色标记来更新此值。 仅当启用**加性参考姿势**时才可用。 |
|
曲线 | 展开此部分以管理此动画剪辑的动画曲线。 | |
事件 | 展开此部分以管理此动画剪辑的动画事件。 | |
蒙版可以指精灵蒙版、UI 蒙版或图层蒙版 更多信息 参见术语表 |
展开此部分以管理此动画剪辑的头像蒙版。 |
这些可扩展属性适用于所有正在导入的动画剪辑。
属性 | 功能 |
---|---|
运动 | 展开此部分以管理所有导入剪辑的根运动节点。 |
导入消息 | 展开此部分以查看有关动画导入方式的详细信息,包括可选的重新定位将为一个模型创建的动画应用于另一个模型。 更多信息 参见术语表质量报告。 |
如果在动画导入过程中出现任何问题,则动画导入检查器顶部会出现警告。
警告并不一定意味着您的动画未导入或无法工作。它可能只是表示导入的动画与源动画略有不同。
要查看更多信息,请展开**导入消息**部分。
在这种情况下,Unity 提供了一个**生成重新定位质量报告**选项,您可以启用该选项以查看有关重新定位问题的更具体信息。
您可能会看到的其他警告详细信息包括以下内容
这些消息表明,当 Unity 将您的动画导入并转换为其自身的内部格式时,原始文件中的一些数据被省略了。这些警告基本上告诉您重新定位的动画可能与源动画不完全匹配。
注意:Unity 不支持除**常数**以外的其他预插值和后插值模式(也称为预无限和后无限模式),并在导入时将其转换为**常数**。
**动画**选项卡的预览区域提供以下功能
(A) 选定剪辑的名称。
(B) 2D预览模式按钮(在正交和透视相机之间切换)。
(C) 枢轴和质心显示按钮(在显示和隐藏 Gizmo 之间切换)。
(D) 头像选择器(更改哪个游戏对象将预览操作)。
(E) 播放/暂停按钮。
(F) 预览时间线上的播放头(允许前后拖动)。
(G) 动画预览速度滑块(向左移动以减速;向右移动以加速)。
(H) 播放状态指示器(以秒、百分比和帧数显示播放位置)。
(I) 标签您可以分配给一个或多个游戏对象的参考词,以帮助您识别用于脚本目的的游戏对象。例如,您可以为游戏中玩家可以食用的任何物品定义和“可食用”标签。 更多信息
参见术语表栏,您可以在其中定义并将标签应用于您的剪辑。
动画剪辑