113. UE5 GAS RPG 实现传送点切换地图

接着我们优化体验相关,首先实现检查点可以在选中点击后,可以自动移动到目标检查点。然后增加一个可以提示玩家已经探索过相关区域的光柱,最后增加一个传送点,可以通过传送点传送到其它关卡。

实现点击自动移动到检查点

先实现点击移动到检查点功能。

我们先将实现接口冲蓝图移动到c++里,之前可以当做演示,如何实现在一个物体上添加接口。

我们在高亮接口里添加一个新好用,用于获取角色需要移动到的检查点的位置。

在检测点类里增加一个场景组件,用于定义位置

增加一个可以修改自定义深度的配置

在构造函数里初始化

实现接口的三个函数

敌人也继承了高亮接口,但是不需要修改目标位置

然后在PlayerController里,鼠标抬起事件里,通过接口修改目标位置,然后通过插件计算移动路径。

然后打开检查点,将蓝图实现的接口内容去掉

修改场景组件到一个合适的位置。测试即可。

实现提示玩家探索过区域的灯柱

如果地形复杂,我们还需要设置一个灯柱,玩家激活以后,就会一直常亮,提醒玩家此地已经探索过。

我们在检测点类里添加一个属性,因为灯柱无法保存存档,所以,它的碰撞体是无法绑定存储回调的

然后事件开始,绑定回调时,通过变量判断是否需要绑定

接着通过类创建一个新的蓝图

在蓝图里设置对应的模型

将绑定变量设置为false,这样就无法绑定回调,我们还能定义显示颜色。

然后修改Sphere的碰撞体大小,在什么范围内和玩家角色碰撞会亮起。

在蓝图里绑定Sphere碰撞体的重叠事件

Handle Glow Effects会创建一个新的材质返回,我们在函数接收,并通过时间轴更新数值,让其慢慢亮起来。

测试效果

实现关卡切换

接下来,我们增加一个新的类,继承检查点类,用于实现两张地图的切换功能。

在类里,我们要去掉一部分检查点的功能,实现一部分新的功能。

我们首先申明了构造函数,explicit 关键字的主要作用是防止隐式转换和意外初始化。尤其是还需要调用父类的构造函数时。

在构造函数里,我们只做了一件事,就是将球的碰撞体附加到了移动目标组件上。

然后覆写父类的LoadActor函数,传送点不需要激活高亮效果,我们覆写它,不让它执行高亮函数

然后,我们增加了两个属性,一个是需要传送到的目标地图,另一个是目标地图的初始点标签。

最后,我们覆写球的重合事件,它和检查点的功能不同,我们将设置高亮的逻辑去掉,将角色信息和场景信息保存。最后还需要切换关卡

上图,我们保存场景状态时,还传入了关卡的资源路径名称,这个后面会讲到。

在存档类里,我们增加了一个新的存储名称,用于存储地图资源名称,其主要目的是为了获取设置显示的对应关卡的名称。

地图和名称对应的数据我们是设置在GameMode类里的,保存场景状态函数也是在GameMode类里,我们在类里增加一个新的函数,用于通过地图资源名称获取地图显示名称。

实现这里,通过遍历所有的设置的地图,找到对应的关卡,将显示名称返回。

并在保存状态函数增加一个新的参数传入

保存存档时,通过关卡资源名称获取到显示名称,保存到存档里,方便下次加载使用

接着就是保存关卡出生点的位置标签,我们是在角色保存时将新的标签保存。

我们要增加逻辑,在保存时,也需要将游戏实例上缓存的标签修改掉,这样,在未保存之前,角色也会出现在当前场景的目标位置的出生点。

修改完成,我们编译打开引擎,增加一个新的关卡,用于切换。

并将新关卡添加到GameMode蓝图里。

通过传送点类创建一个新的蓝图,用于切换。

添加模型,并修改传送位置和碰撞体大小

将其添加到场景里

并设置目标关卡和目标关卡的出生点

当然,自身的标签还是有用的,我们可以通过设置玩家出生点标签,在切换此关卡时,让玩家生成在传送点的PlayerStart位置。

相关推荐
曼巴UE51 天前
UE5.3 C++ 房屋管理系统(二)
ue5
ue星空1 天前
UE5用TextureGraph制作瓷砖贴图材质
ue5·材质
藤蔓疯长1 天前
UE5骨骼插槽蓝图
ue5
飞起的猪1 天前
【虚幻引擎】UE5独立游戏开发全流程(商业级架构)
ue5·游戏引擎·游戏开发·虚幻·独立开发·游戏设计·引擎架构
朗迹 - 张伟2 天前
UE5 PCG学习笔记
笔记·学习·ue5
笑鸿的学习笔记2 天前
虚幻引擎5-Unreal Engine笔记之摄像机与场景捕获相关概念的解析
笔记·ue5·虚幻
☆平常心☆3 天前
UE5通过C++实现TcpSocket连接
c++·ue5
电子云与长程纠缠3 天前
UE5中制作动态数字Decal
学习·ue5·编辑器·贴图
笑鸿的学习笔记5 天前
虚幻引擎5-Unreal Engine笔记之常用核心类的继承关系
笔记·ue5·虚幻
笑鸿的学习笔记6 天前
虚幻引擎5-Unreal Engine笔记之UE编辑器退出时的保存弹框
笔记·ue5·虚幻