轉載請注明出處:http://www.cnblogs.com/shamoyuu/p/ue4_animation_any_state.html
一、導管用法
我們在設計狀態機的時候,狀態之間不應該直接相連(雖然大部分人都是這么做的,但這是錯的),而是應該交給導管來做緩沖區,所有狀態都應該從導管出發,完成后回到導管,再進入下一個狀態。
舉一個例子,你的角色狀態機已經完成了,可以走跑跳攻擊,這個時候要優化一下動畫,要求角色不同狀態下要進入不同的動畫,比如受傷時、疲勞時、中毒時,它們的Idle,Walk,Roll都要不同,
如果不用導管,那簡直完犢子,連線得成蜘蛛網,但是如果像下圖這樣,只需要把Idle,Walk,Roll換成導管,再在下面加不同的動畫狀態,就輕輕松松。
這樣設計就能避免各種狀態之間互連的情況,極大地增加狀態機的可讀性,增刪改查都很方便。
二、任意狀態實現
在動畫狀態機中,有些狀態需要可以從任何狀態都能跳入,比如受擊,死亡之類的,這種一次性的可以用動畫蒙太奇來解決,
但是如果是下墜這種,循環的,而且需要從任意狀態進入,落地后又要切換到其他狀態的就不好處理。
Unity3D中有一個AnyState,而虛幻中並沒有,但是如果像上圖這樣使用導管的話,其實這個導管就是一個AnyState了。
完結,散花