zoukankan      html  css  js  c++  java
  • 【虚幻】虚幻的动画状态机中导管的用法和任意状态的实现

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

    一、导管用法

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

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

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

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

    二、任意状态实现

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

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

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

    完结,散花

     

  • 相关阅读:
    Java编程练习(四)——集合框架应用
    89. Gray Code (Java)
    加解密算法
    Cookie、Session和Token
    87. Scramble String (Java)
    51. N-Queens (JAVA)
    85. Maximal Rectangle (JAVA)
    84. Largest Rectangle in Histogram (JAVA)
    81. Search in Rotated Sorted Array II (JAVA)
    77. Combinations (JAVA)
  • 原文地址:https://www.cnblogs.com/shamoyuu/p/ue4_animation_any_state.html
Copyright © 2011-2022 走看看