對于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,裡面組織好動畫的狀态機,及轉換參數

圖:NPCBase_Animation_Controller.controller
2.建立一個Animator Override Controller,在Controller中指派
圖:NPC1_Animator_Override_Controller.overrideController
3. 為NPC1添加新的Animaclip
圖:添加新的AnimaClip就會override 父類的AnimaClip
4. 為Npc1的Animator使用override的Ctroller,就可以正常播放動作了。
圖:override 父類的AnimaClip