在上一节中,我们 确定了游戏类型,并完成了 项目搭建、角色蓝图的基础设置(移动)。今天,我们将进一步完善 游戏场景,搭建 地形、墙壁、机关、触发器 等基础元素,并添加角色跳跃功能,为后续的交互功能(如开门、拾取道具)做好准备。
📌 今日目标
✔ 创建基础游戏关卡(地形、墙壁、平台)
✔ 设置角色跳跃功能
✔ 搭建机关和障碍物(门、移动平台)
✔ 设置关卡触发系统
✔ 测试角色在关卡中的移动和跳跃
1. 创建基础关卡
📂 1.1 创建新关卡
- 打开 Unreal Engine 5,在 Content Browser 里,进入 Maps 文件夹。
- 打开上节创建的关卡,进入 关卡编辑模式(Level Editor)。
- 删除场景中的地板Floor
🌍 1.2 搭建地形
-
添加地面
- 添加Cube。
- 调整缩放 X: 5, Y: 5, Z: 1 作为地面。
- 命名为 SM_Ground。
-
创建跳跃平台
- 复制 Cube,调整大小,使其成为可跳跃的平台。
- 调整位置,确保角色可以跳跃到平台上。
2. 添加角色跳跃功能
📌 2.1 配置跳跃输入
- 点击 Edit(编辑) > Project Settings(项目设置)。
- 在左侧找到 Input(输入),展开 Action Mappings(操作映射)。
- 添加新的 Action 绑定:
- Jump(跳跃)
- Space Bar(空格键)。
- Jump(跳跃)
📌 最终的输入设置如下:
🎮 2.2 在角色蓝图中实现跳跃
-
打开 BP_PlayerCharacter(角色蓝图)。
-
进入 Event Graph(事件图)。
-
右键搜索 “Jump”,添加 Action Event: Jump。
-
连接以下逻辑:
-
调整跳跃高度
- 在 Character Movement 组件,找到 Jump Z Velocity。
- 将默认值 420.0 调整为 600.0(让跳跃更有力度)。
3. 搭建机关与障碍
🚀 3.1 创建移动平台
- 创建蓝图类(Blueprint Class)
- 在 Blueprints 文件夹 创建一个Actor,命名 BP_MovingPlatform。
- 打开蓝图,添加 Static Mesh 组件,并设置为 Cube,调整大小。
- 使用 Timeline 控制平台移动:
- 在 Timeline 添加关键帧,让平台前后往复移动。
- 在 Timeline 添加关键帧,让平台前后往复移动。
- 添加Location变量,记录平台开始的位置
- 添加Forward变量,记录当前是先前还是向后移动(默认值为True)
🚪 3.2 添加门(Door)
- 在Blueprints文件夹里创建蓝图 BP_Door:
-
添加StaticMesh,调整大小
-
在 Event Graph,添加 Timeline 让门在 Z 轴上升(模拟开门)。
-
4. 设置关卡触发系统
📌 4.1 添加Box Collision
- 添加BoxCollision到BP_Door中,并设置其位置和大小
- 拖入关卡
🎮 4.2 触发器控制门
- 打开 BP_Door,在 Event Graph 添加逻辑:
- OnActorBeginOverlap(进入触发区域)
- 测试效果:
- 运行游戏,靠近门,门应自动打开。
- 运行游戏,靠近门,门应自动打开。
5. 测试关卡
- 运行游戏 (Play),测试:
- 角色是否能顺利行走、跳跃。
- 门是否能自动开关。
- 移动平台是否能正常移动。
✅ 今日任务完成
✔ 创建关卡(地面、墙壁、平台)
✔ 添加角色跳跃功能(Space Bar 控制)
✔ 调整跳跃高度(600.0)
✔ 创建移动平台
✔ 创建可触发开门的 Trigger Box
✔ 优化角色碰撞
✔ 测试关卡交互 🎮
🔜 下一步
🔹 完善角色拾取功能(钥匙、宝石)
🔹 优化机关与动态元素(多个触发器、复杂机关)
总结
今天,我们完成了 游戏关卡搭建,并加入了 门、跳跃平台、移动平台 等交互元素,同时添加了 角色跳跃功能。下一步,我们将让 角色能够拾取道具,并解锁更复杂的机关系统! 🚀🎮