【UE4】SaveGame存储系统

UE5C++学习(四)--- SaveGame类存储和加载数据 SaveGame类存储和加载数据 阅读详情
AI摘要

本文详细介绍了使用SaveGame对象在Unreal Engine中存储和加载游戏数据的方法。通过创建继承自USaveGame的类,实现游戏状态的持久化,并利用UGameplayStatics的静态方法进行数据的存取操作。

SaveGame存储系统

使用SaveGame存储游戏到本地的逻辑和方法都很简单,涉及两个部分SaveGame对象,以及存储、加载方法。下面我们一一讲解。

一、SaveGame对象

首先,我们要创建一个继承USaveGame的类。我们需要在这个类的实例中保存需要持久化到磁盘的游戏数据,然后调用存储方法,将其写入磁盘。所以,我们在自定义USaveGame类中声明需要持久化的变量。一般,这些变量最好加个BlueprintReadWrite的宏,这样,我们也可以在蓝图中对这些变量进行修改或读取。
其实,到这里,这个类的基本介绍就完了。- - 其实,这个类就是将我们的对象序列化保存,然后反序列化到对象。
下面给出ActionRPG中的示例

namespace ERPGSaveGameVersion
{
   
   
	enum type
	{
   
   
		//初始化版本
		Initial,
		//背包修改
		AddedInventory,
		//物品修改
		AddedItemData,
		VersionPlusOne,
		//最新版本
		LatestVersion = VersionPlusOne - 1
	};
}

UCLASS(BlueprintType)
class ACTIONRPG_API URPGSaveGame : public USaveGame
{
   
   
	GENERATED_BODY()

public:
	URPGSaveGame()
	{
   
   
		//当新创建一个SaveGame对象时,默认构造器会将其设置为最新版本
		SavedDataVersion = ERPGSaveGameVersion::LatestVersion;
	}

