当前位置: 首页 > news >正文

105. UE5 GAS RPG 搭建主菜单

在这一篇,我们将实现对打开游戏显示的主菜单进行搭建,主菜单将显示游戏主角,游戏名称和进入游戏和退出游戏两个按钮。

搭建菜单场景

我们将主菜单设置为一个单独的场景,前面可以显示对应的UI控件,用于玩家操作,后面可以显示一个场景,显示游戏的相关特色。
首先将我们之前的地牢场景复制一份
在这里插入图片描述
接着我们将游戏模式修改为无,之前的模式是战斗场景中使用的,我们不需要使用
在这里插入图片描述
直接将游戏模式重载设置为GameMode,如果设置为None,将使用默认的设置。
在这里插入图片描述
默认设置在项目设置中修改
在这里插入图片描述
接下来,我们创建一个用于显示玩家角色Actor,它只需要用于显示。
在这里插入图片描述
在蓝图内添加一个骨骼网格体用于显示角色
在这里插入图片描述
设置对应的资产和动画,角色直接使用动画资产播放动画即可。
在这里插入图片描述
在角色下面添加一个法杖和粒子系统
在这里插入图片描述
将粒子特效设置在固定位置
在这里插入图片描述
法杖添加对应的法杖模型,并且要设置附加的父节点位置,这样,法杖就可以直接显示在正确的位置。
在这里插入图片描述
正确效果如下
在这里插入图片描述
接着,我们在帧回调里,记录当前actor的执行时间,用于后续修改火球漂浮的效果
在这里插入图片描述
我们在曲线查看器里可以看到,正弦会在1到-1之间进行徘徊,我们可以以此值来设置
在这里插入图片描述
在蓝图事件开始执行时,我们将火球的默认位置存储下来
在这里插入图片描述
在帧回调里,通过sin转换到-1到1的范围值,然后通过一个值缩放此值,去修改火球世界场景的z坐标,火球就可以实现上下浮动的效果。
在这里插入图片描述
接着,我们在蓝图里添加一个贴花,来模拟角色头后面的魔法光环效果,我们设置在角色身后
在这里插入图片描述
然后在帧回调,给角色的x轴旋转添加一个旋转值,让魔法光环旋转起来。
在这里插入图片描述
效果如下。
在这里插入图片描述

创建主菜单UI

接着,我们创建主菜单的UI,单独创建一个MainMenu的文件夹,里面放置菜单场景的资源,将之前的Actor也放入其中。
在这里插入图片描述
在里面创建一个用户控件,用来设置游戏名称
在这里插入图片描述
在控件里,添加了一个覆层,覆层下面添加一个文本用于显示标题
在这里插入图片描述
在标题内填写相应的文字,效果如下
在这里插入图片描述
字体设置如下
在这里插入图片描述
接着,我们在蓝图里添加一个控件组件
在这里插入图片描述
设置在场景里显示我们创建的组件
在这里插入图片描述
调整好位置,在运行时,刚好不被角色挡住,这里大家可以自己随意发挥。当然,我还是喜欢用UI去显示游戏名称,那样更清晰一些,仁者见仁,智者见智吧。
在这里插入图片描述
接着,在蓝图运行时,播放一个背景音乐
在这里插入图片描述
音乐记得设置为循环,如果在当前场景,音乐会一直播放下去。
在这里插入图片描述

添加主界面UI

我们在ui上面添加标题以及进入游戏和退出游戏两个按钮。
我们创建一个新的用户控件,在里面添加一个canvas,在下面添加一个文本显示标题,然后添加两个宽按钮用来设置进入和退出游戏。
在这里插入图片描述
稍微调整后,效果如下
在这里插入图片描述
我们要找个地方执行它,刚好在之前的actor蓝图里,事件开始时,执行创建用户控件添加到视口
在这里插入图片描述
打开主菜单后,我们不需要鼠标操控场景,只需要对UI产生输入操作,并显示鼠标。
在这里插入图片描述

最后运行查看效果
在这里插入图片描述

绑定进入和退出游戏事件

