当前位置: 首页 > article >正文

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

在 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.kler.cn/a/529543.html

相关文章:

  • 【Git】初识Git Git基本操作详解
  • DIFY源码解析
  • LeetCode 0040.组合总和 II:回溯 + 剪枝
  • DiffuEraser: 一种基于扩散模型的视频修复技术
  • 神经网络的数据流动过程(张量的转换和输出)
  • 【回溯+剪枝】组合问题!
  • 大模型能力评估数据集都有哪些?
  • 贪吃蛇实现
  • SpringBoot的配置(配置文件、加载顺序、配置原理)
  • UE5 蓝图学习计划 - Day 11:材质与特效
  • 大模型训练(5):Zero Redundancy Optimizer(ZeRO零冗余优化器)
  • 操作系统和中间件的信息收集
  • 踏入编程世界的第一个博客
  • 在 Ubuntu 中使用 Conda 创建和管理虚拟环境
  • 使用朴素贝叶斯对散点数据进行分类
  • 5分钟在本地PC上使用VLLM快速启动DeepSeek-R1-Distill-Qwen-32B
  • Github 2025-02-02 php开源项目日报 Top10
  • Windows程序设计11:文件的查找与遍历
  • PyTorch数据建模
  • 【Leetcode 热题 100】5. 最长回文子串
  • 91,【7】 攻防世界 web fileclude
  • 【深度解析】DeepSeek-R1的五大隐藏提示词
  • LeetCode 15.三数之和
  • 保姆级教程:利用Ollama与Open-WebUI本地部署 DeedSeek-R1大模型
  • C++11—右值引用
  • AI技术在SEO关键词优化中的应用策略与前景展望