	/** Map of items to item data */
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite
UE4 4.26.2 SaveGameToSlot() ShouldSaveToUserDir() 存档路径的问题 UE4 4.26.2 SaveGameToSlot() ShouldSaveToUserDir() 存档路径的问题 UE4 4.26.2 版本 存档路径如果打包Development,默认是在项目工程下,但是如果是Shipping版本,就会在C盘里面,这样可能会导致项目迁移存档丢失的问题。 查找SaveGameToSlot() 函数的路径 1.首先全局搜索一下这个函数,可以看到是在UGameplayStatics这个类里面 2.在if 里面 继续f12跟踪一下 SaveDataToSlot 3.继续跟踪 阅读详情

相关推荐

UE GamePlay框架(一) GameInstance、SaveGame

UE GamePlay框架(一) GameInstance、SaveGame

qq_51466060的博客 1430

UE5 蓝图学习计划 - Day 12:存储与加载

在游戏开发中,存储(Save)与加载(Load) 系统至关重要,玩家需要能够保存游戏进度、角色状态、道具数据等信息,并在下次启动游戏时恢复它们。UE5 提供了 SaveGame 蓝图类,帮助开发者快速实现数据持久化。本篇文章将学习 存储系统的工作原理,并通过蓝图实现 角色状态(血量、分数)存储 与 数据读取,确保游戏进度不会丢失。

m0_37643873的博客 2552

UE5全局变量保存实战:用SaveGame和GameInstance实现跨关卡数据持久化(附完整蓝图配置)

本文详细介绍了在UE5中利用SaveGame和GameInstance实现全局变量持久化的实战方法。通过双轨制存储策略,区分临时状态与永久数据,提供完整的蓝图配置方案,帮助开发者高效管理跨关卡游戏数据,适用于角色属性、任务进度等复杂系统的开发。

grape的博客 658

UE5 C++剧情系统构建:从数据驱动到蓝图集成的实战指南

在游戏开发中,数据驱动设计是一种将游戏逻辑与内容数据分离的架构思想,它通过定义清晰的数据结构和状态机,使游戏行为能够由外部配置灵活控制,从而提升项目的可维护性和迭代效率。其技术价值在于实现了内容生产与程序逻辑的解耦,让策划和设计师能够独立编辑游戏内容,而无需程序员频繁修改代码。这一原理在剧情系统、任务系统、AI行为树等需要大量内容配置的场景中尤为重要。结合C++的强类型安全和性能优势,以及Unreal Engine 5(UE5)强大的资产系统和蓝图可视化脚本,开发者可以构建出既高效又易用的核心框架。本文聚焦

weixin_34391445的博客 297

ESP32语音交互实战:离线唤醒与DeepSeek大模型集成

本文详细介绍了如何将ESP32-S3开发板与天问ASRPRO语音模块结合,实现离线语音唤醒并集成DeepSeek大模型的智能交互系统。通过串口通信与API调用,系统可处理本地指令及复杂语义请求,适用于低成本、高隐私保护的AIoT语音交互场景。

rust6ferris的博客 867

CLion for Mac(m1)配置GCC编译器

条件:电脑已经下载过XCode 一. 下载HomeBrew homebrew是一款macos,linux下的包管理工具,我们需要使用他来下载GCC 下载方法: 1.打开终端(terminal) 2.输入 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ps.有可能会遇到的问题 我当初下载挂了VPN,优快云上还有很多解决问题的方法,可以将错误信

supermario19的博客 7845

基于STM32与HRTIM的四开关Buck-Boost双向DC-DC电源设计实战(附源码、仿真与设计解析)

本文详细介绍了基于STM32F334的HRTIM高分辨率定时器实现四开关Buck-Boost双向DC-DC电源的设计实战。通过精准的PWM控制、双环PID算法和智能模式切换逻辑,解决了电压震荡与效率优化等关键问题,并提供了完整的源码、PSIM仿真及参数计算,为高性能电源设计提供了实用参考。

7z8x2c4v6b9的博客 299

【气动弹性实战】基于Nastran与Patran的机翼颤振仿真:从模态分析到临界速度预测

本文详细介绍了基于Nastran与Patran的机翼颤振仿真全流程,从气动弹性问题解析、机翼建模技巧到模态分析与临界速度预测。通过实战案例展示如何利用SOL 145求解器进行颤振分析,并分享网格划分、材料属性设置等工程经验,帮助工程师有效解决飞行器设计中的气动弹性耦合问题。

weixin_33725722的博客 593

49、Linux内核内存管理:MGLRU、DAMON与OOM杀手详解

本文详细解析了Linux内核内存管理中的三大核心机制:MGLRU(多代LRU)页面追踪与回收机制、DAMON数据访问监控工具及其在内存优化中的应用,以及OOM(内存不足)杀手的工作原理和触发方式。同时,文章还介绍了VM overcommit_memory策略的设置及其对内存分配的影响,帮助开发者和系统管理员更好地理解Linux内存管理机制,从而优化系统性能和稳定性。

dropout6artist的博客 107

高级数据结构之R树(R-tree)

R树(R-tree)是一种将B树扩展到多维情况下得到的数据结构,它最初由Antonin Guttman于1984年提出。B树的结点中会存储一个键的集合,这些键把线分成片段,沿着那条线的点仅属于一个片段。因此,B树使得我们可以很容易地找到点。如果把沿线各处的点表示成B树结点,我们就能够确定点所属唯一子结点,在那里可以找到该点。 Antonin Guttman在他提出R树的经典论文中给出的R树例子...

白马负金羁 1万+

conda upgrade出现Solving environment:failed CondaValueError Malformed version string invalid chars解决方案

本文主要介绍了conda install出现Solving environment:failed、CondaValueError: Malformed version string invalid character(s),希望能对使用conda的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案 2.1 步骤一 2.2 步骤二

weixin_43178406的博客 8万+

〔重庆理工大学〕大学物理实验--变温霍耳效应及其参数测定

每个老师要求不同,实验报告内容和数据仅供参考。

Pretty Boy Fox的博客 3043

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: 【UE4】插件与模块
下一篇: 【C++】Mutable关键字
Im 胡嘿嘿
博客等级 码龄10年 148粉丝 38原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值