虚幻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
(2)若要保证输入到node1和node2的值相同,同时避免不必要的重复运算,则应将Return Value提升为变量,将图表连接方式改成如图2所示。

图2

不同连接方式的效果

在一开始所述的基础上,我又加了一个Draw Debug Sphere节点,给大家直观的查看两种连接方式的区别,图3是按照上面第一种方法连接后的结果,可以看到绘制的两个球并不在同一处,AI也没有朝两个球体的方向走。

图3
图4显示了按照上述第二种连接方式连接的结果,可以看到两个调试球生成在了同一处,AI也正朝着它们的方向走。

图4

总结

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

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

  1. ue4 怎么传递变量到另一个蓝图_资深建模教你放置UE4蓝图节点,所以你就不要偷懒啦,认真点学...

    蓝图是UE4的一大特色,蓝图节点作为UE4学习的一个重要知识点,一直被很多人所重视.那你知道UE4是怎么放置蓝图节点的呢? 放置蓝图节点 在"图形模式"下,有几种方法可以放置节点. ...

  2. 虚幻蓝图节点 set Global Time Dilation

    虚幻蓝图节点 set Global Time Dilation,可以设置场景的时间流速. 如图,时间流速设置为0.2,则为正常时间流速的五分之一,可以用来制作类似子弹时间,林克时间,超算空间等等功能.

  3. 虚幻4退出游戏蓝图节点

    菜单点击退出游戏蓝图节点

  4. ue4蓝图节点手册中文_UE4蓝图解析(一)

    简介 蓝图是一类特殊的asset,可以使用直观.基于节点的方式创建逻辑,或者设置一些变量数据.策划可以创建自定义的Actor.Event.函数等等,快速的做Gameplay迭代,不需要写任何代码. 蓝 ...

  5. 虚幻4: 蓝图入门与进阶

    有幸受邀为中国传媒大学动画学院的同学们讲授虚幻4蓝图相关的知识.这次的课程面向的同学是有一定编程基础,但是对虚幻4没有太多接触的同学. 内容方面是从蓝图的基本概念讲起,然后涉及到蓝图通信等进阶话题.围 ...

  6. 深入Unreal蓝图开发:自定义蓝图节点(上)

    在前面一篇文章中介绍了扩展蓝图的几种方法,其中最灵活的就是自定义K2Node了,也就是通过定义一个class UK2Node的派生类来给蓝图添加新的节点.这种方法开发起来一起是最麻烦的,一般只有在需要 ...

  7. 【学习笔记】Unreal Engine 4 虚幻引擎蓝图中级教程物理碰撞教程

    教程链接:Unreal Engine 4 虚幻引擎蓝图中级教程物理碰撞 想共享的小伙伴可以E-mail我:lxbcolorgalaxy@qq.com 目录 第一章 常见的物理现象及分析 1蓝图模板中的 ...

  8. ue4 曲线图实现 蓝图_UE4虚幻引擎蓝图制作自动开关门(超详细图文教程

    原标题:UE4虚幻引擎蓝图制作自动开关门(超详细图文教程 自己花费了一天多的时间来编写和整理这篇图文教程,相信看了后能轻松学会使用蓝图制作会自动开关的单开门的,大家可以举一反三,尝试使用蓝图制做双开关 ...

  9. UE4材质、蓝图节点及用法笔记

    本文章作为博主本人学习和记录UE4材质节点使用,并与大家交流分享,不定期更新. 目录 材质基础节点 Saturate DepthFade Frac BlendMaterialAttributes Cu ...

最新文章

  1. 微服务架构之「 配置中心 」
  2. 强烈推荐10个新媒体运营必备工具,极大提高工作效率
  3. 数组方法深入扩展(遍历forEach,filter,reduce等)
  4. 设置CentOS 6.6系统默认的语言为中文
  5. scala模式匹配match操作
  6. nfs数据同步备份:多节点nfs共享(mount)server节点数据
  7. pythonsuper多重继承_Python多重继承引发的问题——牛逼的super
  8. 底层实现_Redis有序集合zset的底层实现
  9. java 正则表达式使用_如何用正则表达式杀死Java
  10. 5G时代,怎样的数据库才能满足金融领域快速发展的需求?
  11. CentOS 5/6下安装Axel插件加速yum下载
  12. 吴恩达深度学习笔记 3.1~3.11 浅层神经网络
  13. C#的排序算法以及随机产生不重复数字的几个Demo
  14. c++实现双向链表的常用功能
  15. 96微信编辑器服务器老是连不上,96微信编辑器出现文章排版混乱的详细原因介绍...
  16. 【数据技术】关于HP Vertica MPP列式数据库资源池设置的一点心得
  17. opencv 编程总结与备忘
  18. MYSQL数据库 增删改查基础语句
  19. 实名报名超5000人!RTE2022即将开幕,声网发布RTE行业首本专业书《实时万象》
  20. 常用软件------系统必备软件

热门文章

  1. Android SO Inject
  2. 基于线程局部存储技术的多通道数控系统仿真[图]
  3. RFID车辆管理系统
  4. #千锋逆战班,ssf# 在千锋“逆战”学习第 21天, 每个人生阶段都需要努力去扮好自己的角色,越努力越轻松,越坚强越幸运! 加油
  5. 计算机考研公众号分享
  6. 智能手表全国产化电子元件推荐方案
  7. Python量化交易之类详解
  8. 数据库sql语句查询选修了全部课程的学生姓名。
  9. 计算机网络(自顶向下学习笔记)---网络层之控制平面
  10. MySQL安装和配置超详细