这一篇文章的最后,我们复制一个新场景,作为进入游戏后使用的场景
在这里插入图片描述
新场景,我们将蓝图删除,这里不需要使用主菜单的蓝图。
在这里插入图片描述
接着,我们在主菜单的用户控件里绑定ui上的退出按钮回调,在回调里设置游戏退出事件
在这里插入图片描述
在进入游戏按钮,我们在事件回调里设置打开新关卡,可以将其设置为一个变量,也可以直接在节点上设置。
在这里插入图片描述
运行测试效果即可。

相关文章:

105. UE5 GAS RPG 搭建主菜单

在这一篇,我们将实现对打开游戏显示的主菜单进行搭建,主菜单将显示游戏主角,游戏名称和进入游戏和退出游戏两个按钮。 搭建菜单场景 我们将主菜单设置为一个单独的场景,前面可以显示对应的UI控件,用于玩家操作&#…...

基于 JAVASSM(Java + Spring + Spring MVC + MyBatis)框架开发一个医院挂号系统

基于 JAVASSM(Java Spring Spring MVC MyBatis)框架开发一个医院挂号系统是一个实用的项目。 步骤一:需求分析 明确系统需要实现的功能,比如: 用户注册和登录查看医生列表预约挂号查看预约记录取消预约管理员管…...

Golang | Leetcode Golang题解之第540题有序数组中的单一元素

题目&#xff1a; 题解&#xff1a; func singleNonDuplicate(nums []int) int {low, high : 0, len(nums)-1for low < high {mid : low (high-low)/2mid - mid & 1if nums[mid] nums[mid1] {low mid 2} else {high mid}}return nums[low] }...

影刀RPA实战:嵌入python,如虎添翼

1. 影刀RPA与Python的关系 影刀RPA与Python的关系可以从以下几个方面来理解&#xff1a; 技术互补&#xff1a;影刀RPA是一种自动化工具&#xff0c;它允许用户通过图形化界面创建自动化流程&#xff0c;而Python是一种编程语言&#xff0c;常用于编写自动化脚本。影刀RPA可以…...

es 数据清理delete_by_query

POST /索引名/_delete_by_query?conflictsproceed&scroll_size2000&wait_for_completionfalse&slices36 {"size": 2000, "query": {"bool": { "must": [{"terms": {"rule_id": [800007]}}]}} }slice…...

【每日 C/C++ 问题】

一、C 中类的三大特性是什么&#xff1f;请简要解释。 封装、继承、多态 封装&#xff1a;将事物的属性&#xff08;成员变量&#xff09;和行为&#xff08;成员函数&#xff09;封装在一起形成一个类。并且可以设置相应的访问权限&#xff08;私有的 受保护的 公有的&#…...

stm32学习4

学习目录 一.流水灯1.创建文件2.编写相关代码 一.流水灯 1.创建文件 将方法进行分类保存在不同的 .c 文件中&#xff0c;方便复用和寻找&#xff1b; 创建Hardware\LED文件&#xff0c;其中有led.c和led.h文件&#xff0c;用于存放有关LED灯操作的方法&#xff1b; 在User文…...

Midjourney国内直登

Midjourney确实是一个强大的AI绘画工具&#xff0c;能够根据用户输入的文本生成高质量的图像。然而&#xff0c;由于国内的网络限制&#xff0c;直接访问Midjourney可能会遇到障碍。 目前&#xff0c;已经有一些国内代理或中转平台可以帮助用户更方便地使用Midjourney&#xf…...

【双目视觉标定】——3面结构光相机标定实践(获取相机内参)~未完待续

相机标定基本原理及双目相机内参解析 相机标定是计算机视觉中的一个重要步骤&#xff0c;旨在确定相机的内部和外部参数&#xff0c;以便在图像处理中进行准确的三维重建、物体识别等任务。本文将重点讲解双目相机的内参和外参原理&#xff0c;并结合实际参数进行分析。 一、…...

Python常用脚本集锦

收集了一些常用Python脚本&#xff0c;作为平时练手使用&#xff0c;也可以作为自己的笔记&#xff0c;用到哪个功能可以自己查询一下即可。 文件和目录管理 复制文件 import shutil# 复制源文件到目标文件 shutil.copy(source.txt, destination.txt)移动文件 import shuti…...

