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

    完结,散花

     

  • 相关阅读:
    用Vue创建一个新的项目
    事件循环学习2
    事件循环学习笔记
    关于访问器属性
    bootstrap-datetimepicker时间控件
    前端的指导方针---css篇
    web移动端小tip,box-flex
    数组常用的几种方法
    ajax对一些没有接口的数据进行分析和添加方法
    JAVA静态代理和动态代理理解
  • 原文地址:https://www.cnblogs.com/shamoyuu/p/ue4_animation_any_state.html
Copyright © 2011-2022 走看看