unity的动画怎么分割
在进行动画制作时,如何分割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模型
即使对于那些没有肌肉线条的模型(即非Mecanim),也可以向动画(Animation)组件添加动画片段。需要在单个动画(Animation)属性中指定默认动画片段,在多个动画(Animations)属性中指定可用动画片段。添加到该非Mecanim模型的动画片段也应使用非Mecanim方式设置(即肌肉线条(Muscle Definition)属性应设为无(None))。
Mecanim模型
对于包含肌肉线条(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" 的文件导入单独的空闲、走路、跳跃和跳墙动画。即使原始文件同网格数据一起导出,但只有这些文件的动画数据会被使用。
Unity会自动导入全部四个文件,并将所有动画收集到没有 @ 标记的文件。在上述示例中,程序会将 goober.mb 文件自动设为引用空闲、跳跃、走路和跳墙。
对于FBX文件,只需导出每个文件需要的关键帧(在FBX对话框中激活动画),将没有勾选动画的模型文件(例如 goober.fbx)和四个片段导出为 goober@animname.fbx。