虚幻引擎的游戏存档功能的学习笔记
八层肚
编辑于 2023年10月12日 02:10
收录于文集
共4篇

如果我们使用虚幻引擎官方提供的游戏存档功能来保存游戏,需要先创建Save Game蓝图。

使用“将游戏保存到插槽”这个蓝图节点,就可以把Save Game蓝图中的基础类型变量保存到插槽对应的游戏存档中,变量保存到存档后,存档里保存的变量值不会因为游戏结束而恢复默认值。

游戏实例蓝图中调用save game蓝图来保存游戏

从对应的插槽加载游戏存档后,就可以获取上次保存的save game蓝图中的变量值,比如获取上次保存的玩家当前血量。

需要注意的是,Save Game蓝图能保存的变量类型只能是基础类型的变量,不能是对象类型等非基础类型变量。枚举,数据变量等基础类型都可以保存。结构体只能保存它里面的基础类型变量,比如结构体里面含有一个actor类型的变量,则它不会保存actor的变量值,只会保存结构体中的其他基础变量。加载游戏存档时,结构体获取不到这个actor类型的变量值,因为没有保存成功,是空值。

上图的例子中,我们只能成功保存结构体中的浮点类型的变量,无法保存Uobject这个非基础类型变量,当我们试图从存档读取这个Uobject变量的值时,只能读取到空值。

有时候我们会把一些数据放在数据资产中,如果要把数据资产中的变量全部保存到存档中,需要在Save Game蓝图中新建数据资产中对应的基础变量,显然有点麻烦。

那有没有办法直接保存数据资产等非基础类型变量呢?

虚幻商城中有一款叫做Easy Multi Save的插件可以实现这个功能,比如下图的直接保存数据资产到存档中,使用插件的save custom object节点即可。

保存数据资产到存档中

插件也可以直接保存Uobject变量到存档中。