Unreal Engine 5 基础:蓝图与关卡设计

FreeGuideOnline 最新 2026-06-17

Unreal Engine 5 基础:蓝图与关卡设计

本教程面向完全零基础的初学者,将从零开始带你了解 Unreal Engine 5(UE5)的核心界面,并逐步掌握蓝图(Blueprint)可视化脚本和关卡(Level)设计的基本流程。完成本教程后,你将能够独立搭建一个可交互的游戏场景。

1. 下载与安装

1.1 获取 Epic Games Launcher

  • 访问 Unreal Engine 官网,下载 Epic Games Launcher。
  • 安装并登录你的 Epic Games 账号。

1.2 安装 Unreal Engine 5

  • 在启动器中进入“虚幻引擎” —— “库”。
  • 点击引擎版本旁的“+”号,选择最新版 UE5(如5.3)。
  • 在安装选项中勾选“核心组件”和“初学者内容包”(包含大量免费资产,强烈推荐)。点击安装,等待下载完成(约30-60GB)。

2. 创建第一个项目

2.1 新建项目

  • 启动 UE5,在项目浏览器中选择“游戏”模板分类。
  • 选择“第三人称”模板(自带角色与动画,易于上手)。
  • 项目设置:
    • 蓝图(Blueprint)作为项目类型。
    • 目标平台:桌面。
    • 质量预设:最大。
    • 勾选“初学者内容包”。
  • 为项目命名(如 MyFirstGame),选择存储位置,点击“创建”。

2.2 编辑器界面速览

项目打开后,你将看到由多个面板组成的主界面:

  • 视口(Viewport):中央的 3D 视图,用于观察和编辑世界。
  • 世界大纲(World Outliner):列出当前关卡中的所有对象。
  • 细节面板(Details):显示选中对象的属性。
  • 内容浏览器(Content Browser):管理项目中的资产(模型、材质、蓝图等)。
  • 模式(Modes):提供地形、植被等编辑工具。

你可以通过“窗口”菜单重新布局丢失的面板。

3. 关卡设计基础

关卡(Level)是游戏世界的一个场景。我们将通过放置和修改 Actor(场景中的所有物体)来构建一个简单的关卡。

3.1 了解 Actor

在 UE5 中,所有放在关卡里的物体都称为 Actor。包括:

  • 静态网格体(Static Mesh):如石头、墙壁。
  • 光源(Light):如点光源、定向光源。
  • 触发器(Trigger Box):不可见的区域,用来触发事件。
  • 玩家出生点(Player Start):定义玩家进入游戏时的位置。

3.2 放置与变换 Actor

  • 从内容浏览器拖拽 Static Mesh(例如 SM_Cube)到视口中。
  • 选中物体后,使用变换工具:
    • W:移动(平移)
    • E:旋转
    • R:缩放
  • 在细节面板中可以精确调整位置、旋转、缩放数值。

3.3 搭建简单场景

我们拼凑出一个由平台和光源构成的小型训练场:

  1. StarterContent/Props 中拖入多个 SM_Platform 或立方体,摆成高低不同的平台。
  2. 放置一个定向光源(Light Source → Directional Light)模拟太阳,调整角度。
  3. 放置天空大气(视觉效果 → 天空大气)使天空更真实。
  4. 在场景中保存:按 Ctrl+S 保存当前关卡。

3.4 玩家起始位置

第三人称模板已默认包含 PlayerStart,通常位于角色旁边。在细节面板中可以修改其位置,定义玩家从哪里开始游戏。

4. 蓝图可视化脚本入门

蓝图是 UE5 的可视化编程系统,通过连接节点来代替编写 C++ 代码。我们将为关卡添加简单交互。

4.1 创建第一个 Blueprint Actor

我们将创建一个触碰后会变色的方块。

  1. 在内容浏览器中右键 → 蓝图类 → 选择父类 Actor(最基础的空白类)。
  2. 命名蓝图类为 BP_InteractiveCube
  3. 双击打开蓝图编辑器。

4.2 蓝图编辑器主要区域

  • 视口:预览和编辑组件。
  • 组件列表:可以添加如静态网格体、碰撞体等组件。
  • 事件图表(Event Graph):放置节点实现逻辑。
  • 细节面板:显示选中节点的属性。

4.3 添加组件

BP_InteractiveCube 的组件面板中:

  • 点击“添加组件” → 静态网格体,重命名为 CubeMesh
  • 在细节面板为其分配一个网格体(如 SM_Cube)。
  • 调整缩放使物体大小合适。
  • 选中 CubeMesh,在细节面板“碰撞”设置中确保“生成重叠事件”已勾选。

4.4 编写触碰变色逻辑

