创建宏

用宏来判定玩家是否有足够的能量来跳跃。

Choose your operating system:

Windows

macOS

Linux

本页面的内容

本质上来说,宏(Macro) 和未展开的节点原理相同。他们都有通道节点设计的进入点和离开点。每个通道可拥有任意数量的执行或数据引脚。在其他蓝图和图表上使用时,这些引脚在宏节点上均为可见。

创建宏

在本例中,我们将创建一个 宏(Macro),用于检查确定玩家角色是否拥有足够能量执行跳跃。如能量足够,将扣除相应能量值,显示当前数值到屏幕上,然后允许玩家执行跳跃。如能量不足,屏幕上将显示玩家能量不足,无法跳跃。

在此实例中,我们使用的是启用了 初学者内容(Starter Content)Blueprint Third Person 项目。

  1. Content/ThirdPersonBP/Blueprints 文件夹中,打开 ThirdPersonCharacter 蓝图。

  2. 我的蓝图(My Blueprint) 窗口中点击 添加宏(Add Macro) 按钮。

    MacroHT1.png

  3. 这将创建一个新的宏,选中后按 F2 键将其重命名为 EnergyCheck

    MacroHT2.png

  4. 选中宏后,在 细节(Details) 面板中点击 新建(New) 按钮创建一个输入和两个输出。

    MacroHT3.png

    此操作将在宏节点上创建输入/输出节点,可用于向宏传输数据(或从宏传输数据)。

  5. 在文本框中为 输入(Input) 节点设置名称 BeginCheck,然后将类型改为 Exec(可执行引脚)。

  6. 将两个 输出(Output) 节点类型设为 Exec,并将一个命名为 HasEnergy,另一个命名为 NoEnergy

    MacroHT4.png

    在输入节点上,使用一个名为 BeginCheck 的执行引脚开始宏。我们将创建脚本来检查玩家是否拥有足够能量执行跳跃(如是,则将其与 HasEnergy 引脚连接起来)。如玩家无足够能量,则将其与 NoEnergy 引脚连接起来。执行宏时,HasEnergy 引脚将填充 Jump 指令,而 NoEnergy 引脚则不会。

  7. 我的蓝图(My Blueprint) 窗口中点击 添加变量(Add Variable) 按钮。

    AddVariableButton.png

  8. 将变量命名为 Energy 并将其类型改为浮点型,点击工具栏上的 编译(Compile),将值设为 100

    MacroHT5.png

    现在便为玩家的能量(初始值为 100)设置了一个变量。

  9. 输入(Inputs) 旁的图表中,按住 B 键并 单击左键 创建一个 分支(Branch) 节点。

  10. 按住 Ctrl 键从 我的蓝图(My Blueprint) 窗口将 Energy 拖入图表并连接到一个 > 节点,然后再连接到 分支(Branch)

    MacroHT6.png

    在此我们使用分支来确定能量是否大于零。如是,执行 True;如否,执行 False

  11. 按住 Alt 键拖入 Energy 变量来添加一个 设置(Set) 节点。

  12. 再次按住 Ctrl 键拖入 Energy 并连接到一个 - 节点,将值设为 10,然后插入 设置(Set) 节点。

    MacroHT7.png

    该脚本意味着能量大于零时,将从当前能量值中减去 10。

  13. 在图表中 单击右键 添加一个 输出字符串(Print String) 节点,然后将 Energy 连接到 In String 引脚。

    MacroHT8.png

    这将添加一个 转换(Conversion) 节点,它会把能量值转换为字符串显示在屏幕上。

  14. 分支(Branch) 节点的 False 引脚附近,添加一个 输出字符串(Print String) 并在框中输入文本 Out of Energy!

  15. 将两个 输出字符串(Print String) 节点分别连接到 HasEnergyNoEnergy 引脚。

    MacroHT9.png

    现在宏已经设置好,可以检查 Energy 变量(并且在特定情况下从该变量减去数值),确定玩家是否拥有足够能量,并且文字输出玩家是否可以执行跳跃。现在,我们需要在按下 "跳跃" 键之后,在跳跃动作执行之前应用宏。

  16. 事件图表(EventGraph) 上,拖动 InputAction Jump 节点的 Pressed 引脚并找到 EnergyCheck

    MacroHT10.png

    可以看到创建的宏列于 Utilities 下,宏图标旁是它的名称。

  17. 添加宏之后,Jump脚本的外观与下图相似。

    MacroHT11.png

  18. 点击 编译(Compile)保存(Save) 按钮,然后关闭蓝图。

  19. 在主工具栏中点击 播放(Play) 按钮即可在编辑器中进行播放。

    按下 空格键 执行跳跃时,在屏幕左上角可看到 能量(Energy) 的值。当 能量(Energy) 为零时,无法执行跳跃。

    这是使用宏将脚本执行并合并为一个单独节点、改善事件图表和主要角色脚本易读性的基本示例。除此之外,还可在其他情况下调用这个宏:比如其它消耗玩家能量的动作,需要确定玩家是否有能量执行此操作(如攻击)。按下攻击键,运行这个宏确认玩家是否有足够的能量执行攻击,然后在 HasEnergy 执行引脚后执行攻击操作。

本文基于此前的虚幻引擎版本编写,未针对当前的虚幻引擎5.0版本更新过。