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了。

    完结,散花

     

  • 相关阅读:
    UI
    最长回文子串
    LRU缓存机制
    环形链表 II
    环形链表
    买卖股票的最佳时机 II
    [CSP-S模拟测试]:连连看(图论+容斥)
    [CSP-S模拟测试]:集合论(模拟)
    [CSP-S模拟测试]:位运算(数学)
    [CERC2016]:凸轮廓线Convex Contour(模拟+数学)
  • 原文地址:https://www.cnblogs.com/shamoyuu/p/ue4_animation_any_state.html
Copyright © 2011-2022 走看看