天天看點

Animator Controller 繼承關系

準備知識

對于Animator Controller中蜘蛛網一樣的幾十條連線,後續如果靠人工維護,那成本将是很大。

AnimatorOverrideController元件的文檔:https://docs.unity3d.com/Manual/AnimatorOverrideController.html

從文檔中的意思可知,Animator Controller的參數及動畫拓撲關系(狀态機)是可以繼承的

使用情景

比如:遊戲中的部分NPC動作切換邏輯,及動作參數是一樣的,但他們播放的具體的動作可能是不一樣的。那要如何利用Animator Controller去組織呢?

1.建立一個Animator Ctroller作為base,裡面包括動作切換邏輯,及參數

2. 特定的NPC繼承Base有相同的邏輯,但播放不同的動作。

使用示例

1. 建立一個Animator Cotroller Base,裡面組織好動畫的狀态機,及轉換參數

Animator Controller 繼承關系

圖:NPCBase_Animation_Controller.controller

2.建立一個Animator Override Controller,在Controller中指派

Animator Controller 繼承關系

圖:NPC1_Animator_Override_Controller.overrideController

3. 為NPC1添加新的Animaclip

Animator Controller 繼承關系

圖:添加新的AnimaClip就會override 父類的AnimaClip

4. 為Npc1的Animator使用override的Ctroller,就可以正常播放動作了。

Animator Controller 繼承關系

圖:override 父類的AnimaClip

繼續閱讀