返回 导航

UE5

hangge.com

UE5 - 创建自定义函数、宏教程(附:函数与宏区别)

作者:hangge | 2025-07-31 08:46
    在虚幻引擎 5Unreal Engine 5)中,蓝图(Blueprint)系统是强大且直观的可视化脚本工具。合理地使用自定义事件(Custom Event)、函数(Function)和宏(Macro)可以极大地提高蓝图逻辑的可读性、可维护性和复用性。本文将通过样例演示这二者的区别和使用。

1,函数与宏区别

(1)输入/输出
  • 函数:支持多种类型的输入参数,且同时支持返回值(Return Value)。
  • 宏:支持输入参数;但无返回值,输出只能通过执行输出(Exec Pin)或自定义输出引脚。
(2)执行引脚
  • 函数:单一入口/出口
  • 宏:支持多个输入/输出执行引脚
(3)Delay 延迟节点
  • 函数:不能使用延迟节点
  • 宏:可以使用延迟节点
(4)局部变量
  • 函数:支持局部变量(Local Variable),在函数内部可创建任意中间变量。
  • 宏:不支持真正的局部变量,只能通过输入输出模拟临时变量。
(5)执行上下文
  • 函数:会新建一个执行上下文(Isolation),局部变量仅在函数内部有效。
  • 宏:不会新建执行上下文,会将宏内部节点“内联”到调用处。
(6)性能开销
  • 函数相:对有小量函数调用开销(但常量优化后性能损失可忽略)。
  • 宏:由于内联,调用开销几乎为零;但节点数量可能变多,影响可读性。
(7)调试与跟踪
  • 函数:调试时会显示函数的调用栈,便于追踪;且函数内部断点更易定位。
  • 宏:调试时需要手动在展开后的调用链上设置断点,略显繁琐。
(8)是否可由另一个蓝图调用

2,函数的创建与使用

(1)在“我的蓝图”面板的“函数”卷展栏中单击右侧的加号按钮,创建一个新的函数并命名为“ComputeDamage”。

(2)双击打开函数有,在右侧“细节”面板中添加输入和输出参数:

(3)该函数内的逻辑如下:

(4)最后使用这个函数测试一下:
  • 运行结果如下:

(5)默认创建的函数是非纯函数,它们二者区别是纯函数没有白色执行引脚,只有在调用输出值时才会运行函数。要将函数转换为纯函数,只需选中函数后在“细节”面板中勾选“纯函数”选项即可。
  • 可以看到函数节点的执行引脚消失了。

3,宏的创建和使用

(1)在“我的蓝图”面板的“”卷展栏中单击右侧的加号按钮,创建一个新的宏并命名为“ScoreCheck”。

(2)接着我们在“细节”面板中添加白色输入和输出引脚:
  • 输入:有一个名为分数(Score) 的整数数据输入参数,一个名为测试(Test)的输入执行引脚
  • 输出:有两个名为 Win 和 Lose 的输出执行引脚。

(3)该宏内部的逻辑如下:

(4)最后使用这个宏测试一下:
  • 运行结果如下:
评论

全部评论(0)

回到顶部