【虚幻】虚幻的动画状态机中导管的用法和任意状态的实现
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/ue4_animation_any_state.html
一、导管用法
我们在设计状态机的时候,状态之间不应该直接相连(虽然大部分人都是这么做的,但这是错的),而是应该交给导管来做缓冲区,所有状态都应该从导管出发,完成后回到导管,再进入下一个状态。
举一个例子,你的角色状态机已经完成了,可以走跑跳攻击,这个时候要优化一下动画,要求角色不同状态下要进入不同的动画,比如受伤时、疲劳时、中毒时,它们的Idle,Walk,Roll都要不同,
如果不用导管,那简直完犊子,连线得成蜘蛛网,但是如果像下图这样,只需要把Idle,Walk,Roll换成导管,再在下面加不同的动画状态,就轻轻松松。
这样设计就能避免各种状态之间互连的情况,极大地增加状态机的可读性,增删改查都很方便。
二、任意状态实现
在动画状态机中,有些状态需要可以从任何状态都能跳入,比如受击,死亡之类的,这种一次性的可以用动画蒙太奇来解决,
但是如果是下坠这种,循环的,而且需要从任意状态进入,落地后又要切换到其他状态的就不好处理。
Unity3D中有一个AnyState,而虚幻中并没有,但是如果像上图这样使用导管的话,其实这个导管就是一个AnyState了。
完结,散花