UE5 蓝图学习计划 - Day 14:搭建基础游戏场景

embedded/2025/2/7 1:14:48/

在上一节中,我们 确定了游戏类型,并完成了 项目搭建、角色蓝图的基础设置(移动)。今天,我们将进一步完善 游戏场景,搭建 地形、墙壁、机关、触发器 等基础元素,并添加角色跳跃功能,为后续的交互功能(如开门、拾取道具)做好准备。

📌 今日目标

✔ 创建基础游戏关卡(地形、墙壁、平台)
设置角色跳跃功能
✔ 搭建机关和障碍物(门、移动平台)
✔ 设置关卡触发系统
✔ 测试角色在关卡中的移动和跳跃

1. 创建基础关卡

📂 1.1 创建新关卡

  1. 打开 Unreal Engine 5,在 Content Browser 里,进入 Maps 文件夹。
  2. 打开上节创建的关卡,进入 关卡编辑模式(Level Editor)
  3. 删除场景中的地板Floor

🌍 1.2 搭建地形

  1. 添加地面

    • 添加Cube。
    • 调整缩放 X: 5, Y: 5, Z: 1 作为地面。
    • 命名为 SM_Ground。
      在这里插入图片描述
  2. 创建跳跃平台

    • 复制 Cube,调整大小,使其成为可跳跃的平台。
    • 调整位置,确保角色可以跳跃到平台上。
      在这里插入图片描述

2. 添加角色跳跃功能

📌 2.1 配置跳跃输入

  1. 点击 Edit(编辑) > Project Settings(项目设置)
  2. 在左侧找到 Input(输入),展开 Action Mappings(操作映射)
  3. 添加新的 Action 绑定:
    • Jump(跳跃)
      • Space Bar(空格键)

📌 最终的输入设置如下:
在这里插入图片描述

🎮 2.2 在角色蓝图中实现跳跃

  1. 打开 BP_PlayerCharacter(角色蓝图)

  2. 进入 Event Graph(事件图)

  3. 右键搜索 “Jump”,添加 Action Event: Jump

  4. 连接以下逻辑:
    在这里插入图片描述

  5. 调整跳跃高度

    • 在 Character Movement 组件,找到 Jump Z Velocity。
    • 将默认值 420.0 调整为 600.0(让跳跃更有力度)。

3. 搭建机关与障碍

🚀 3.1 创建移动平台

  1. 创建蓝图类(Blueprint Class)
    • Blueprints 文件夹 创建一个Actor,命名 BP_MovingPlatform
    • 打开蓝图,添加 Static Mesh 组件,并设置为 Cube,调整大小。
    • 使用 Timeline 控制平台移动
      • 在 Timeline 添加关键帧,让平台前后往复移动。
        在这里插入图片描述
    • 添加Location变量,记录平台开始的位置
    • 添加Forward变量,记录当前是先前还是向后移动(默认值为True)
      在这里插入图片描述

🚪 3.2 添加门(Door)

  1. 在Blueprints文件夹里创建蓝图 BP_Door
    • 添加StaticMesh,调整大小
      在这里插入图片描述

    • 在 Event Graph,添加 Timeline 让门在 Z 轴上升(模拟开门)。
      在这里插入图片描述

4. 设置关卡触发系统

📌 4.1 添加Box Collision

  1. 添加BoxCollisionBP_Door中,并设置其位置和大小
  2. 拖入关卡
    在这里插入图片描述

🎮 4.2 触发器控制门

  1. 打开 BP_Door,在 Event Graph 添加逻辑:
    • OnActorBeginOverlap(进入触发区域)
  2. 测试效果:
    • 运行游戏,靠近门,门应自动打开。
      在这里插入图片描述

5. 测试关卡

  1. 运行游戏 (Play),测试:
    • 角色是否能顺利行走、跳跃。
    • 门是否能自动开关。
    • 移动平台是否能正常移动。
      在这里插入图片描述

✅ 今日任务完成

创建关卡(地面、墙壁、平台)
添加角色跳跃功能(Space Bar 控制)
调整跳跃高度(600.0)
创建移动平台
创建可触发开门的 Trigger Box
优化角色碰撞
测试关卡交互 🎮

🔜 下一步

🔹 完善角色拾取功能(钥匙、宝石)
🔹 优化机关与动态元素(多个触发器、复杂机关)

总结

今天,我们完成了 游戏关卡搭建,并加入了 门、跳跃平台、移动平台 等交互元素,同时添加了 角色跳跃功能。下一步,我们将让 角色能够拾取道具,并解锁更复杂的机关系统! 🚀🎮


http://www.ppmy.cn/embedded/160164.html

相关文章

mac安装wireshark

mac启动wireshark时,提示没有权限抓包,报错内容如下: “The capture session could not be initiated on interface ‘en0’ (You don’t have permission to capture on that device). Please check to make sure you have sufficient perm…

VSCode中使用EmmyLua插件对Unity的tolua断点调试

一.VSCode中搜索安装EmmyLua插件 二.创建和编辑launch.json文件 初始的launch.json是这样的 手动编辑加上一段内容如下图所示: 三.启动调试模式,并选择附加的进程

基于 SpringBoot 的电影购票系统

基于SpringBoot的电影购票系统是一个集成了现代化Web开发技术的在线电影票务平台。以下是对该系统的详细介绍: 一、系统背景与意义 随着电影行业的快速发展和观众对观影体验的不断追求,电影票务管理面临着越来越多的挑战。传统的票务管理方式存在效率低…

20250202在Ubuntu22.04下使用Guvcview录像的时候降噪

20250202在Ubuntu22.04下使用Guvcview录像的时候降噪 2025/2/2 21:25 声卡:笔记本电脑的摄像头自带的【USB接口的】麦克风。没有外接3.5mm接口的耳机。 缘起:在安装Ubuntu18.04/20.04系统的笔记本电脑中直接使用Guvcview录像的时候底噪很大! …

【Elasticsearch】date range聚合

好的,继续之前的示例: json ] } } } } 4.3 自定义键(key) 通过为每个范围指定一个唯一的键(key),可以在结果中更方便地引用每个范围。这在使用keyed参数将结果以键值对形式返回时尤其有用。 j…

Python 操作列表(元组)

在本章中,你将学习如何遍历 整个列表,这只需要几行代码,无论列表有多长。循环让你能 够对列表的每个元素都采取一个或一系列相同的措施,从而高效地处理任何长度的列表,包括包含数千乃至数百万个元素的列表。 元组 列表…

机器学习10

自定义数据集 使用scikit-learn中svm的包实现svm分类 代码 import numpy as np import matplotlib.pyplot as pltclass1_points np.array([[1.9, 1.2],[1.5, 2.1],[1.9, 0.5],[1.5, 0.9],[0.9, 1.2],[1.1, 1.7],[1.4, 1.1]])class2_points np.array([[3.2, 3.2],[3.7, 2.9],…

无人机测绘技术,为行业开启解决方案新篇章!

随着国土建设的专业化程度不断提升和工作负荷的持续加重,传统测绘方法的局限性也日益显露。它们不仅容易受环境及恶劣气候的制约,还面临着人力资源短缺的挑战,难以适应当前高度专业化的需求。而无人机测绘技术凭借其高度的灵活性和强大的适应…