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 搭建简单场景
我们拼凑出一个由平台和光源构成的小型训练场:
- 从
StarterContent/Props中拖入多个SM_Platform或立方体,摆成高低不同的平台。 - 放置一个定向光源(Light Source → Directional Light)模拟太阳,调整角度。
- 放置天空大气(视觉效果 → 天空大气)使天空更真实。
- 在场景中保存:按
Ctrl+S保存当前关卡。
3.4 玩家起始位置
第三人称模板已默认包含 PlayerStart,通常位于角色旁边。在细节面板中可以修改其位置,定义玩家从哪里开始游戏。
4. 蓝图可视化脚本入门
蓝图是 UE5 的可视化编程系统,通过连接节点来代替编写 C++ 代码。我们将为关卡添加简单交互。
4.1 创建第一个 Blueprint Actor
我们将创建一个触碰后会变色的方块。
- 在内容浏览器中右键 → 蓝图类 → 选择父类
Actor(最基础的空白类)。 - 命名蓝图类为
BP_InteractiveCube。 - 双击打开蓝图编辑器。
4.2 蓝图编辑器主要区域
- 视口:预览和编辑组件。
- 组件列表:可以添加如静态网格体、碰撞体等组件。
- 事件图表(Event Graph):放置节点实现逻辑。
- 细节面板:显示选中节点的属性。
4.3 添加组件
在 BP_InteractiveCube 的组件面板中:
- 点击“添加组件” → 静态网格体,重命名为
CubeMesh。 - 在细节面板为其分配一个网格体(如
SM_Cube)。 - 调整缩放使物体大小合适。
- 选中
CubeMesh,在细节面板“碰撞”设置中确保“生成重叠事件”已勾选。
4.4 编写触碰变色逻辑
在事件图表中右键生成以下节点:
- 事件 ActorBeginOverlap(在组件列表选中
CubeMesh后右键添加)。 - 从
Other Actor引脚拖出 → 搜索Cast To ThirdPersonCharacter(角色类,检测是否是玩家触碰)。 - 从
Cast节点的As Third Person Character引脚拖出 →Set Material节点(用于改变材质)。 - 在内容浏览器
StarterContent/Materials中创建一个材质实例(如红色材质),并将其拖入Set Material节点的New Material输入引脚。 - 连接流程如下:
ActorBeginOverlap→Cast To ThirdPersonCharacter( Exec 连接 )Cast To ThirdPersonCharacter的Object连接Other ActorCast To ThirdPersonCharacter的Exec输出 →Set Material的Exec输入Set Material的Target应指向CubeMesh组件引用(从组件列表中拖入CubeMesh到图表即可得到引用)。
- 编译并保存蓝图。
4.5 测试交互
- 将这个
BP_InteractiveCube从内容浏览器拖放到关卡中。 - 点击工具栏的“运行”按钮进行游戏测试。
- 控制角色走上该方块,方块应变为红色材质,表示交互成功。
5. 添加触发音量与事件
除了直接触碰物体,我们还可以使用独立的触发器来控制关卡变化。
5.1 创建触发器
- 在内容浏览器空白处右键 → 蓝图类 → 选择
Actor。 - 命名为
BP_GameChanger,双击打开。 - 在组件列表中删除默认的根组件(如果有),添加一个 盒体碰撞 组件作为新根组件,并调整其尺寸(如 200x200x200)。
- 确保该碰撞组件的“生成重叠事件”已勾选,碰撞预设通常设为“Trigger”。
5.2 编写踩踏后生成物体
- 在事件图表中添加
ActorBeginOverlap事件(基于盒体碰撞组件)。 - 从
Other Actor拖出Cast To ThirdPersonCharacter。 - 从
Cast成功引脚拖出Spawn Actor From Class节点。 - 在
Class下拉中选择一个 Actor 作为生成物,例如BP_InteractiveCube或任意道具。 - 拆分
Spawn Actor的Spawn Transform,提供位置信息。可以从盒体碰撞组件获得位置:拖入碰撞组件引用 →Get World Location,然后用这个向量作为生成位置。 - 连接好执行流,确保只有玩家进入时才触发。
- 编译保存。将
BP_GameChanger放入关卡测试:当玩家走到盒体区域时,会生成一个物体。
6. 使用蓝图设计基本用户界面(UI)
我们将在关卡中显示一个简单的提示文字,当角色进入某个区域时显示。
6.1 创建 Widget 蓝图
- 在内容浏览器右键 → 用户界面 → 控件蓝图。
- 命名为
WBP_HintText,双击打开。 - 在画布面板中拖入一个
Text Block,设置文字为“你发现了一个秘密区域!”,调整字体大小和颜色。 - 在图表中不需要额外逻辑,保存即可。
6.2 在关卡蓝图控制 UI 显示
我们希望玩家进入一个特定区域时屏幕显示该UI。使用前面创建的触发器来实现。
- 打开 关卡蓝图(工具栏 → 蓝图 → 打开关卡蓝图)。
- 在事件图表中右键 → 添加对
BP_GameChanger的引用(从世界大纲拖入蓝图实例)。 - 为它绑定
OnActorBeginOverlap事件(可从大纲拖入后搜索)。 - 执行流程:
OnActorBeginOverlap→Cast To ThirdPersonCharacter。 - 成功时 →
Create Widget节点,选择WBP_HintText。 - 接着 →
Add to Viewport节点,显示该 Widget。 - 编译并测试:进入触发器区域应该看到文字出现。
7. 打包与交付
7.1 基本打包设置
- 点击主菜单“编辑” → “项目设置” → “地图和模式”,将默认地图设为你的关卡。
- 选择“文件” → “打包项目” → “Windows (64-bit)”,选择输出文件夹。
- 等待打包完成,即可得到一个独立的可执行游戏文件,分享给他人运行。
8. 下一步学习建议
- 深入学习蓝图:变量、分支、循环、数组等。
- 使用世界分区(World Partition)构建大型开放世界。
- 掌握材质编辑器,创建更丰富的视觉效果。
- 学习动画蓝图,控制角色动作。
现在你已经跨入 Unreal Engine 5 的大门,开始动手搭建属于你自己的互动世界吧!