__动画剪辑__是 Unity 动画的最小构成元素。它们代表了一个单独的运动,例如 RunLeft、Jump 或 Crawl,并且可通过各种方式进行操作和组合,从而产生生动的效果(请参阅动画状态机 (Animation State Machines)、Animator Controller 或混合树 (Blend Trees))。 您可以从导入的 FBX 数据中选择动画剪辑。
单击包含动画剪辑的模型时,将显示以下属性:
There are five areas on the Animation tab of the Inspector window:
(A) 特定资源属性。这些设置定义了整个资源的导入选项。
(B) 剪辑选择列表。您可以从此列表中选择任何项目以显示其属性并预览其动画。您也可以定义新的剪辑。
(C) 特定剪辑属性。这些设置定义了所选__动画剪辑__的导入选项。
(D) Clip properties. These settings define import options for all Animation clips.
(E) Animation preview. You can playback the animation and select specific frames here.
这些属性适用于此资源中定义的所有动画剪辑和约束:
属性: | 功能: | |
---|---|---|
Import Constraints | 从此资源导入约束。 | |
Import Animation | 从此资源导入动画。 注意:如果禁用此选项,则会隐藏此页面上的所有其他选项,并且不会导入任何动画。 |
|
Bake Animations | 烘焙通过反向动力学 (IK) 或模拟 (Simulation) 创建的动画以便推进运动关键帧。 仅可用于 Autodesk® Maya®、Autodesk® 3ds Max® 和 Cinema 4D 文件。 |
|
Resample Curves | Resample animation curves as Quaternion values and generate a new Quaternion keyframe for every frame in the animation. This option only appears if the import file contains Euler curves. This option is enabled by default. Disable this option to keep animation curves as they were originally authored. You should only disable this option if there are interpolation issues in the resampled animation when compared with your original animation. |
|
Anim. Compression | 导入动画时要使用的压缩类型。 | |
Off | 禁用动画压缩。这意味着 Unity 不会在导入时减少关键帧数量。禁用动画压缩可产生最高精度的动画,但性能会降低、文件会更大、运行时内存大小将增加。通常建议不要使用此选项;如果需要更高精度的动画,应启用关键帧减少 (Keyframe Reduction) 功能并减小允许的 Animation Compression Error 值。 | |
Keyframe Reduction | Reduce redundant keyframes on import. If enabled, the Inspector displays Animation Compression Errors options. This affects both file size (runtime memory) and how curves are evaluated. Applies to Legacy, Generic, and Humanoid Animation Type rigs. |
|
Keyframe Reduction and Compression | 导入时减少关键帧并在文件中存储动画时压缩关键帧。这仅影响文件大小;运行时内存大小与 Keyframe Reduction 相同。如果启用此属性,则 Inspector 会显示 Animation Compression Errors 选项。 仅适用于 Legacy 动画类型绑定。 |
|
Optimal | 让 Unity 决定如何进行压缩:通过减少关键帧还是通过使用密集格式。如果启用此属性,则 Inspector 会显示 Animation Compression Errors 选项。 仅适用于 Generic 和 Humanoid 动画类型绑定。 |
|
Animation Compression Errors | 仅当启用 Keyframe Reduction 或 Optimal 压缩时可用。 | |
Rotation Error | 设置旋转曲线压缩的容错度(以度为单位的角度)。Unity 使用此值来确定是否可以删除旋转曲线上的关键点。 这表示原始旋转值和减小值之间的最小角度: Angle(value, reduced) < RotationError
|
|
Position Error | 设置位置曲线压缩的容错度(百分比)。Unity 使用此值来确定是否可以删除位置曲线上的关键点。有关更多信息,请参阅设置容错度以减少位置曲线和缩放曲线上的关键点。 | |
Scale Error | 设置缩放曲线压缩的容错度(百分比)。Unity 使用此值来确定是否可以删除缩放曲线上的关键点。有关更多信息,请参阅设置容错度以减少位置曲线和缩放曲线上的关键点。 | |
Animated Custom Properties | 导入您指定为自定义用户属性的任何 FBX 属性。 Unity 在导入 FBX 文件时仅支持一小部分属性(例如转换、旋转、缩放和可见性)。但是,您可以借助 extraUserProperties 成员,在导入器脚本中指定标准 FBX 属性(如用户属性)来处理这些属性。在导入期间,Unity 会将所有这些指定属性传递给资源后处理器 (Asset postprocessor),就像“真实”用户属性一样。 |
通过设置容错度百分比,确定 Unity 是否可以删除位置曲线或缩放曲线上的关键点作为动画压缩策略。
将 Anim. Compression 属性设置为“Keyframe Reduction”或“Optimal”时,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,将被保留:
在 Animation 选项卡的此区域中可执行以下任务:
+
) 按钮为此文件创建新剪辑。-
) 按钮删除所选的剪辑定义。If you manually change properties of imported clips, Unity does not import new animation clips when the source Asset changes. For example, if you create a new clip or change a clip timing on the Animation tab, the clip list does not update even if you add clips to the FBX file from outside Unity. To view new and changed animation clips, you must add a new source take to the clip list.
Animation 选项卡的此区域显示以下特性:
(A) The editable name of the selected clip.
(B) The animation clip timeline.
(C) Clip properties to control looping, root motion extraction, curves, events and Avatar masks.
您可以为此资源中定义的每个动画剪辑单独设置以下属性:
属性: | 功能: | |
---|---|---|
Area A | ||
Take name |
The name of the source take in the source file. Source files contain a set of source takes that are created in external 3D applications such as Motionbuilder or Autodesk® Maya®. You can import source takes as individual Animation clips. You can also create Animation clips from a subset of frames. |
|
Area B | ||
Drag the start and end indicators on the animation timeline to define frame ranges for each clip. Creating clips is essentially defining the start and end points for segments of animation. To define a looping clip, trim the start and end points so that the first and last frames match as best as possible. You can also zoom and scroll the timeline to be more precise. |
||
Start | 剪辑的起始帧。 | |
End | 剪辑的结束帧。 | |
Area C | ||
Loop Time | 播放动画剪辑并在到达结尾时重新开始。 | |
Loop Pose | 无缝循环运动。 | |
Cycle Offset | 循环动画在其他时间开始时的周期偏移。 | |
Root Transform Rotation | ||
Bake into Pose | 将根旋转烘焙到骨骼移动。禁用此选项将会存储为根运动。 | |
Based Upon | 根旋转的基础。 | |
Original | 保持源文件中的原始旋转。 | |
Root Node Rotation | 使用根节点的旋转。 仅适用于 Generic 动画类型。 |
|
Body Orientation | 保持上半身朝前。 仅适用于 Humanoid 动画类型。 |
|
Offset | 根旋转偏移(以度为单位)。 | |
Root Transform Position (Y) | ||
Bake into Pose | 将垂直根运动烘焙到骨骼移动。禁用此选项将会存储为根运动。 | |
Based Upon (at Start) | 垂直根位置的基础。 | |
Original | 保持源文件中的垂直位置。 | |
Root Node Position | 使用垂直根位置。 仅适用于 Generic 动画类型。 |
|
Center of Mass | 保持质心与根变换位置对齐。 仅适用于 Humanoid 动画类型。 |
|
Feet | 保持双脚与根变换位置对齐。 仅适用于 Humanoid 动画类型。 |
|
Offset | 垂直根位置偏移。 | |
Root Transform Position (XZ) | ||
Bake into Pose | 将水平根运动烘焙到骨骼移动。禁用此选项将会存储为根运动。 | |
Based Upon | 水平根位置的基础。 | |
Original | 保持源文件中的水平位置。 | |
Root Node Position | 使用水平根变换位置。 仅适用于 Generic 动画类型。 |
|
Center of Mass | 保持与根变换位置对齐。 仅适用于 Humanoid 动画类型。 |
|
Offset | 水平根位置偏移。 | |
Mirror | 在此剪辑中进行左右镜像。 仅当动画类型 (Animation Type) 设置为 Humanoid 时才显示。 |
|
Additive Reference Pose | 启用此选项可以设置附加动画层基础参考姿势的帧。在时间轴编辑器中可以看到蓝色标记: |
|
Pose Frame | 输入一个帧编号以用作参考姿势。还可以在时间轴中拖动蓝色标记来更新此值。 仅当启用 Additive Reference Pose 的情况下才可用。 |
|
Curves | Expand this section to manage animation curves for this animation clip. | |
Events | Expand this section to manage animation events for this animation clip. | |
Mask | Expand this section to manage Avatar masking for this animation clip. |
These expandable properties apply to all Animation clips being imported.
属性: | 功能: |
---|---|
Motion | Expand this section to manage the root motion node for all imported clips. |
Import Messages | 展开此部分可查看有关如何导入动画的详细信息,包括可选的重定向质量报告 (Retargeting Quality Report)。 |
如果在动画导入过程中出现任何问题,动画导入检视面板 (Animations Import Inspector) 顶部会显示警告:
这些警告并不一定意味着您的动画未导入或不正常。可能仅表示导入的动画与源动画看起来略有不同。
要查看更多信息,请展开 Import Messages 部分:
在这种情况下,Unity 提供了 Generate Retargeting Quality Report 选项,通过启用该选项可以查看有关重定向问题的更多具体信息。
您可能会看到的其他警告详细信息包括:
这些消息表明 Unity 导入动画并将其转换为自己的内部格式时忽略了原始文件中的某些数据。这些警告实质上告诉您重定向的动画可能与源动画不完全匹配。
注意:Unity 不支持除常量 (constant) 以外的前外推 (pre-extrapolate) 和后外推 (post-extrapolate) 模式(也称为前无限 (pre-infinity) 和后无限 (post-infinity) 模式),因此会在导入时将这些模式转换为常量。
Animation 选项卡的预览区域提供以下特性:
(A) The name of the selected clip.
(B) The 2D preview mode button (switches between orthographic and perspective camera).
(C) The pivot and mass center display button (switches between displaying and hiding the gizmos).
(D) The Avatar selector (change which GameObject will preview the action).
(E) The play/pause button.
(F) The playback head on the preview timeline (allows scrubbing back and forth).
(G) The animation preview speed slider (move left to slow down; right to speed up).
(H) The playback status indicator (displays the location of the playback in seconds, percentage, and frame number).
(I) The Tag bar, where you can define and apply Tags to your clip.
(J) The AssetBundles bar, where you can define AssetBundles and Variants.
AnimationClip