当前位置: 首页 > news >正文

UE5.3 StateTree使用实践

近期浏览UE的CitySample(黑客帝国Demo),发现有不少逻辑用到了StateTree学习一下,StateTree是多层状态机实现,以组件的形式直接挂载在蓝图中运行。

与平时常见的一些FSM库不同,StateTree并不会返回给外界当前的状态是什么,毕竟嵌套状态返回的信息并不直观,使用者可以通过UE的Tags标签来标记当前的状态或是别的方法。

下面就来简单讲讲如何使用,编辑器版本是UE5.3。


1.首先安装插件State Tree:
在这里插入图片描述

2.右键创建State Tree对象,创建类型选择StateTreeComponent:

在这里插入图片描述
3.创建好后先不急着配置StateTree文件,先创建一个自定义任务。右键创建蓝图类,类名搜索关键字State Tree,创建类型如下:
在这里插入图片描述
注:State Tree的每一个状态上都可以挂载Task,状态进入由Condition条件控制,状态跳转由Transiton控制。

4.简单编写Task逻辑:
在这里插入图片描述

5.双击打开StateTree文件,点击Add Statet添加State1,并添加自定义Task与延迟,设置一个自身传递的Transitions过渡。
在这里插入图片描述

6.创建一个角色,用于挂载StateTree并执行状态机。
在这里插入图片描述

7.为新创建的角色蓝图添加StateTree组件,赋上之前创建的StateTree。
在这里插入图片描述

8.StateTree组件会自动执行,不需要蓝图节点的调用,拖入场景执行,可见Log正常打印。
在这里插入图片描述

http://www.lryc.cn/news/321953.html

相关文章:

  • 【09】进阶JavaScript事件循环Promise
  • 蓝桥备赛----基本语法总结
  • 基于 Echarts + Python Flask ,我搭建了一个动态实时大屏监管系统
  • 针对教育行业的网络安全方案有哪些
  • C++ 编程入门指南:深入了解 C++ 语言及其应用领域
  • latex变量上下加自适应长度箭头
  • 鸿蒙4.0ArkUI快速入门(一)应用模型
  • C++ UML类图
  • Java SE入门及基础(44)
  • 基于Wechaty的微信机器人
  • 【C++ leetcode】双指针问题(续)
  • 51单片机-蜂鸣器
  • 【MySQL】学习和总结使用列子查询查询员工工资信息
  • 突破编程_C++_STL教程( stack 的实战应用)
  • Spring Data访问Elasticsearch----其他Elasticsearch操作支持
  • 代码随想录算法训练营第60天 | 84.柱状图中最大的矩形
  • 【讲解Node.js常用的命令】进阶版
  • 软考81-上午题-【面向对象技术3-设计模式】-行为型设计模式01
  • 【Linux进阶之路】HTTPS = HTTP + S
  • 51-31 CVPR’24 | VastGaussian,3D高斯大型场景重建
  • GPT-4引领AI新纪元,Claude3、Gemini、Sora能否跟上步伐?
  • 图书馆RFID(射频识别)数据模型压缩/解压缩算法实现小工具
  • 【Java Web基础】一些网页设计基础(三)
  • 2 使用GPU理解并行计算
  • Android什么情况下会出现内存泄漏以及怎么解决?
  • kafka集群介绍及搭建
  • 2024/03/19(网络编程·day5)
  • ​LeetCode解法汇总1969. 数组元素的最小非零乘积
  • 学习vue3第九节(新加指令 v-pre/v-once/v-memo/v-cloak )
  • 二开飞机机器人群发,实现自动给多个频道发送消息