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

news2025/2/6 23:08:07

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

📌 今日目标

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

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.coloradmin.cn/o/2293994.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ZooKeeper单节点详细部署流程

ZooKeeper单节点详细部署流程 文章目录 ZooKeeper单节点详细部署流程 一.下载稳定版本**ZooKeeper**二进制安装包二.安装并启动**ZooKeeper**1.安装**ZooKeeper**2.配置并启动**ZooKeeper** ZooKeeper 版本与 JDK 兼容性3.检查启动状态4.配置环境变量 三.可视化工具管理**Zooke…

Python----Python高级(并发编程:进程Process,多进程,进程间通信,进程同步,进程池)

一、进程Process 拥有自己独立的堆和栈,既不共享堆,也不共享栈,进程由操作系统调度;进程切换需要的资源很最大,效率低。 对于操作系统来说,一个任务就是一个进程(Process)&#xff…

ComfyUI安装调用DeepSeek——DeepSeek多模态之图形模型安装问题解决(ComfyUI-Janus-Pro)

ComfyUI 的 Janus-Pro 节点,一个统一的多模态理解和生成框架。 试用: https://huggingface.co/spaces/deepseek-ai/Janus-1.3B https://huggingface.co/spaces/deepseek-ai/Janus-Pro-7B https://huggingface.co/spaces/deepseek-ai/JanusFlow-1.3B 安装…

UE求职Demo开发日志#22 显示人物信息,完善装备的穿脱

1 创建一个人物信息显示的面板,方便测试 简单弄一下: UpdateInfo函数: 就是获取ASC后用属性更新,就不细看了 2 实现思路 在操作目标为装备栏,或者操作起点为装备栏时,交换前先判断能否交换(只…

如何安装PHP依赖库 更新2025.2.3

要在PHP项目中安装依赖,首先需要确保你的系统已经安装了Composer。Composer是PHP的依赖管理工具,它允许你声明项目所需的库,并管理它们。以下是如何安装Composer和在PHP项目中安装依赖的步骤: 一. 安装Composer 对于Windows用户…

java求职学习day28

XML 1. XML基本介绍 1.1 概述 XML 即可扩展标记语言( Extensible Markup Language ) (1)W3C 在 1998 年 2 月发布 1.0 版本, 2004 年 2 月又发布 1.1 版本,但因为 1.1 版本不能向下兼容 1.0 版本,所以1.1 没有人用。…

2022ACMToG | 寻找快速的去马赛克算法

文章标题:Searching for Fast Demosaicking Algorithms 1. Abstract 本文提出了一种方法,用于在给定损失函数和训练数据的情况下,自动合成高效且高质量的去马赛克算法,涵盖各种计算开销。该方法执行多目标的离散-连续优化&#x…

渗透测试之文件包含漏洞 超详细的文件包含漏洞文章

目录 说明 通常分为两种类型: 本地文件包含 典型的攻击方式1: 影响: 典型的攻击方式2: 包含路径解释: 日志包含漏洞: 操作原理 包含漏洞读取文件 文件包含漏洞远程代码执行漏洞: 远程文件包含…

机器学习8-卷积和卷积核1

机器学习8-卷积和卷积核1 卷积与图像去噪卷积的定义与性质定义性质卷积的原理卷积步骤卷积的示例与应用卷积的优缺点优点缺点 总结 高斯卷积核卷积核尺寸的设置依据任务类型考虑数据特性实验与调优 高斯函数标准差的设置依据平滑需求结合卷积核尺寸实际应用场景 总结 图像噪声与…

Android --- handler详解

handler 理解 handler 是一套Android 消息传递机制,主要用于线程间通信。 tips: binder/socket 用于进程间通信。 参考: Android 进程间通信-CSDN博客 handler 就是主线程在起了一个子线程,子线程运行并生成message ,l…

DeepSeek:全栈开发者视角下的AI革命者

目录​​​​​​​ DeepSeek:全栈开发者视角下的AI革命者 写在前面 一、DeepSeek的诞生与定位 二、DeepSeek技术架构的颠覆性突破 1、解构算力霸权:从MoE架构到内存革命 2、多模态扩展的技术纵深 3、算法范式的升维重构 4、重构AI竞争规则 三、…

Page Assist - 本地Deepseek模型 Web UI 的安装和使用

Page Assist Page Assist是一个开源的Chrome扩展程序,为本地AI模型提供一个直观的交互界面。通过它可以在任何网页上打开侧边栏或Web UI,与自己的AI模型进行对话,获取智能辅助。这种设计不仅方便了用户随时调用AI的能力,还保护了…

Spring Boot篇

为什么要用Spring Boot Spring Boot 优点非常多,如: 独立运行 Spring Boot 而且内嵌了各种 servlet 容器,Tomcat、Jetty 等,现在不再需要打成 war 包部署到 容器 中,Spring Boot 只要打成一个可执行的 jar 包就能独…

基于SpringBoot的在线远程考试系统的设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

python实现多路视频,多窗口播放功能

系列Python开发 文章目录 系列Python开发前言一、python实现多路视频播放功能二、代码实现1. http申请视频流地址并cv2播放功能 三、打包代码实现生成可执行文件 总结 前言 一、python实现多路视频播放功能 服务端开发后通常需要做功能测试、性能测试,通常postman、…

Java设计模式:行为型模式→责任链模式

Java 责任链模式详解 1. 定义 责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它使多个对象都有机会处理请求,而不是由一个对象去处理这个请求。这种模式以链表的形式将多个处理对象串联起来,并通…

2025年02月05日Github流行趋势

项目名称:OCRmyPDF 项目地址url:https://github.com/ocrmypdf/OCRmyPDF项目语言:Python历史star数:15872今日star数:157项目维护者:jbarlow83, fritz-hh, apps/dependabot, mawi12345, mara004项目简介&…

关于大数据

在大数据背景下存在的问题: 非结构化、半结构化数据:NoSQL数据库只负责存储;程序处理时涉及到数据移动,速度慢 是否存在一套整体解决方案? 可以存储并处理海量结构化、半结构化、非结构化数据 处理海量数据的速…

离散浣熊优化算法(DCOA)求解大规模旅行商问题(Large-Scale Traveling Salesman Problem,LTSP),MATLAB代码

大规模旅行商问题(Large-Scale Traveling Salesman Problem,LTSP)是经典旅行商问题(TSP)在规模上的扩展,是一个具有重要理论和实际意义的组合优化问题: 一、问题定义 给定一组城市和它们之间的…

Page Assist实现deepseek离线部署的在线搜索功能

前面文章Mac 基于Ollama 本地部署DeepSeek离线模型 实现了deepseek的离线部署,但是部署完成虽然可以进行问答和交互,也有thinking过程,但是没办法像官方一样进行联网搜索。今天我们介绍一款浏览器插件Page Assist来实现联网搜索,完…