UE5 蓝图计划 - Day 2-3:执行流与事件

embedded/2025/2/3 23:59:00/

在 Unreal Engine 5 的蓝图系统中,执行流(Execution Flow) 和 事件(Events) 是构建游戏逻辑的核心基础。通过执行流,蓝图可以按照特定的顺序运行节点逻辑;而事件则是蓝图的触发器,能够根据游戏中的特定条件调用执行流。在本篇中,我们将详细学习执行流与常用事件的概念,并通过实践任务巩固理解。

什么是执行流?

执行流是蓝图中用来控制节点执行顺序的连接线。每个蓝图逻辑通常从一个触发事件节点开始,沿着执行流依次运行。

执行流关键特点:

  1. 有方向性:执行流的箭头决定了蓝图逻辑的执行顺序。
  2. 串联节点:一个节点完成后,执行流会触发下一个节点。
  3. 分支逻辑:执行流可以通过条件节点(例如 Branch)实现多条路径的逻辑分支。

常用事件介绍

蓝图中的事件节点是逻辑的入口点,常见的事件包括:

  1. Event Begin Play
    游戏开始时触发,仅执行一次。常用于初始化逻辑
  2. Event Tick
    每帧都会触发,频率由帧率决定。常用于需要持续更新的逻辑。
  3. 输入事件(Input Events)
    响应玩家输入,例如按键、鼠标点击等。

实践任务1:打印游戏运行时间

我们将用执行流和事件节点实现一个功能,每秒打印当前游戏的运行时间。

步骤1:创建蓝图

  1. 在 Content Browser 中创建一个新的蓝图类(Blueprint Class),选择 Actor。(如果不知道怎么创建的可以看day1的课程)
    在这里插入图片描述

  2. 命名为 BP_GameTime,双击打开蓝图编辑器。
    在这里插入图片描述

步骤2:添加节点

  1. 双击创建的BP_GameTime,进入EventGraph,可以看到 Event Begin Play 节点。

    • 这是蓝图的入口点,游戏开始时触发。
      在这里插入图片描述
  2. 添加以下节点:

    • Delay 节点:设置延迟时间。
    • Print String 节点:打印文本到屏幕。
    • Get Game Time in Seconds 节点:获取当前游戏运行的秒数。
      在这里插入图片描述

步骤3:连接执行流

  1. 将 Event Begin Play 连接到 Delay 节点。
  2. 设置 Delay 节点的时间为 1.0,实现每秒触发一次。
  3. 将 Delay 的输出连接到 Print String 节点。
  4. 将 Get Game Time in Seconds 的输出值连接到 Print String 节点的 In String 输入端。
    在这里插入图片描述

步骤4:循环执行

从 PrintString 节点的输出连接回到Delay 节点的输入,实现循环。
在这里插入图片描述

步骤5:测试

  1. 将蓝图拖入场景中。
    在这里插入图片描述

  2. 点击 Play,观察屏幕是否每秒打印一次游戏运行时间。
    在这里插入图片描述

实践任务 2:实现简单条件分支

接下来,我们用执行流的分支逻辑(Branch Node)实现一个简单功能:当游戏时间超过 5 秒时,屏幕打印 “游戏运行超过 5 秒”。

步骤 1:修改蓝图

在任务 1 的基础上,添加以下节点:

  1. Branch 节点:用于执行条件判断。
  2. Greater than (>) 节点:用于比较游戏时间是否超过 5。
    在这里插入图片描述

步骤 2:连接逻辑

  1. 在 Get Game Time in Seconds 节点之后,添加 > 节点。
  2. 将游戏时间值连接到 > 节点的左侧上边的输入,左侧下方的0.0改成5.0。
  3. 将 > 节点的输出值(布尔类型)连接到 Branch 节点的条件输入。
  4. 将 Branch 的输出分别连接到两个 Print String 节点:
    • 如果条件为真,打印 “游戏运行超过 5 秒”。
    • 如果条件为假,打印当前时间。
      在这里插入图片描述

