美文网首页
Unity 动画系列九 子状态机Sub-State Machin

Unity 动画系列九 子状态机Sub-State Machin

作者: 合肥黑 | 来源:发表于2021-12-02 18:02 被阅读0次

    参考
    Unity动画系统详解10:子状态机是什么?
    https://docs.unity3d.com/cn/current/Manual/NestedStateMachines.html
    Unity游戏动画 从入门到住院:动画状态机
    学习笔记 --- Unity动画系统

    小新:“大智,除了使用Layer还有没有更好的组织状态的方式呢?感觉一个Layer里面状态多的时候,还是很显得很乱”
    大智:“可以尝试使用Sub-State Machines,也就是子状态机,可以将一些状态放到子状态机里。

    一、子状态机

    这个状态机的作用是,他可以创建另外一套次级状态。举例来说,act游戏中角色站着的时候有站跑攻击防御,下蹲的时候则是另外一套站跑攻击防御。下蹲就是次级状态,因为下蹲跑,下蹲攻击这些动作都是基于下蹲这个状态,所以他们可以独立成为一个次级状态机。更多的比如,下蹲攻击防御被击,空中攻击防御被击,中毒状态下攻击防御被击,残血状态下攻击防御被击等等不同的次级状态。。。

    image.png
    image.png
    1.创建六边形的sub state状态机后,双击即可打开进行编辑
    image.png
    image.png
    2.添加transition
    image.png

    子状态机只是从视觉上将一些状态折叠到一个子状态机中,所以添加transition拖到子状态机时,会自动弹出如图菜单,需要选择具体转换到哪一个状态或整个状态机。

    选择状态时,Transition会直接转换到对应的状态。选择状态机时,相当于将Transition转换到对应状态机的Entry状态。

    image.png

    子状态机中有一个额外的状态名字为(Up)XXX。这个状态代表上一层的状态机。你可以在子状态机中创建Transition转换到上一层状态机中的某个状态。选择状态时,Transition会直接转换到对应的状态。选择状态机时,相当于将Transition转换到对应状态机的Entry状态。

    3.指向Exit的过渡

    我们可以在子动画组中创建指向Exit的过渡,当触发时,就会返回上一层的Entry并进入上一层的初始状态


    image.png

    相关文章

      网友评论

          本文标题:Unity 动画系列九 子状态机Sub-State Machin

          本文链接:https://www.haomeiwen.com/subject/dlgwzltx.html