在事件图表中右键生成以下节点:

  1. 事件 ActorBeginOverlap(在组件列表选中 CubeMesh 后右键添加)。
  2. Other Actor 引脚拖出 → 搜索 Cast To ThirdPersonCharacter(角色类,检测是否是玩家触碰)。
  3. Cast 节点的 As Third Person Character 引脚拖出 → Set Material 节点(用于改变材质)。
  4. 在内容浏览器 StarterContent/Materials 中创建一个材质实例(如红色材质),并将其拖入 Set Material 节点的 New Material 输入引脚。
  5. 连接流程如下:
    • ActorBeginOverlapCast To ThirdPersonCharacter ( Exec 连接 )
    • Cast To ThirdPersonCharacterObject 连接 Other Actor
    • Cast To ThirdPersonCharacterExec 输出 → Set MaterialExec 输入
    • Set MaterialTarget 应指向 CubeMesh 组件引用(从组件列表中拖入 CubeMesh 到图表即可得到引用)。
  6. 编译并保存蓝图。

4.5 测试交互

  • 将这个 BP_InteractiveCube 从内容浏览器拖放到关卡中。
  • 点击工具栏的“运行”按钮进行游戏测试。
  • 控制角色走上该方块,方块应变为红色材质,表示交互成功。

5. 添加触发音量与事件

除了直接触碰物体,我们还可以使用独立的触发器来控制关卡变化。

5.1 创建触发器

  • 在内容浏览器空白处右键 → 蓝图类 → 选择 Actor
  • 命名为 BP_GameChanger,双击打开。
  • 在组件列表中删除默认的根组件(如果有),添加一个 盒体碰撞 组件作为新根组件,并调整其尺寸(如 200x200x200)。
  • 确保该碰撞组件的“生成重叠事件”已勾选,碰撞预设通常设为“Trigger”。

5.2 编写踩踏后生成物体

  1. 在事件图表中添加 ActorBeginOverlap 事件(基于盒体碰撞组件)。
  2. Other Actor 拖出 Cast To ThirdPersonCharacter
  3. Cast 成功引脚拖出 Spawn Actor From Class 节点。
  4. Class 下拉中选择一个 Actor 作为生成物,例如 BP_InteractiveCube 或任意道具。
  5. 拆分 Spawn ActorSpawn Transform,提供位置信息。可以从盒体碰撞组件获得位置:拖入碰撞组件引用 → Get World Location,然后用这个向量作为生成位置。
  6. 连接好执行流,确保只有玩家进入时才触发。
  7. 编译保存。将 BP_GameChanger 放入关卡测试:当玩家走到盒体区域时,会生成一个物体。

6. 使用蓝图设计基本用户界面(UI)

我们将在关卡中显示一个简单的提示文字,当角色进入某个区域时显示。

6.1 创建 Widget 蓝图

  • 在内容浏览器右键 → 用户界面 → 控件蓝图。
  • 命名为 WBP_HintText,双击打开。
  • 在画布面板中拖入一个 Text Block,设置文字为“你发现了一个秘密区域!”,调整字体大小和颜色。
  • 在图表中不需要额外逻辑,保存即可。

6.2 在关卡蓝图控制 UI 显示

我们希望玩家进入一个特定区域时屏幕显示该UI。使用前面创建的触发器来实现。

  • 打开 关卡蓝图(工具栏 → 蓝图 → 打开关卡蓝图)。
  • 在事件图表中右键 → 添加对 BP_GameChanger 的引用(从世界大纲拖入蓝图实例)。
  • 为它绑定 OnActorBeginOverlap 事件(可从大纲拖入后搜索)。
  • 执行流程:OnActorBeginOverlapCast To ThirdPersonCharacter
  • 成功时 → Create Widget 节点,选择 WBP_HintText
  • 接着 → Add to Viewport 节点,显示该 Widget。
  • 编译并测试:进入触发器区域应该看到文字出现。

7. 打包与交付

7.1 基本打包设置

  • 点击主菜单“编辑” → “项目设置” → “地图和模式”,将默认地图设为你的关卡。
  • 选择“文件” → “打包项目” → “Windows (64-bit)”,选择输出文件夹。
  • 等待打包完成,即可得到一个独立的可执行游戏文件,分享给他人运行。

8. 下一步学习建议

  • 深入学习蓝图:变量、分支、循环、数组等。
  • 使用世界分区(World Partition)构建大型开放世界。
  • 掌握材质编辑器,创建更丰富的视觉效果。
  • 学习动画蓝图,控制角色动作。

现在你已经跨入 Unreal Engine 5 的大门,开始动手搭建属于你自己的互动世界吧!