虚幻插件: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支持子状态机并且所有的状态机类/状态类/过渡类都可以定义在独立的蓝图中,从而重复使用。状态间不仅支持条件式转移也支持事件式转移。总之非常的灵活,是老王心目中理想的状态机的样子。

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

状态机

在这里插入图片描述

Node Class

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

在这里插入图片描述

使用范例

一个Actor有三个状态State_AState_BState_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节点获取上下文

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

小结

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

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开发游戏的老王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值