【虚幻】虚幻的动画状态机中导管的用法和任意状态的实现

转载请注明出处:http://www.cnblogs.com/shamoyuu/p/ue4_animation_any_state.html

 

一、导管用法

我们在设计状态机的时候,状态之间不应该直接相连(虽然大部分人都是这么做的,但这是错的),而是应该交给导管来做缓冲区,所有状态都应该从导管出发,完成后回到导管,再进入下一个状态。

举一个例子,你的角色状态机已经完成了,可以走跑跳攻击,这个时候要优化一下动画,要求角色不同状态下要进入不同的动画,比如受伤时、疲劳时、中毒时,它们的Idle,Walk,Roll都要不同,

如果不用导管,那简直完犊子,连线得成蜘蛛网,但是如果像下图这样,只需要把Idle,Walk,Roll换成导管,再在下面加不同的动画状态,就轻轻松松。

这样设计就能避免各种状态之间互连的情况,极大地增加状态机的可读性,增删改查都很方便。

 

二、任意状态实现

在动画状态机中,有些状态需要可以从任何状态都能跳入,比如受击,死亡之类的,这种一次性的可以用动画蒙太奇来解决,

但是如果是下坠这种,循环的,而且需要从任意状态进入,落地后又要切换到其他状态的就不好处理。

Unity3D中有一个AnyState,而虚幻中并没有,但是如果像上图这样使用导管的话,其实这个导管就是一个AnyState了。

 

完结,散花

 

posted @ 2021-10-25 11:55  静茹♂鱼  阅读(1196)  评论(0编辑  收藏  举报