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上的退出按钮回调,在回调里设置游戏退出事件
在这里插入图片描述
在进入游戏按钮,我们在事件回调里设置打开新关卡,可以将其设置为一个变量,也可以直接在节点上设置。
在这里插入图片描述
运行测试效果即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/59334.shtml

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

相关文章

时间序列预测(十八)——实现配置管理和扩展命令行参数解析器

如图,这是一个main,py文件,在此代码中,最开始定义了许多模型参数,为了使项目更加灵活和可扩展,便于根据不同的需求调整参数和配置,可以根据实际需要扩展参数和配置项。 下面是如何实现配置管理和扩展命令行…

Ubuntu用docker安装AWVS和Nessus(含破解)

Ubuntu安装AWVS(更多搜索:超详细Ubuntu用docker安装AWVS和Nessus) 首先安装docker,通过dockers镜像安装很方便,且很快;Docker及Docker-Compose-安装教程。 1.通过docker search awvs命令查看镜像; docker search awvs…

QT for android 问题总结(QT 5.15.2)

1.配置好的sdk,显示设置失败 Android SDK Command-line Tools run. Android Platform-Tools installed. Command-line Tools (latest) 版本过高导致报错 ,下载一个低版本的latest ,替换掉之前latest中的文件。即可,latest 路径如…

Jmeter5.X性能测试

Jmeter5.X性能测试 文章目录 Jmeter5.X性能测试一、掌握Http基础协议1.1 浏览器的B/S架构和C/S架构1.2 HyperText Transfer Protocol 超文本传输协议1.3 超文本传输协议Http消息体拆分讲解1.4 HTTP的九种请求方法和响应码介绍1.5 Http请求头/响应头1.6 Http常见请求/响应头cont…

使用Kafka构建大规模消息传递系统

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 使用Kafka构建大规模消息传递系统 引言 Kafka 简介 安装 Kafka 创建主题 生产者 消费者 高级特性 分区 持久化 消费者组 消息确认…

AI 大模型重塑软件开发流程的未来

目录 前言1. AI 大模型简介2. AI 大模型在软件开发中的应用场景2.1 代码自动生成2.2 智能调试与错误检测2.3 软件测试的自动化2.4 文档生成与代码注释 3. AI 大模型对软件开发的优势3.1 提高开发效率3.2 提升代码质量与一致性3.3 降低学习成本 4. AI 大模型在软件开发中面临的挑…

C#-类:声明类、声明类对象

一:类的声明 class 类名 {//特征——成员变量//行为——成员方法//保护特征——成员属性//构造函数和析构函数//索引器//运算符重载//静态成员 }类名:帕斯卡 同一个语句块中的不同类 不能重名 二:声明类对象 2.1 类的声明 ≠ 类对象的声…

求平面连接线段组成的所有最小闭合区间

这个功能确实非常实用,我在过去开发地面分区编辑器时就曾应用过这一算法。最近,在新产品的开发中再次遇到了类似的需求。尽管之前已经实现过,但由于长时间未接触,对算法的具体细节有所遗忘,导致重新编写时耗费了不少时…

金箍棒变化-第15届蓝桥杯国赛Scratch初/中级组真题第1题

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第193讲。 如果想持续关注Scratch蓝桥真题解读,可以点击《Scratch蓝桥杯历年真题》并订阅合集,…

hunyuan-DiT模型部署指南

一、介绍 Hunyuan-DiT是由腾讯混元推出的扩散模型,支持中文和英文双语输入,其他开源模型相比,Hunyuan-DiT 在中文到图像生成方面树立了新的水平。 二、部署流程 环境要求: 所需的最小 GPU 内存为 11GB, 建议使用具…

如何彻底删除gitbash中所有的命令记录、以及彻底删除Windows powerShell或者cmd中的所有命令记录

文章目录 1. 文章引言2. 彻底删除gitbash中所有的命令记录3. 彻底删除Windows powerShell或者cmd中的所有命令记录1. 文章引言 有时,我们使用外部电脑从gitbash中下载代码,假设使用history -c命令: 可以清除当前弹框的历史记录,但也无法彻底删除命令记录。打开gitbash后,通…

利用 Feather 格式加速数据科学工作流:Pandas 中的最佳实践

利用 Feather 格式加速数据科学工作流:Pandas 中的最佳实践 在数据科学中,高效的数据存储和传输对于保持分析流程的流畅性至关重要。传统的 CSV 格式虽然通用,但在处理大规模数据集时速度较慢,特别是在反复读取和写入时。幸运的是…

Redis-“自动分片、一定程度的高可用性”(sharding水平拆分、failover故障转移)特性(Sentinel、Cluster)

文章目录 零、写在前面一、水平拆分(sharding/分片)、故障转移(failover)机制介绍水平拆分(Sharding)故障转移机制 二、Redis的水平拆分的机制有关的配置1. 环境准备2. 配置文件配置3. 启动所有Redis实例4. 创建集群5. 测试集群读/写6. 集群管理 三、Red…

Linux SSH免密登入以及配置脚本

一、ssh原理简单介绍 客户端生成一对公钥和私钥,并将自己的公钥发送到服务器上 其中公钥用来加密,私钥用来解密。 二、ssh免密登入实现步骤详解 我这就以服务器controller和客户端compute来做为例子 2.1、首先在controller上输入ssh-keygen -t rsa …

景联文科技医疗数据处理平台:强化医疗数据标注与管理,推动医疗数字化新篇章

随着医疗科技快速进步与广泛应用,医疗信息的规模正在迅速扩张,如何有效管理这些医疗数据成为了关键议题。 医疗数据不仅包括传统的纸质病历,还有电子病历、实验室检测结果、医学影像等多样化的数字信息。为确保这些数据能为临床决策、科研分析…

react jsx基本语法,脚手架,父子传参,refs等详解

1,简介 1.1 概念 react是一个渲染html界面的一个js库,类似于vue,但是更加灵活,写法也比较像原生js,之前我们写出一个完成的是分为html,js,css,现在我们使用react库我们把html和js结…

物联网的智联项目是如何设计出来的?设计项目整个细节应该注意什么?

设计一个物联网的智联项目通常包括以下步骤: **一、需求分析** 1. 明确项目的目标和预期效果,例如是实现智能家居的自动化控制,还是工业设备的远程监测等。 2. 确定项目的应用场景和用户群体,了解他们的具体需求和使用习惯。 …

Android 字节飞书面经

Android 字节飞书面经 文章目录 Android 字节飞书面经一面二面 一面 1. 线程是进程的一部分,一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。 2. 根本区别:进程是操作系统资源分配的基本单位,…

获取SKU详细信息API返回值说明

在电子商务平台中,SKU(Stock Keeping Unit,库存量单位)是用于追踪库存的唯一标识符。对于开发者来说,了解如何通过API获取SKU的详细信息是至关重要的。本文将详细介绍如何使用API获取SKU详细信息,并提供相应…

本地部署bert-base-chinese模型交互式问答,gradio

首先下载bert-base-chinese,可以在 Huggingface, modelscope, github下载 pip install gradio torch transformers import gradio as gr import torch from transformers import BertTokenizer, BertForQuestionAnswering# 加载bert-base-chinese模型和分词器 mod…