参考链接:

https://www.jianshu.com/p/6b1db3d060ac?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

子状态机,就是在状态机里面,再创建一个新的状态机,这个新的状态机就叫子状态机。

1.创建一个子状态机

右击Animator窗口的空白区域->Create Sub-State Machine,这里我将其命名为Die,然后双击点进去。可以看到,在子状态机中同样存在三种状态,Entry/Exit/Any State,这三种状态是属于子状态机的,而非父状态机。而这里的(Up)Base Layer指的是父状态机,这样就保证了子状态机里面的状态能够与父状态机进行交互。

2.进入子状态机

拖入一个Dying动画进去,此时Entry会连接到Dying,表示该子状态机的默认状态是Dying。接着回到父状态机,将Idle连接子状态机,此时会出现选择,连接子状态机 or 连接子状态机里的状态。连接子状态机,实际上相当于连接子状态机中的Entry状态。这两种情况都可以试着去连一下,如果是Idle->Die,则在子状态机中,是Entry跳到Dying;如果是Idle->Dying,则在子状态机中,是(Up)Base Layer跳到Dying。

3.退出子状态机

退出子状态机的方法有两种。

一是通过子状态机的Exit状态退出。Die状态机退出后,会回到父状态机,因为没有可以跳的状态,所以重新回到父状态机中的Entry状态。

二是通过连接父状态机。如下,子状态机中的Dying连接父状态机中的Run,Die状态机退出后,会回到父状态机,然后跳到Run。

[Unity动画]06.子状态机的更多相关文章

  1. Unity动画知识之二:Animator动画状态机

    上次我们讲过Unity游戏动画从入门到住院,今天我们来讲一下动画状态机. 好了,现在我们已经成功的导入了动画.接下来要玩的东西就很装13啦.因为大部分动画师是用不到这家伙的,需要掌握这个技能的,至少也 ...

  2. Unity 动画知识之一

    Unity现在已经用的很广泛啦,可是却一直没有什么美术向的教程. 程序用方面的内容在各个论坛都有讨论,但是美术似乎很弱势啊. 明明美术也很需要掌握引擎方面的内容嘛! 山谷里的野百合还有春天呢 我们美术 ...

  3. Unity 动画系统目录 之 Animation

    返回 Unity 动画系统目录 官方文档 Animation:https://docs.unity3d.com/ScriptReference/Animation.html Animator:http ...

  4. Unity动画机制 Animator与Animator Controller教程

    Unity动画机制Animator 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...

  5. Unity动画优化

    Unity动画优化 https://blog.csdn.net/TracyZly/article/details/79991593 Unity中Animator做UI动画的一些细节 https://b ...

  6. 【Unity笔记】一些Mecanim动画系统、状态机的参数细节

    动画混合树Blend Tree调整动画片段的播放速度: 0 动画不播放 -1 动画倒着播放:如果只有“往前走”的动画,可以变成“往后走”动画 勾选动画是否镜像: 左右颠倒(挥左手变成挥右手) 过度条件 ...

  7. unity动画状态机的学习

    简单贴一下步骤,备忘 添加多个动画到动画控制器 创建transition,添加转换条件 在代码里面获取animator组件,然后animator.setXXX即可

  8. Unity 动画系统 StateMachineBehaviour 动画状态机

  9. Unity 动画

    Unity 并没有自带建模工具. 3D建模工具 maya, 3dmax, blender Skinned Mesh Renderer Mesh Renderer Mesh Filter Modelli ...

随机推荐

  1. RedHat如何关闭防火墙 : http://blog.csdn.net/chongxin1/article/details/76072758

    版本号:RedHat6.5   JDK1.8   Hadoop2.7.3 hadoop  说明:从版本2开始加入了Yarn这个资源管理器,Yarn并不需要单独安装.只要在机器上安装了JDK就可以直接安 ...

  2. 性能优化之永恒之道(实时sql优化vs业务字段冗余vs离线计算)

    在项目中,随着时间的推移,数据量越来越大,程序的某些功能性能也可能会随之下降,那么此时我们不得不需要对之前的功能进行性能优化.如果优化方案不得当,或者说不优雅,那可能将对整个系统产生不可逆的严重影响. ...

  3. 通过IOCTL_ATA_PASS_THROUGH访问ATA设备接口

    控制代码功能:像ATA硬盘发送ATA指令.IDE/ATA:接口,一个串行,一个并行,一般叫做IDE接口的硬盘和ATA接口的硬盘.ATA指令:可以操作ATA硬盘的指令. typedef struct _ ...

  4. 基于redis的乐观锁实践

    redis真是一个分布式应用场景下的好东西,对于我们的应用设计,功劳大大的! 今天要研究的是基于redis的事务机制以及watch指令(CAS)实现乐观锁的过程. 所谓乐观锁,就是利用版本号比较机制, ...

  5. FLIR ONE PRO热成像仪

    FLIR ONE PRO热成像仪 https://www.chiphell.com/thread-1774218-1-1.html

  6. MyBatis中的@Mapper注解及配套注解使用详解(上)

    前言: 从mybatis3.4.0开始加入了@Mapper注解,目的就是为了不再写mapper映射文件(那个xml写的是真的蛋疼...).很恶心的一个事实是源码中并没有对于这个注解的详细解释 现在我们 ...

  7. ThinkPHP 介绍及安装 -1

    一.ThinkPHP的介绍 MVC M - Model 模型                工作:负责数据的操作 V - View  视图(模板)        工作:负责前台页面显示 C - Con ...

  8. putty删除键backspace设置

    putty连接unix登陆后,编辑命令输入错误时要修改,可是习惯性的按backspace键或者Delete键都出现一堆奇怪的字符,无法删除出错的命令语句. 修正方法如下: ************** ...

  9. 自定义指令 格式化input数据为非负整数

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. PyQt—QTableWidget实现翻页功能

    主要使用QTableWidget中的三个函数实现: verticalScrollBar().setSliderPosition() 设置当前滑动条的位置 verticalScrollBar().max ...