步骤 3:测试

  1. 点击 Play 运行游戏。
  2. 观察屏幕是否在 5 秒后切换打印内容。

在这里插入图片描述

注意事项

  • 延迟循环优化
    • Delay 节点适合简单逻辑,但对于高频执行建议使用 Event Tick 和计时器(Timer)实现,避免性能问题。
  • 调试技巧
    • 使用蓝图中的 Print String 打印信息,可以帮助快速定位问题。
    • 利用执行流上的 Debug 功能,实时查看节点的运行情况。

收获与总结

通过今天的学习,你已经掌握了:

  1. 执行流的基本概念及其连接方式。
  2. 常见事件节点(Event Begin Play、Event Tick)的使用。
  3. 条件分支逻辑的实现方式。

学习成果

你实现了两个实用的小功能:

  • 持续打印游戏运行时间。
  • 判断游戏时间并执行条件分支逻辑。

下一步学习计划

接下来的学习将深入 变量与函数,进一步提升蓝图逻辑的灵活性与可重用性。我们还将尝试创建自定义函数,封装复杂逻辑。

如果你对蓝图开发有任何问题,欢迎在评论区提问!记得分享你的学习成果哦!


http://www.ppmy.cn/embedded/159315.html

相关文章

局域网文件互传:手机与电脑的便捷传输利器

这是一款可在局域网内实现手机与电脑之间文件互传的软件,由吾爱作者y4h3z4精心开发。它是一款绿色单文件版软件,体积小巧,仅780K,无需安装,双击即可直接使用。 左上角“电脑根目录”可以选择需要传输到手机的文件夹。当…

第七篇:数据库备份与恢复

第七篇:数据库备份与恢复 目标读者: 本篇文章适合那些希望掌握数据库管理与数据安全的学习者,特别是开发人员、运维工程师、数据库管理员等。通过掌握数据库备份与恢复技术,能够确保数据的安全性和可靠性,并有效应对…

实战技巧:如何快速提高网站收录的多样性?

本文转自:百万收录网 原文链接:https://www.baiwanshoulu.com/54.html 快速提高网站收录的多样性是一个综合性的任务,需要从多个方面入手。以下是一些实战技巧,帮助你实现这一目标: 一、优化网站结构与内部链接 建立…

Node.js下载安装及环境配置

目录 一、下载 1. 查看电脑版本,下载对应的安装包 2. 下载路径下载 | Node.js 中文网 二、安装步骤 1. 双击安装包 2. 点击Next下一步 3. 选择安装路径 4. 这里我选择默认配置,继续Next下一步(大家按需选择) 5. 最后inst…

飞牛NAS新增虚拟机功能,如果使用虚拟机网卡直通安装ikuai软路由(如何解决OVS网桥绑定失败以及打开ovs后无法访问飞牛nas等问题)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 飞牛NAS虚拟机安装爱快教程 📒🛠️ 前期准备🌐 网络要求💾 下载爱快镜像🚀 开始安装💻 开启IOMMU直通🌐 配置网络🚨 解决OVS网桥绑定失败以及打开ovs后无法访问飞牛nas等问题➕ 创建虚拟机🎯 安装ikuai💻 进…

ARM内核:嵌入式时代的核心引擎

引言 在当今智能设备无处不在的时代,ARM(Advanced RISC Machines)处理器凭借其高性能、低功耗的特性,成为智能手机、物联网设备、汽车电子等领域的核心引擎。作为精简指令集(RISC)的典范,ARM核…

websocket实现聊天室应用,包括文字和图片上传_websocket onmessage怎么接收客户端的图片

可以看到,服务端使用的是PrintWriter,等于说是将 写在浏览器里面客户端代码: function changeNumber(num) { //服务端返回的字符串调用的方法 document.getElementById("number").innerHTML num; } 注意changeNumber(num)这个函…

哈夫曼树

哈夫曼树(Huffman Tree)是一种最优的二叉树,常用于数据压缩,如在 Huffman 编码中使用。它是根据字符出现的频率来构造的,频率越高的字符越靠近树的根,频率低的字符则在较深的节点上。其核心思想是通过构建一…