虚幻4蓝图节点的连接方式注意事项

虚幻4蓝图节点的连接方式注意事项

在虚幻引擎4的官方文档行为树快速入门指南中,有一部分是用行为树控制AI的巡逻,在AI没有发现玩家时会进入巡逻状态,在巡逻状态下会随机生成一个可以到达的点,然后让AI走向那个点。我在跟着做的时候加了一个Draw Debug Sphere节点,即在生成的那个点绘制一个调试球,结果我发现AI在移动时并没有走到调试球的位置,然后发现了节点的连接有一些问题,在此写下来分享给大家

注意事项

(1)假设有如图1所示的连接方式,node1和node2的执行都需要node3节点执行的结果Return Value作为输入,则node3实际上会执行两次,即执行到node1时会执行node3,执行到node2时会再执行一次node3而非使用上次计算的结果,当node3的Return Value为随机值时,就可能会出错,因为node1和node2的输入可能并不相同。
图1
图1
(2)若要保证输入到node1和node2的值相同,同时避免不必要的重复运算,则应将Return Value提升为变量,将图表连接方式改成如图2所示。
在这里插入图片描述
图2

不同连接方式的效果

在一开始所述的基础上,我又加了一个Draw Debug Sphere节点,给大家直观的查看两种连接方式的区别,图3是按照上面第一种方法连接后的结果,可以看到绘制的两个球并不在同一处,AI也没有朝两个球体的方向走。
在这里插入图片描述
图3
图4显示了按照上述第二种连接方式连接的结果,可以看到两个调试球生成在了同一处,AI也正朝着它们的方向走。
在这里插入图片描述
图4

总结

大家应该可以明显看出两种连接方式的区别,在遇到类似的情况时要妥善考虑一下,若按上述的第一种方式连接,虽然方便易读,但却会做重复计算,有的时候可能还会出现错误。也可以看出同样的逻辑如果用C++实现的话,性能也会比蓝图高许多,希望这篇文章能够对大家有所帮助。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值