欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

定义跳转插件_虚幻插件Review:Logic Driver Pro 终极状态机插件

发布时间:2024/10/8 76 豆豆
生活随笔 收集整理的这篇文章主要介绍了 定义跳转插件_虚幻插件Review:Logic Driver Pro 终极状态机插件 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

获取与安装

虚幻商城Logic Driver Pro地址

这是老王在虚幻商城出的第一滴血,99.99大刀,这个插件还有一个Lite版34.99刀。昨天刚购入,目前研究了一下基本工作逻辑,感觉还是很满意的,所以推荐给大家。

Logic Driver Pro 是一个引擎插件,目前支持到4.19-4.26,下载启用即可

原理和特性

Logic Driver就是一套通用状态机系统,可以用来开发游戏逻辑/AI/UI等等,状态机驱动的对象(在Logic Driver中被称为上下文context)可以是任意类型的UObject,同时一个上下文可以拥有多个状态机。Logic Driver支持子状态机并且所有的状态机类/状态类/过渡类都可以定义在独立的蓝图中,从而重复使用。状态间不仅支持条件式转移也支持事件式转移。总之非常的灵活,是老王心目中理想的状态机的样子。(而且Logic Driver并行状态运行,听着好高端)

条件式转移: 转移条件是由若干个变量组成的一个最终输出值为布尔类型的表达式,当表达式值为True即转移,因此状态机系统每一次Update都要检查是否达成转移条件。事件式转移: 转移条件和一个委托(Delegate)绑定,当委托委托被调用(触发)即转移状态。

状态机

Node Class

Node Class蓝图是为了复用的,不需要复用的话直接在状态机里创建就可以

使用范例

一个Actor有三个状态State_A、State_B和State_C:

  • State_A为默认状态
  • 在State_A中持续2秒以后会跳转到State_B(使用条件式跳转)
  • 在State_B时,当我们按下键盘上的E键会跳转到State_C(使用事件式跳转)

定义上下文

本例的上下文就是一个带静态模型的Actor,为它添加一个StateMachineComponent

注意: 除了用组件的形式也可以自定义StateMachineComponent类型的成员变量,但是使用组件最简单,它初始化的时候会自动将所属Actor设为自己的上下文。用用成员变量的就需要很多手动设置,但是原理都是一样的。

定义状态机

状态机的样子很像动画蓝图,一些细节设计也很到位

State_A to State_B

State_B to State_C

因为State_B to State_C是事件式转移,所以对它进行事件触发的设置

Delegate Owner Instance是委托事件所属的对象,默认是this 即状态机,本例设置为Context,选择Context的类型,然后指定委托事件。

State_A/State_B/State_C

状态的设计也很清晰明朗,可以通过GetContext节点获取上下文

State_A

State_B

State_C

小结

面向状态开发的必备插件,就是价格有点小贵。

总结

以上是生活随笔为你收集整理的定义跳转插件_虚幻插件Review:Logic Driver Pro 终极状态机插件的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。