[UE4]实现存档功能

来源:互联网 发布:centos 7 安装后配置 编辑:程序博客网 时间:2024/06/05 04:26

实现存档功能的逻辑是:建立一个类型为SaveGame的蓝图文件

把所有需要保存的参数都放到这个文件里 

然后在其他蓝图中用命令把它储存到本地目录下

 

[转载][UE4]实现存档功能

首先创建一个类型为SaveGame的蓝图文件



[转载][UE4]实现存档功能

在这个文件下创建所有需要存储的参数

[转载][UE4]实现存档功能

打开关卡蓝图(存储命令在其他蓝图里也可以写  但读取貌似只能写在关卡蓝图中  否则不识别)



[转载][UE4]实现存档功能

这里我设置Alt+Q键为存档按键

然后创建[Creat Save Game Object]节点(注意节点下方的Class要选择为之前创建的SaveGame蓝图文件名 这是我们要储存的文件)

最后Return Value选择为可编辑



[转载][UE4]实现存档功能

创建[Cast To "SaveGame蓝图文件名"]节点

这个节点的作用是把存档蓝图文件解析出来(或导入进去)  相当于zip压缩工具

Get前面可编辑的Return Value变量(这里我命名为“SvrSamuLoca”  就是Saver Samurai Location的缩写)连接到Object入口 

 



[转载][UE4]实现存档功能
然后就是选择所要输入的信息和信息存储的变量   这里是一个Samu_2的NPC的位置信息存储到一个叫NPCSamuLoc的Vector(Vector类型都是黄色)变量中

然后右侧Save Game to Slot节点作用就是在文件夹中创建一个文件  并把以上这些信息都写入里面

注意这里Save Game Object应该连接前面“SvrSamuLoca“的变量

 

 


[转载][UE4]实现存档功能

Slot Name这里填写所需要创建文件的名字

到这里  按下Alt+Q  这个叫做Samu_2的NPC位置信息就已经可以储存了(当然 读取存档的命令还没写)

 

 



[转载][UE4]实现存档功能

为了Debug时便于确认是否实现存档  可以在右侧添加一个Print String  并连接 



[转载][UE4]实现存档功能

Return Value 会自动添加转换节点显示True 或 False来表示是否成功存档

 

以上输入部分的命令也可以写在角色蓝图里



[转载][UE4]实现存档功能

但读取 必须写在关卡蓝图中

这里有一个判断  判断是否有名为之前存储的文件名的文件([Dose Save Game Exist]节点下的Return value出口应该连接[Branch]节点的Condition入口)

如果有则读取该存档  之后的节点设置同之前存储一样

如果没有 则把False连接到之后的其他命令  例如把初始武器装配到角色手中初始化天气等等

 


[转载][UE4]实现存档功能
这是读取命令的后续 

这里我给角色坐标的Z轴高度轴添加了一个10单位的固定值  让他从空中落下以防出生点被物体卡住落到地面以下

 

 

BUG 注意!

我使用的是4.4版的虚幻4  在4.3和之前的版本中都没有这个问题

这个问题就是:

当引擎关闭 再次打开后  所有SaveGame蓝图中调用的参数全部丢失地址(下图WARNING!显示)

必须手动再次拖拽导入  希望Epic公司能在后续版本能解决这个问题


[转载][UE4]实现存档功能

0 0