Version: 6000.3
语言: 中文
目标匹配
试玩对象API

动画师覆盖控制器(Animator Override Controller)

使用 Animator Override Controller 资产覆盖动画剪辑可用于动画角色或简单动画的动画数据。它是一个简单的“单位”运动片段,例如(一个特定实例)“空闲”、“步行”或“运行”。更多信息
请参阅术语表
动画师控制器(Animator Controller) 通过动画层控制动画,包括动画状态机和动画混合树,由动画参数控制。具有 Animator 组件的多个模型可以引用同一个 Animator 控制器。更多信息
请参阅术语表
同时保留其结构、参数和逻辑状态机Animator 控制器中角色或动画游戏对象可以处于的状态集,以及这些状态之间的一组转换和用于记住当前状态的变量。可用的状态取决于游戏的类型,但典型的状态包括空闲、行走、奔跑和跳跃等。更多信息
请参阅术语表
.您可以使用此技术创建同一 Animator 控制器的许多变体。

例如,您的游戏有不同的角色,例如妖精、食人魔和精灵。每个角色使用不同的动画剪辑进行空转、转弯和点动,但每个状态机的结构、参数和逻辑是相同的。在这种情况下,你可以为所有角色创建一个基础动画师控制器,并为每个角色创建一个 动画师覆盖控制器(Animator Override Controller) 资产。

创建基础动画师控制器的优点是,只需修改一个动画师控制器即可更改游戏中所有角色的游戏逻辑、结构或参数。此外,如果你想向游戏添加新角色,你只需要创建一个额外的 Animator 覆盖控制器资产。

设置Animator覆盖控制器资产

在使用Animator Override Controller资源之前,必须先创建并定义Animator Controller资源。这些步骤从已创建和定义的名为NPC Animator.

NPC Animator 控制器的混合树
NPC Animator 控制器的混合树

要使用 Animator Override Controller 扩展 Animator 控制器,请执行以下步骤:

  1. 转到 资产(Assets) > 创建动画>动画 Create Animation > Animator Override Controller) ,在 项目(Project) 窗口中创建新的 Animator 覆盖控制器(Animator Override Controller) 资产。你还可以使用项目窗口中的 创建(Create) 按钮。

  2. 项目窗口一个窗口,显示您的内容Assets文件夹(项目选项卡)更多信息
    术语表中查看
    ,选择新的 Animator 覆盖控制器(Animator Override Controller) 资源,以在检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
    请参阅术语表
    窗。

    未分配动画师控制器的动画师覆盖控制器
    未分配动画师控制器的动画师覆盖控制器
  3. 将 Animator Override Controller 资源重命名为Ogre Animator.

  4. 使用 控制器(Controller) 字段选择要覆盖的动画器控制器资源。为此,请执行以下作之一:

  5. 选择 Animator 控制器资源,并将其从 项目(Project) 窗口拖动到 控制器(Controller) 字段中。

  6. 选择 Animator 控制器选取器 (⊙),然后选择NPC Animator Controller从显示的窗口中。

    将 Animator 控制器资源从 项目(Project) 窗口拖到 控制器(Controller) 字段
    将 Animator 控制器资源从 项目(Project) 窗口拖到 控制器(Controller) 字段

    “检查器”窗口显示带有两列表的 Animator 覆盖控制器。第一列显示原始 Animator 控制器中的动画剪辑。第二列显示覆盖剪辑。默认情况下,每个覆盖动画剪辑都与原始动画剪辑相同。

  7. 使用 覆盖(Override) 列中的字段为每个原始动画剪辑选择覆盖动画剪辑。例如,原始动画剪辑中的NPC Animator控制器被食人魔版本覆盖。

    Animator 覆盖控制器使用原始动画剪辑的 Ogre 版本
    Animator 覆盖控制器使用原始动画剪辑的 Ogre 版本

    在状态机中,你可以使用秒或规范化时间来设置过渡退出时间。使用Animator Override Controller时,请确保过渡退出时间为规范化时间。

    以秒为单位时,如果您指定的覆盖剪辑短于过渡退出时间,则退出时间可能会被忽略。当退出时间使用归一化时间时,剪辑会根据状态机定义的比率退出。

分配Animator Override Controller资源

将 Animator Override Controller 资源分配给游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表
,请按照下列步骤作:

  1. 在“层次结构”窗口中,选择将使用动画师覆盖控制器的游戏对象。

  2. 在 Inspector 窗口中,找到与所选游戏对象关联的 Animator Controller 组件。

  3. 在 Animator 控制器组件中,选择Ogre Animator作为其动画师控制器。

在此示例中,名为 Animator Override Controller 资源Ogre Animator使用与原始 Animator 控制器相同的逻辑、过渡和混合,名为NPC Animator.但播放Ogre Animator覆盖控制器资产。

食人魔角色在动画器组件中使用动画器覆盖控制器资源作为其控制器
食人魔角色在动画器组件中使用动画器覆盖控制器资源作为其控制器
目标匹配
试玩对象API