UE4蓝图之函数、事件、宏的区别

这篇具有很好参考价值的文章主要介绍了UE4蓝图之函数、事件、宏的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

语法区别

执行引脚的区别:
  • 函数允许有一个执行引脚和一个输出引脚
  • 事件只允许有一个执行引脚
  • 宏允许有多个执行引脚和读个输出引脚
返回值

函数和宏允许有返回值,而事件没有返回值

需要注意的是:
函数可以有返回值也可以没有,如果我们不给函数设置任何返回值时,我们调用函数的地方会出现事件的标识(箭头)而不是函数的标识(f),如下图所示
UE4蓝图之函数、事件、宏的区别
无返回值的函数系统会当作一个事件来进行的。同样的,子类重载父类的无返回值函数后,也会当作事件来进行的。这可以说是UE4的BUG,也可以理解为特性处理,具体为何有待更深一个的研究。

延迟节点

事件和宏中可以使用UE4提供的延迟节点,函数不可以。
有部分节点是某个功能特有的,不止延迟节点,TimeLine节点只可以在事件中使用也是一个例子。

访问范围
  • 函数和事件可以跨蓝图类访问,而宏只可以作为在定义的蓝图类内访问
  • 函数可以被继承,而宏不可以被继承,子类无法使用父类的宏
  • 宏库可以跨蓝图类访问

逻辑区别

函数和宏的调用是同步执行,需要等待函数或宏内部逻辑执行完毕才进行接下来的逻辑
事件是异步执行,触发事件的地方无需关心事件内部的逻辑,只需要触发事件即可执行接下来的逻辑。

原因:因为函数或宏有返回值,调用函数或宏的后续逻辑可能与返回值有关联,所以需要等待它们调用结束方可继续接下来的逻辑;而事件无返回值,事件内部的逻辑与调用地方的逻辑没有任何关联,所以无需等待事件执行完毕即可执行接下来的逻辑,只需要在调用事件的时候发射事件即可。文章来源地址https://www.toymoban.com/news/detail-417827.html

到了这里,关于UE4蓝图之函数、事件、宏的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • UE4 控件蓝图与蓝图的交互

    我现在想实现的是点击场景中的一个蓝图中的某个静态网格体,然后在控件蓝图中的文本控件中就能显示这个被点击的静态网格体的名称。 首先我在控件蓝图中对其中的一个文本控件创建了一个绑定函数 绑定函数的逻辑如下: “整车 内部无系统”是我添加的一个变量,该变

    2024年02月11日
    浏览(41)
  • 【UE4】物理引擎(蓝图)

    物理引擎通过为刚性物体赋予真实的物理属性的方式来计算 运动、旋转和碰撞反映。 游戏引擎中的物理引擎的主要目的是为了解决物体在空间的状态信息。 常规的物理引擎遵循物理定律,按照给定的算法,进行模拟物理运动。所以在没有多元因素影响的情况下,物理引擎的

    2023年04月11日
    浏览(59)
  • 【UE4】TimeLine(蓝图)

    虚幻中的数据时间轴计数器,作用是将时间和数据进行组合,使得数据随着时间的改变发生变化。 可以将TimeLine理解为一个直角坐标系,横轴为时间,纵轴为数据。 输入针脚: Play :启动此时间轴 Play from Start :从开始的时候启动此时间轴 Stop :结束 Reverse :反方向走时间轴

    2023年04月24日
    浏览(57)
  • UE4/5C++多线程插件制作(十八、Graph线程封装,以及宏的设置)

    目录 ​​​​​​​ 什么是Graph线程? MTPThreadGraphManage.h MTPThreadInterface.h MTPThreadGraphManage.h MTPManage.cpp

    2024年02月16日
    浏览(40)
  • UE4 蓝图通信:接口调用

    UE4学习心得:蓝图间信息通信的几种方法 UE4的接口调用技术有点简单粗暴,而且主要体现在主蓝图对子蓝图的信息通信。 在内容浏览器中添加一个蓝图接口,命名为TestInterface  双击打开接口,直接使用其创建时自带的一个接口函数,将其重命名为TestAddOffset (这里相当于接

    2024年02月11日
    浏览(45)
  • 【UE4】流程控制节点(蓝图)

    找节点的方法:蓝图中右键-工具-流程控制 Sequence(序列,控制流程执行顺序) DoOnce(控制执行次数为一次,reset重置之后才能再执行) Do N(执行N次,N次执行完后,reset重置之后才能再执行,counter记录当前执 行的次数,可以用来做枪械的弹夹) Do once MultiInput(多个输入,

    2024年02月17日
    浏览(59)
  • UE4蓝图导入导出csv

    表头 csv表格结构,第一列‘’行命名‘’为ue默认结构,需要自己添加,第二列及以后为自定义表头 选择第二步建的表,重新导入 输出行即为表中一行数据的每一列,在表头复杂时,有多个输出行; 主要是字符串的拼接操作 totalStr为总的需要导出的数据拼接字符串。需要默

    2024年02月16日
    浏览(63)
  • UE4使用蓝图材质改变颜色

    1.点击场景中的物体,找到他的材质,点击放大镜找到材质的位置并进入。 2.找到材质的父亲,并进入。  3.该变材质的颜色只要改变材质的Base Color就行。创建一个MaterialParameterCollection 添加一个vector paramter,并给它命名保存。  拖动它进入材质的父亲,点击它修改左边的par

    2024年02月12日
    浏览(57)
  • UE4蓝图节点不同颜色代表

    UE4蓝图节点不同颜色代表 参考文章介绍:https://michaeljcole.github.io/wiki.unrealengine.com/Blueprint_Fundamentals/ A green node is usually associated with Get[Something]. 绿色节点通常与Get【something】相关联 。有时候也与construct相关联。 A blue node is usually a function/event (see different icon used) node where you do

    2024年02月06日
    浏览(68)
  • 【UE4】在控件蓝图上播放视频

    UE版本:4.26 在上一篇文章中(【UE】场景内播放视频、音频)介绍了如何在场景中播放视频,本篇文章将介绍如何在UI上播放视频 1. 首先在“Content”文件夹中新建一个名为“Movies”的文件夹 2. 在文件夹中随便添加一个.mp4格式的视频 3. 新建一个“文件媒体源”    这里命名为

    2024年02月02日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包