Unity-Animator Override Controller
Animator Override Controller 是一種資源,它可讓您擴展現(xiàn)有 Animator Controller,從而替換使用的特定動畫但保留其原始結構、參數(shù)和邏輯。
因此,您可以創(chuàng)建同一個基本狀態(tài)機的多個變體,但是每個變體使用不同的動畫集。例如,您的游戲可能有各種各樣的 NPC 類角色生活在世界上,但每種類型(小妖精、惡魔、小精靈等)都有自己獨特的行走、空閑、坐定等動畫。
通過創(chuàng)建一個包含所有 NPC 類型角色邏輯的“基礎”Animator Controller,即可為每種角色類型創(chuàng)建一個重寫,并放入各自的動畫文件。
以下是一個用于演示的典型Animator Controller資源:

這代表一個Animator Controller,其中包含一個簡單狀態(tài)機,由混合樹控制四個方向的動畫,還有一個空閑動畫,如下所示:

為了擴展此通用 NPC 狀態(tài)機來使用僅適用于(比如)惡魔型角色的獨特動畫,您可以創(chuàng)建一個Animator Override Controller,并放入惡魔的動畫剪輯以替換原始動畫剪輯。惡魔可能有不同的空閑和四處游走方式,可能采取更緩慢、更狂暴和更有力的動作。但是,通過使用Animator Override Controller,如何在運動狀態(tài)之間進行過渡和混合的基本邏輯可被具有不同動畫集的不同角色所共享,從而減少構建和修改狀態(tài)機本身所需的工作量。
要創(chuàng)建新的Animator Override Controller,請使用?Assets > Create?菜單,或 Project 視圖中的?Create?按鈕,然后選擇 Animator Override Controller。
Animator Override Controller具有與Animator Controller非常相似的圖標,不同之處在于它在圖標角上帶有“加號”而不是“播放”符號:

在檢視面板中選擇新的 Animator Override Controller 時,最初會處于未分配狀態(tài),如下所示:

要開始使用Override Controller,必須將原始控制器資源分配給檢視面板中的新Override Controller。完成此操作后,原始控制器中使用的所有動畫將在 Override Controller 的檢視面板中顯示為列表:

然后,您可以分配新動畫剪輯以重寫原始剪輯。在此示例中,已使用動畫的“惡魔”(Ogre) 版本重寫所有剪輯。

現(xiàn)在,此 Override Controller 可在Ogre角色的游戲對象的 Animator 組件中使用,就像它是 Animator Controller 一樣。它將使用與原始 Animator Controller 相同的邏輯,但播放的是分配的新動畫而不是原始動畫。