MacBook 如何设置打开json格式文件的默认程序是vs code

首先右键选中文件&#xff0c;然后选中显示简介 然后选中打开方式 设置成vs code...

如何在 Spring Boot 中实现多数据源的事务管理?

在 Spring Boot 中实现多数据源的事务管理可以通过以下几种方式&#xff1a; 一、使用编程式事务管理 配置多个数据源 如同前面提到的&#xff0c;在 application.properties 或 application.yml 文件中配置多个数据源的连接信息&#xff0c;并创建对应的数据源 bean。 手动开启…...

SQL 常用更新操作

目录 1. 从一个查询结果中获取数据批量更新一张表 1. 从一个查询结果中获取数据批量更新一张表 更新table_a中所有id在tmp查询结果中的name值 UPDATE table_a a SET a.name tmp.name FROM (SELECT id, name FROM table_b) tmp WHERE a.id tmp.id;UPDATE table_a a JOIN (SE…...

Android camera2

一、序言 为了对阶段性的知识积累、方便以后调查问题&#xff0c;特做此文档&#xff01; 将以camera app 使用camera2 api进行分析。 (1)、打开相机 openCamera (2)、创建会话 createCaptureSession (3)、开始预览 setRepeatingRequest (4)、停止预览 stopRepeating (5)、关闭…...

nginx监控指标有哪些

Nginx 的监控指标可以帮助你了解服务器的性能、资源使用以及运行状态。下面是一些常见的 Nginx 监控指标&#xff0c;涵盖了访问、性能、资源使用等多个方面&#xff1a; 1. 访问量与请求处理 Active Connections&#xff08;活跃连接数&#xff09;&#xff1a;当前 Nginx 处…...

我谈正态分布——正态偏态

目录 pdf和cdf参数 标准正态分布期望和方差分布形态 3 σ 3\sigma 3σ原则 正态和偏态正态偏态瑞利分布偏度 (Skewness)峰度 (Kurtosis) 比较 正态分布的英文是Normal Distribution&#xff0c;normal是“正常”或“标准”的意思&#xff0c;中文翻译是正态&#xff0c;多完美的…...

如何使用uniswap v2 获取两个代币的交易对池子

在 Uniswap V2 中,获取两个代币的交易对池子(即 pair)可以通过以下步骤实现: 连接到 Uniswap V2 的合约:你需要与 Uniswap V2 的 Factory 合约进行交互,通过该合约来查找代币交易对。 获取交易对地址:Uniswap V2 Factory 合约提供了一个 getPair 函数,可以通过该函数查…...

CSS中常见的两列布局、三列布局、百分比和多行多列布局!

目录 一、两列布局 1、前言&#xff1a; 2. 两列布局的常见用法 两列布局的元素示例&#xff1a; 代码运行后如下&#xff1a; 二、三列布局 1.前言 2. 三列布局的常见用法 三列布局的元素示例&#xff1a; 代码运行后如下&#xff1a; 三、多行多列 1.前言 2&…...

GaussDB Ustore存储引擎解读

目录 一、数据库存储引擎 二、GaussDB Ustore存储引擎 总结 本文将介绍GaussDB中的Ustore存储引擎&#xff0c;包括Ustore的设计背景、特点介绍和适用业务场景等。 一、数据库存储引擎 数据库的存储引擎负责在内存和磁盘上存储、检索和管理数据&#xff0c;确保每个节点的…...

JAVA基础:数组 (习题笔记)

一&#xff0c;编码题 1&#xff0c;数组查找操作&#xff1a;定义一个长度为10 的一维字符串数组&#xff0c;在每一个元素存放一个单词&#xff1b;然后运行时从命令行输入一个单词&#xff0c;程序判断数组是否包含有这个单词&#xff0c;包含这个单词就打印出“Yes”&…...

AssetRipper实战指南:Unity资源诊断与AB包健康度审计

1. 这不是“破解工具”&#xff0c;而是Unity开发者本该掌握的资源诊断能力 AssetRipper这个名字&#xff0c;第一次出现在我视野里&#xff0c;是在2022年一个Unity性能优化群里的深夜讨论。当时有位同事发来一张截图&#xff1a;某款上线半年的手游突然在iOS上出现纹理加载延…...

JWT令牌安全实践详解

JWT令牌安全实践详解 一、JWT概述 JSON Web Token&#xff08;JWT&#xff09;是一种用于安全传输信息的开放标准&#xff08;RFC 7519&#xff09;。 1.1 JWT结构 ┌───────────────────────────────────────────────────…...

计算机网络基础:TCP/IP 与 HTTP 核心知识

摘要&#xff1a;计算机网络是后台开发和 AI 基础设施面试的重要考点。本文从 OSI 七层模型出发&#xff0c;重点讲解 TCP 三次握手/四次挥手、HTTP/HTTPS 协议、以及 WebSocket 和 RESTful API 设计&#xff0c;并结合 Python 代码展示 Socket 编程和简单的 HTTP 服务器实现。…...

proj-agones:知识点:helm

helm install之后的log be like&#xff1a;(base) savilahaobogon ~ % helm install prometheus prometheus-community/kube-prometheus-stack -n monitoring --create-namespace NAME: prometheus LAST DEPLOYED: Wed May 20 14:54:39 2026 NAMESPACE: monitoring STATUS: de…...

HTML 零基础入门:从概念到常用标签详解,前端入门超详细版

一、HTML介绍HTML 全称超文本标记语言&#xff08;HyperText Markup Language&#xff09;&#xff0c;是搭建网页的基础骨架语言&#xff0c;也是前端开发最入门、最核心的语言。它不属于编程语言&#xff0c;没有逻辑运算、没有变量&#xff0c;只是一套标记标签&#xff0c;…...

PyTorch神经网络初始化实战:解决梯度消失、对称性陷阱与LSTM失谐

神经网络初始化看似只是模型训练前的一个“小动作”&#xff0c;但我在带团队做工业级视觉检测项目时&#xff0c;亲眼见过三次因初始化不当导致的全线返工&#xff1a;一次是产线缺陷识别模型在验证集上准确率突然掉到42%&#xff0c;查了三天才发现权重全初始化为0.1&#xf…...

在线语音工具大比拼:顶伯胜在哪?

&#x1f3af; 在线语音工具大比拼&#xff1a;顶伯、剪映、配音阁、讯飞&#xff0c;微软 TTS 版胜在哪&#xff1f;在内容创作日益多元的今天&#xff0c;语音合成工具已成为视频博主、教育从业者、有声书制作者不可或缺的伙伴。市面常见的选项包括剪映内置配音、配音阁、讯飞…...

龙芯3A5000工业主板实战:从硬件部署到软件生态的国产化替代指南

1. 项目概述&#xff1a;一颗“中国芯”的工业级落地 最近&#xff0c;圈子里关于国产自主平台的消息又热闹了起来。这次的主角&#xff0c;是集特智能新推出的一款工业主板&#xff0c;核心搭载了龙芯3A5000处理器和7A2000桥片。对于长期深耕工业控制、边缘计算、网络安全这些…...

树莓派Linux命令行实战指南:从基础操作到系统运维

1. 项目概述&#xff1a;为什么你需要一份树莓派命令手册如果你刚拿到一块树莓派&#xff0c;兴奋地接上电源和显示器&#xff0c;看着熟悉的桌面系统&#xff0c;感觉和一台迷你电脑没什么两样。但当你真正想用它做点“正经事”——比如让它24小时运行一个网站、自动备份文件到…...

别再瞎写抽奖了!从原神保底到洗牌算法,5种实战模型帮你搞定游戏概率设计

游戏抽奖系统设计实战&#xff1a;从概率模型到商业落地的5种解决方案 当玩家在《原神》中第89次抽卡仍未获得五星角色时&#xff0c;心跳加速的瞬间背后是精密的数学计算与商业逻辑的完美结合。抽奖系统作为现代游戏的核心付费点&#xff0c;其设计质量直接影响玩家留存、付费…...