unity的动画怎么分割是我们在做动画的时候必须要考虑的问题,所以今天我们就来看看unity的动画怎么分割。
通常,一个动画角色有许多不同动作,在游戏的不同情境中被激活。这些动作被称为动画片段 (Animation Clips)。例如,我们可能会针对走路、跑步、跳跃、投掷、死亡等制作单独的动画片段。根据模型被动画化的方式,这些单独的动作可能会作为不同的动画片段导入,或者在每个动作只是前一个动作的延续时作为单个片段导入。在只有一个片段的情况下,该片段必须在 Unity 中分割成多个子动画片段,这将涉及工作流程中的一些额外步骤。
使用包含预先分割动画的模型
包含预先分割动画的模型是使用起来最简单的模型类型。如果您有类似动画,动画导入器检视器 (Animation Importer Inspector) 中的动画 (Animations) 选项卡外观如下:
您将会看到一列可用片段,在预览窗口 (Preview Window)(在检视器下方)中点击“播放 (Play)” 就可预览这些片段。如果需要,可以编辑这些片段的帧范围。
使用包含未分割动画的模型
对于那些片段作为连续动画来提供的模型,动画导入器检视器 (Animation Importer Inspector) 中的动画 (Animation) 选项卡外观如下:
在这种情况下,您可以定义符合独立动画序列(走路、跳跃等)的帧范围。按下 (+) 并选择包含在片段中的帧范围,即可创建一个新动画片段。
例如:
- 帧 1 – 33 为走路动画
- 帧 41 – 57 为跑步动画
- 帧 81 – 97 为踢腿动画
动画 (Animation) 的导入设置选项 (Import Settings Options)
您可以在导入设置 (Import Settings) 中的分割动画 (Split Animations) 表告知 Unity,资源文件中的哪些帧构成了哪个动画片段 (Animation Clip)。您在此处指定的名称将在游戏中用来激活动画。
有关动画检视器的更多信息,请参阅动画片段 (Animation Clip) 组件参考页面。
向不包含动画的模型添加动画
即使对于那些没有肌肉线条的模型(即非 Mecanim),也可以向动画 (Animation) 组件添加动画片段。需要在单个动画 (Animation) 属性中指定默认动画片段,在多个动画 (Animations) 属性中指定可用动画片段。添加到该非 Mecanim 模型的动画片段也应使用非 Mecanim 方式设置(即肌肉线条 (Muscle Definition) 属性应设为无 (None))
对于包含肌肉线条 (Mecanim) 的模型,步骤则不同:-
- 创建一个新动画器控制器 (New Animator Controller)
- 打开动画器控制器窗口 (Animator Controller Window)
- 将需要的动画片段拖入动画器控制器窗口 (Animator Controller Window)
- 将模型资源拖入层级视图 (Hierarchy)。
- 向资源动画器 (Animator) 组件添加动画器控制器。
使用多个模型文件导入动画 (Animations)
另一种导入动画的方式就是遵循 Unity 用于动画文件的命名规则。您可以创建单独的模型文件,然后使用 'modelName@animationName.fbx' 约定为其命名。例如,对一个叫做 "goober" 的模型,您可以使用名称为 "goober@idle.fbx"、"goober@walk.fbx"、"goober@jump.fbx" 和 "goober@walljump.fbx" 的文件导入单独的空闲、走路、跳跃和跳墙动画。即使原始文件同网格数据一起导出,但只有这些文件的动画数据会被使用。
动画角色所用四个动画文件的示例(请注意,.fbx 后缀在 Unity 中不会显示)
Unity 会自动导入全部四个文件,并将所有动画收集到没有 @ 标记的文件。在上述示例中,程序会将 goober.mb 文件自动设为引用空闲、跳跃、走路和跳墙。
对于 FBX 文件,只需导出每个文件需要的关键帧(在 FBX 对话框中激活动画),将没有勾选动画的模型文件(例如 goober.fbx)和四个片段导出为 goober@animname.fbx。