版本:Unity 6 (6000.0)
语言:English
目标匹配
Playables API

动画控制器覆盖

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

例如,您的游戏中包含不同的角色,例如哥布林、食人魔和精灵。每个角色都使用不同的动画片段来进行空闲、转向和慢跑,但每个状态机的结构、参数和逻辑都相同。在这种情况下,您可以为所有角色创建一个基础动画控制器,并为每个角色创建一个动画控制器覆盖资源。

创建基础动画控制器的优势在于,您只需修改一个动画控制器即可更改游戏中所有角色的游戏玩法逻辑、结构或参数。此外,如果您想向游戏中添加新角色,您只需创建一个额外的动画控制器覆盖资源即可。

设置动画控制器覆盖资源

在您可以使用动画控制器覆盖资源之前,您必须首先创建并定义一个动画控制器资源。这些步骤从一个已经创建并定义的名为NPC Animator的动画控制器开始。

The Blend Tree for the NPC Animator Controller
NPC 动画控制器的混合树

要使用动画控制器覆盖扩展动画控制器,请按照以下步骤操作

  1. 转到**资源** > **创建** > **动画** > **动画控制器覆盖**,在项目窗口中创建一个新的动画控制器覆盖资源。您也可以使用项目窗口中的**创建**按钮。

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

    An Animator Override Controller with no Animator Controller assigned
    没有分配动画控制器的动画控制器覆盖
  3. 将动画控制器覆盖资源重命名为Ogre Animator

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

  5. 从项目窗口中选择并拖动一个动画控制器资源到控制器字段中。

  6. 选择动画控制器选择器(⊙)并从显示的窗口中选择NPC Animator Controller

    Drag an Animator Controller asset from the Project window to the Controller field
    将动画控制器资源从项目窗口拖动到控制器字段

    检查器窗口显示动画控制器覆盖,其中包含一个两列表格。第一列显示来自原始动画控制器的动画片段。第二列显示覆盖片段。默认情况下,每个覆盖动画片段与原始动画片段相同。

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

    The Animator Override Controller with Ogre versions of the original animation clips
    带有原始动画片段的食人魔版本的动画控制器覆盖

    在状态机中,您可以使用秒或标准化时间来设置转换退出时间。当您使用动画控制器覆盖时,请确保转换退出时间以标准化时间表示。

    以秒为单位时,如果指定的覆盖片段短于转换退出时间,则可能会忽略退出时间。当退出时间使用标准化时间时,片段会根据状态机定义的比率退出。

分配动画控制器覆盖资源

要将动画控制器覆盖资源分配给游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、摄像机、路径点等。游戏对象的功能由附加到它的组件定义。更多信息
参见 术语表
,请按照以下步骤操作

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

  2. 在检查器窗口中,找到与所选游戏对象关联的动画控制器组件。

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

在此示例中,名为Ogre Animator的动画控制器覆盖资源使用与名为NPC Animator的原始动画控制器相同的逻辑、转换和混合,但播放Ogre Animator覆盖控制器资源中指定的动画片段。

The Ogre character uses an Animator Override Controller asset as its Controller in the Animator Component
食人魔角色在其动画组件中使用动画控制器覆盖资源作为其控制器
目标匹配
Playables API