UE5 蓝图学习计划 - Day 14:搭建基础游戏场景
在上一节中,我们 确定了游戏类型,并完成了 项目搭建、角色蓝图的基础设置(移动)。今天,我们将进一步完善 游戏场景,搭建 地形、墙壁、机关、触发器 等基础元素,并添加角色跳跃功能,为后续的交互功能(如开门、拾取道具)做好准备。
📌 今日目标
✔ 创建基础游戏关卡(地形、墙壁、平台)
✔ 设置角色跳跃功能
✔ 搭建机关和障碍物(门、移动平台)
✔ 设置关卡触发系统
✔ 测试角色在关卡中的移动和跳跃
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
✔ 优化角色碰撞
✔ 测试关卡交互 🎮
🔜 下一步
🔹 完善角色拾取功能(钥匙、宝石)
🔹 优化机关与动态元素(多个触发器、复杂机关)
总结
今天,我们完成了 游戏关卡搭建,并加入了 门、跳跃平台、移动平台 等交互元素,同时添加了 角色跳跃功能。下一步,我们将让 角色能够拾取道具,并解锁更复杂的机关系统! 🚀🎮
相关文章:
UE5 蓝图学习计划 - Day 14:搭建基础游戏场景
在上一节中,我们 确定了游戏类型,并完成了 项目搭建、角色蓝图的基础设置(移动)。今天,我们将进一步完善 游戏场景,搭建 地形、墙壁、机关、触发器 等基础元素,并添加角色跳跃功能,为…...
C++常用拷贝和替换算法
算法简介: copy // 容器内指定的元素拷贝到另一容器replace // 将容器内指定范围的旧元素改为新元素replace_if // 容器内指定范围满足条件的元素替换为新元素swap //互换两个容器的元素 1. copy 功能描述: 将容器内指定范围的数据拷贝到另一容器中函…...
取消和确认按钮没有显示的问题
取消和确认按钮没有显示的问题<template #footer> <template #footer> <!-- 使用插槽名称 #footer --> <span class"dialog-footer"> <el-button click"dialogVisible false">取消</el-button> …...
Python安居客二手小区数据爬取(2025年)
目录 2025年安居客二手小区数据爬取观察目标网页观察详情页数据准备工作:安装装备就像打游戏代码详解:每行代码都是你的小兵完整代码大放送爬取结果 2025年安居客二手小区数据爬取 这段时间需要爬取安居客二手小区数据,看了一下相关教程基本…...
Java/Kotlin HashMap 等集合引发 ConcurrentModificationException
在对一些非并发集合同时进行读写的时候,会抛出 ConcurrentModificationException 异常产生示例 示例一(单线程): 遍历集合时候去修改 抛出 ConcurrentModificationException 的主要原因是当你在遍历一个集合(如 Map…...
【Day31 LeetCode】动态规划DP Ⅳ
一、动态规划DP Ⅳ 1、最后一块石头的重量II 1049 这题有点像脑筋急转弯,尽量让石头分成重量相同的两堆(尽可能相同),相撞之后剩下的石头就是最小的。明白这一点,就与上一篇博客里的划分等和数组很相似。划分等和数组…...
Unity 2D实战小游戏开发跳跳鸟 - 记录显示最高分
上一篇文章中我们实现了游戏的开始界面,在开始界面中有一个最高分数的UI,本文将接着实现记录最高分数以及在开始界面中显示最高分数的功能。 添加跳跳鸟死亡事件 要记录最高分,则需要在跳跳鸟死亡时去进行判断当前的分数是否是最高分,如果是最高分则进行记录,如果低于之前…...
Ollama AI 开发助手完全指南:从入门到实践
本文将详细介绍如何使用 Ollama AI 开发助手来提升开发效率,包括环境搭建、模型选择、最佳实践等全方位内容。 © ivwdcwso (ID: u012172506) 目录 基础环境配置模型选择与使用开发工具集成实践应用场景性能优化与注意事项最佳实践总结一、基础环境配置 1.1 系统要求 在…...
Racecar Gym
Racecar Gym 参考:https://github.com/axelbr/racecar_gym/blob/master/README.md 1. 项目介绍 Racecar Gym 是一个基于 PyBullet 物理引擎的 reinforcement learning (RL) 训练环境,模拟微型 F1Tenth 竞速赛车。它兼容 Gym API 和 PettingZoo API&am…...
代码随想录36 动态规划
leetcode 343.整数拆分 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入: n 2 输出: 1 解释: 2 1 1, 1 1 1。 示例 2: 输入: n 1…...
离散时间傅里叶变换(DTFT)公式详解:周期性与连续性剖析
摘要 离散时间傅里叶变换(DTFT)是数字信号处理领域的重要工具,它能将离散时间信号从时域转换到频域,揭示信号的频率特性。本文将深入解读DTFT公式,详细阐述其具有周期性和连续性的原因,帮助读者全面理解DT…...
深度学习|表示学习|卷积神经网络|Batch Normalization在干什么?|19
如是我闻: Batch Normalization(批归一化,简称 BN) 是 2015 年由 Ioffe 和 Szegedy 提出 的一种加速深度神经网络训练并提高稳定性的技术。 它的核心思想是:在每一层的输入进行归一化,使其均值接近 0&…...
Go基础之环境搭建
文章目录 1 Go 1.1 简介 1.1.1 定义1.1.2 特点用途 1.2 环境配置 1.2.1 下载安装1.2.2 环境配置 1.2.2.1 添加环境变量1.2.2.2 各个环境变量理解 1.2.3 验证环境变量 1.3 包管理工具 Go Modules 1.3.1 开启使用1.3.2 添加依赖包1.3.3 配置国内包源 1.3.3.1 通过 go env 配置1.…...
echarts、canvas这种渲染耗时的工作能不能放在webworker中做?
可以将 ECharts、Canvas 等渲染耗时的工作放在 Web Worker 中进行处理。Web Worker 允许在后台线程中运行 JavaScript,从而将计算密集型任务从主线程中分离出来,避免阻塞用户界面。以下是一些关键点: 优势 性能提升:将耗时的渲染…...
Android学习21 -- launcher
1 前言 之前在工作中,第一次听到launcher有点蒙圈,不知道是啥,当时还赶鸭子上架去和客户PK launcher的事。后来才知道其实就是安卓的桌面。本来还以为很复杂,毕竟之前接触过windows的桌面,那叫一个复杂。。。 后面查了…...
antd pro框架,使用antd组件修改组件样式
首先用控制台的指针找到组件的类名 然后找到项目的src/global.less文件 在里面进行修改,切记:where(.css-dev-only-do-not-override-5fybr3).ant-input:placeholder-shown这种格式,把where(.css-dev-only-do-not-override-5fybr3)删掉,使用…...
响应式编程_05 Project Reactor 框架
文章目录 概述响应式流的主流实现框架RxJavaReactor Project Reactor 框架Reactor 异步数据序列Flux 和 Mono 组件FluxMono 操作符背压处理 小结 概述 响应式编程_02基本概念:背压机制 Backpressure介绍了响应式流规范以及 Spring 框架中的响应式编程技术ÿ…...
RabbitMQ 从入门到精通:从工作模式到集群部署实战(一)
#作者:闫乾苓 文章目录 RabbitMQ简介RabbitMQ与VMware的关系架构工作流程RabbitMQ 队列工作模式及适用场景简单队列模式(Simple Queue)工作队列模式(Work Queue)发布/订阅模式(Publish/Subscribeÿ…...
导出依赖的几种方法
在 Python 中,你可以使用以下方法导出项目的依赖: 1. 使用 pip freeze pip freeze 可以列出当前环境中安装的所有包及其版本,并将结果保存到 requirements.txt 文件中。 pip freeze > requirements.txt2. 使用 pipreqs pipreqs 可以根…...
CS 与 BS 架构的差异
在数字化的今天,选择软件架构模式对系统的性能、维护、安全和成本都有很大影响。BS架构和CS架构是最常见的两种模式,了解它们的区别和特点对开发人员和企业决策者都很重要。 CS架构最早出现,当时用户直接从主机获取数据。随着客户端和服务端…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
