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上的退出按钮回调,在回调里设置游戏退出事件

在进入游戏按钮,我们在事件回调里设置打开新关卡,可以将其设置为一个变量,也可以直接在节点上设置。

运行测试效果即可。

相关推荐
我的巨剑能轻松搅动潮汐1 天前
【UE5】pmx导入UE5,套动作。(防止“气球人”现象。
ue5
windwind20002 天前
UE5 跟踪能力的简单小怪
ue5
Deveuper4 天前
UE5 C+、C++、C# 构造方法区别示例
c++·ue5·c#·ue4
windwind20004 天前
UE5 学习方法的思考
ue5·学习方法
ue星空5 天前
UE材质常用节点
ue5·虚幻·材质·虚幻引擎
Zhichao_976 天前
【UE5 C++课程系列笔记】09——多播委托的基本使用
笔记·ue5
异次元的归来7 天前
UE5的TRS矩阵
线性代数·矩阵·ue5·游戏引擎·unreal engine
电子云与长程纠缠8 天前
UE5编辑器下将RenderTarget输出为UTexture并保存
学习·ue5·编辑器·虚幻
ue星空9 天前
虚幻5描边轮廓材质
ue5·材质
ue星空11 天前
虚幻引擎生存建造系统
ue5·游戏引擎·虚幻·虚幻引擎