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

server/2025/2/3 7:27:01/

在 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/server/164553.html

相关文章

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.6 广播机制核心算法:维度扩展的数学建模

2.6 广播机制核心算法:维度扩展的数学建模 目录/提纲 #mermaid-svg-IfELXmhcsdH1tW69 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-IfELXmhcsdH1tW69 .error-icon{fill:#552222;}#mermaid-svg-IfELXm…

KNIME:开源 AI 数据科学

KNIME(Konstanz Information Miner)是一款开源且功能强大的数据科学平台,由德国康斯坦茨大学的软件工程师团队开发,自2004年推出以来,广泛应用于数据分析、数据挖掘、机器学习和可视化等领域。以下是对KNIME的深度介绍…

Flask框架基础入门教程_ezflaskapp

pip install flaskFlask 快速入门小应用 学东西,得先知道我们用这个东西,能做出来一个什么东西。 一个最小的基于flask 的应用可能看上去像下面这个样子: from flask import Flask app Flask(__name__)app.route(/) def hello_world():ret…

【高级篇 / IPv6】(7.6) ❀ 03. 宽带IPv6 - ADSL拨号宽带上网配置 ❀ FortiGate 防火墙

【简介】大部分ADSL拨号宽带都支持IPv6,这里以ADSL拨号宽带为例,演示在FortiGate防火墙上的配置方法。 准备工作 同上篇文章一样,为了兼顾不熟悉FortiGate防火墙的朋友,我们从基础操作进行演示,熟练的朋友可以跳过这一…

Kanass快速安装配置教程(入门级)

Kanass是一款国产开源免费的项目管理工具,工具简洁易用、开源免费,本文将介绍如何快速安装配置kanass,以快速上手。 1、快速安装 1.1 Linux 安装 点击官网 -> 演示与下载 ->下载,下载Linux安装包,…

【黄啊码】DeepSeek提示词大道至简版

1.1 有效提问的五个黄金法 法则一:明确需求 错误示例: Γ帮我写点东西」 正确姿势: Γ我需要一封求职邮件,应聘新媒体运营岗位,强调B年公众号运营经验 法则二:提供背景 错误示例 : Γ分析这个…

WSL2中安装的ubuntu开启与关闭探讨

1. PC开机后,查询wsl状态 在cmd或者powersell中输入 wsl -l -vNAME STATE VERSION * Ubuntu Stopped 22. 从windows访问WSL2 wsl -l -vNAME STATE VERSION * Ubuntu Stopped 23. 在ubuntu中打开一个工作区后…

Python数据分析-Python语法基础,IPython和Jupyter-Notebooks(二)

title: ‘Python数据分析:Python语法基础,IPython和Jupyter Notebooks(二)’ tags: python数据分析 categories:python数据分析 keywords:python数据分析 cover: …/img/404_icecream_whale.png description: 本文介绍python的基础语法和jup…