版本:Unity 6 (6000.0)
语言:英语
动画剪辑
动画窗口

外部来源的动画

外部来源的动画导入到 Unity 的方式与常规 3D 文件相同。这些文件,无论是通用的 FBX 文件还是 Autodesk® Maya®、Cinema 4D、Autodesk® 3ds Max® 或 Blender™ 等识别的 3D 软件格式,都可能包含动画数据,这些数据以文件中对象运动的线性记录形式存在。

An imported FBX 3D Asset containing an animation titled Run
包含名为“Run”动画的导入的 FBX 3D 资源

有时,您想要设置动画的对象(例如,角色)及其动画位于同一个文件中。在其他情况下,动画可能存在于与您想要设置动画的对象不同的文件中。

动画可能是特定于某个模型的,无法在其他模型上重复使用。例如,游戏中的巨型章鱼最终 Boss 可能具有独特的肢体和骨骼排列,以及其自身的一组动画。

在其他情况下,您可能拥有一个动画库,这些动画库将用于场景中的各种不同模型。例如,许多不同的类人角色都可能使用相同的行走和跑步动画。在这种情况下,动画文件中通常会有一个简单的占位符模型用于预览它们。或者,即使动画文件根本没有几何体,只有动画数据,也可以使用它们。

导入多个动画时,每个动画可以作为项目文件夹中的单独文件存在,或者您可以从单个 FBX 文件中提取多个动画剪辑,如果从 MotionBuilder 导出为片段或使用 Autodesk® Maya®、Autodesk® 3ds Max® 或其他 3D 软件包的插件或脚本。如果您文件包含在单个时间线上排列的多个单独动画,您可能希望执行此操作。例如,一个很长的动作捕捉时间线可能包含几个不同的跳跃动作的动画,您可能希望剪切其中的某些部分以用作单独的剪辑并丢弃其余部分。当您在一个时间线中导入所有动画时,Unity 提供了动画剪辑工具来实现这一点,允许您为每个剪辑选择帧范围。

导入动画文件

在 Unity 中使用任何动画之前,必须先将其导入到您的项目中。Unity 可以导入 Autodesk® Maya®(.mb 或 .ma)、Autodesk® 3ds Max®(.max)和 Blender™(.blend),以及通用的 FBX 文件,您可以从大多数动画软件导出这些文件。请注意,从 .blend 文件导入需要本地安装 Blender™。

有关更多信息,请参阅 导入

查看和复制从导入的动画文件中获取的数据

您可以在动画窗口中查看导入的动画剪辑的关键帧和曲线。如果这些导入的剪辑有许多骨骼和许多关键帧,则动画数据量可能非常庞大。例如,下图显示了跑步动画的骨骼和关键帧

要限制显示的动画数据,请选择您感兴趣的骨骼。动画窗口仅显示所选骨骼的关键帧或曲线。

Limit the view to only the selected bones or properties
将视图限制为仅选定的骨骼或属性

查看导入的动画关键帧时,动画窗口提供动画数据的只读视图。您无法编辑此数据,但可以通过复制和粘贴关键帧到新的动画剪辑中来编辑动画数据的副本。要从只读 FBX 文件创建动画数据的副本,请按照以下步骤操作

  1. 在项目窗口中,选择要复制其动画数据的 FBX 文件。
  2. 在动画窗口中,选择属性以限制显示的动画数据量。
  3. 选择要复制的关键帧。
  4. Ctrl+C(macOS:Cmd+C)复制选定的关键帧。
  5. 为要粘贴复制的关键帧的游戏对象创建一个新的空动画剪辑。请参阅 创建新的动画剪辑
  6. Ctrl-V(macOS:Cmd+V)粘贴复制的关键帧。

为了获得最佳效果,粘贴游戏对象的层次结构和属性应与您正在复制的动画数据相同。例如,如果您正在从 FBX 文件复制胸部和头部运动的属性,则游戏对象应具有胸部和头部属性。

Selected keyframes from an imported clip.
从导入的剪辑中选择的关键帧。

如果游戏对象没有相同的属性,则会复制动画数据,但属性将以黄色显示。将鼠标悬停在属性名称上会显示消息“游戏对象或组件丢失”。

动画剪辑
动画窗口