System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于虚幻引擎的对象数据序列化和反序列化系统及方法技术方案_技高网

基于虚幻引擎的对象数据序列化和反序列化系统及方法技术方案

技术编号:44935039 阅读:4 留言:0更新日期:2025-04-12 01:13
本发明专利技术公开了一种基于虚幻引擎的对象数据序列化系统、一种基于虚幻引擎的对象数据反序列化系统、一种基于虚幻引擎的对象数据序列化方法、一种基于虚幻引擎的对象数据反序列化方法以及一种基于虚幻引擎的对象数据序列化和反序列化的验证方法,其中,基于虚幻引擎的对象数据序列化系统包括:第一获取模块,用于通过虚幻引擎的反射机制获取场景中各对象的元数据;序列化模块,用于对各对象的字符串数据中的类名数据和相应对象的字符串数据中的属性数据进行组装,得到各对象的字符串数据。通过提供统一的对象数据序列化处理、数据优化和反序列化处理,实现对象的高效存取和状态管理。

【技术实现步骤摘要】

本专利技术涉及数据处理,具体地指一种基于虚幻引擎的对象数据序列化和反序列化系统及方法


技术介绍

1、在计算机领域,随着信息技术的不断发展,虚幻引擎以其强大的实时渲染能力、高真实感的画质效果、开发者友好的编辑工具、体系完备的功能模块成为最为顶尖的游戏引擎之一。虚幻引擎不仅在游戏制作领域占有绝大多数的市场,而且广泛应用在游戏开发、虚拟现实、数字孪生等诸多行业和领域之中。

2、现阶段,在软件开发过程中,开发人员需要处理海量的对象数据,传统的手动数据处理方式已经难以满足开发需求,处理具有复杂层次结构和多样化属性的对象时,通常需要编写大量的重复代码来处理不同类型对象的序列化和反序列化逻辑,这不仅耗时耗力,而且容易出现数据不一致或状态丢失的问题,影响系统的可靠性和稳定性。

3、为了避免对象数据序列化和反序列化过程中由于人工操作失误而导致数据丢失、对象状态错误、系统性能下降的问题,本领域技术人员一直在寻求一种自动化的对象数据管理方法,以便能够高效地处理大规模对象数据的存储和读取,提高开发效率,减少人为错误,确保对象数据的完整性、一致性和系统运行的稳定性。


技术实现思路

1、本专利技术的目的就是要提供一种基于虚幻引擎的对象数据序列化和反序列化系统及方法,通过提供统一的对象数据获取、序列化处理、数据优化和反序列化处理,实现对对象的高效存取和状态管理,从而解决手动数据处理方式中存在的工作量大、易出错、数据不一致等问题,提高对象数据处理的可靠性、系统运行的稳定性和开发效率。p>

2、为实现上述目的之一的本专利技术所设计的基于虚幻引擎的对象数据序列化系统,其特殊之处在于,包括:

3、第一获取模块,用于通过虚幻引擎的反射机制获取场景中各对象的元数据;

4、序列化模块,用于依次对各对象的元数据中的类名数据进行序列化转化,得到各对象的字符串数据中的类名数据;对所述各对象的元数据中的属性数据进行遍历,得到各对象的属性数据的属性名称、属性类型和属性值;对所述属性数据的属性名称、属性类型和属性值进行序列化转化,得到各对象的字符串数据中的属性数据;对各对象的字符串数据中的类名数据和相应对象的字符串数据中的属性数据进行组装,得到各对象的字符串数据,并在各对象的字符串数据的相邻两个字符串之间添加分隔符。

5、进一步地,上述的系统,还包括:序列化子模块;所述序列化子模块,用于对所述各对象的元数据中的状态数据进行状态类型判断,当对象的元数据中的状态数据判断为动态类型时,则根据所述状态数据,对动态类型对象的元数据中的类名数据和/或属性数据进行基于动态对象的属性变更修改,得到修改后的动态类型对象的元数据中的类名数据和属性数据,对修改后的动态类型对象的元数据中的类名数据和属性数据进行序列化转化,得到动态类型对象的字符串数据中的类名数据和属性数据;对所述动态类型对象的字符串数据中的类名数据和相应对象的字符串数据中的属性数据进行组装,得到动态类型对象的字符串数据,并在所述动态类型对象的字符串数据中添加动态类型对象标记;当对象的元数据中的状态数据为静态类型,则对静态类型对象的元数据中的类名数据和属性数据进行序列化转化,得到静态类型对象的字符串数据中的类名数据和属性数据;对所述静态类型对象的字符串数据中的类名数据和相应对象的字符串数据中的属性数据进行组装,得到静态类型对象的字符串数据,并在所述动态类型对象的字符串数据中添加动态类型对象标记。

6、进一步地,上述的系统,还包括:数据优化模块;所述数据优化模块用于对所述各对象的字符串数据进行存储优化,包括:对所述各对象的字符串数据进行判断,若对象的字符串数据中的属性数据的属性值与属性值的默认值不同,则存储对象的字符串数据中的属性数据;若对象的字符串数据中的属性数据的属性值与属性值的默认值相同,则不存储对象的字符串数据中的属性数据;若多个对象的字符串数据中的属性数据相同,则存储一次的字符串数据中的属性数据;若对象的字符串数据大于阈值,则对对象的字符串数据进行压缩,存储对象的字符串数据对应的压缩数据。

7、为实现上述目的之二的本专利技术所设计的基于虚幻引擎的对象数据序列化方法,其特殊之处在于,包括如下步骤:

8、通过虚幻引擎的反射机制获取场景中各对象的元数据;

9、依次对各对象的元数据中的类名数据进行序列化转化,得到各对象的字符串数据中的类名数据;对所述各对象的元数据中的属性数据进行遍历,得到各对象的属性数据的属性名称、属性类型和属性值;对所述属性数据的属性名称、属性类型和属性值进行序列化转化,得到各对象的字符串数据中的属性数据;对各对象的字符串数据中的类名数据和相应对象的字符串数据中的属性数据进行组装,得到各对象的字符串数据,并在各对象的字符串数据的相邻两个字符串之间添加分隔符。

10、为实现上述目的之三的本专利技术所设计的基于虚幻引擎的对象数据反序列化系统,其特殊之处在于,包括:

11、第二获取模块,用于对各对象的字符串数据按分隔符为界依次拆分为若干子字符串数据,对所述子字符串数据进行遍历,得到各对象的字符串数据的类名数据、属性数据和类型标记;

12、反序列化模块,用于依次对各对象的字符串数据的类名数据进行反序列化还原,得到各对象的元数据中的类名数据;对各对象的字符串数据中的属性数据进行拆分,得到各对象的字符串数据中的属性数据包含的属性名称、属性类型和属性值,对属性数据包含的属性名称、属性类型和属性值进行反序列化还原,得到各对象的元数据中的属性数据;

13、恢复模块,用于根据各对象的元数据中的类名数据,构建场景中的各对象,根据各对象的元数据中的属性数据的属性名称、属性类型和属性值设置各对象的属性,得到包含各对象及对应属性的场景。

14、进一步地,上述的系统,还包括:反序列化子模块;所述反序列化子模块用于对所述各对象的元数据中的类型标记进行判断,当对象的字符串数据中的类型标记为动态类型,则根据当前动态类型对象的字符串数据中的类名数据和属性数据,对动态类型对象的字符串数据中的类名数据和属性数据进行基于动态对象的属性变更修改,得到修改后的动态类型对象的字符串数据中的类名数据和属性数据,对修改后的动态类型对象的字符串数据中的类名数据和属性数据进行反序列化还原,得到动态类型对象的元数据中的类名数据和属性数据;当对象的字符串数据中的类型标记为静态类型,则对静态类型对象的字符串数据中的类名数据和属性数据进行反序列化还原,得到静态类型对象的元数据中的类名数据和属性数据。

15、进一步地,所述恢复模块包括:

16、场景构建单元,用于根据所述各对象的元数据中的类名数据,创建对应的各对象;

17、属性设置单元,用于根据各对象的元数据中的属性数据中的属性名称、属性类型和属性值,对各对象的对应属性进行赋值,得到包含各对象及对应属性的场景。

18、为实现上述目的之四的本专利技术所设计的基于虚幻引擎的对象数据反序列化方法,其特殊之处在于,包括如下步骤:<本文档来自技高网...

【技术保护点】

1.一种基于虚幻引擎的对象数据序列化系统,其特征在于,包括:

2.根据权利要求1所述的基于虚幻引擎的对象数据序列化系统,其特征在于,还包括:序列化子模块;所述序列化子模块,用于对所述各对象的元数据中的状态数据进行状态类型判断,当对象的元数据中的状态数据判断为动态类型时,则根据所述状态数据,对动态类型对象的元数据中的类名数据和/或属性数据进行基于动态对象的属性变更修改,得到修改后的动态类型对象的元数据中的类名数据和属性数据,对修改后的动态类型对象的元数据中的类名数据和属性数据进行序列化转化,得到动态类型对象的字符串数据中的类名数据和属性数据;对所述动态类型对象的字符串数据中的类名数据和相应对象的字符串数据中的属性数据进行组装,得到动态类型对象的字符串数据,并在所述动态类型对象的字符串数据中添加动态类型对象标记;当对象的元数据中的状态数据为静态类型,则对静态类型对象的元数据中的类名数据和属性数据进行序列化转化,得到静态类型对象的字符串数据中的类名数据和属性数据;对所述静态类型对象的字符串数据中的类名数据和相应对象的字符串数据中的属性数据进行组装,得到静态类型对象的字符串数据,并在所述动态类型对象的字符串数据中添加动态类型对象标记。

3.根据权利要求1所述的基于虚幻引擎的对象数据序列化系统,其特征在于,还包括:数据优化模块;所述数据优化模块用于对所述各对象的字符串数据进行存储优化,包括:对所述各对象的字符串数据进行判断,若对象的字符串数据中的属性数据的属性值与属性值的默认值不同,则存储对象的字符串数据中的属性数据;若对象的字符串数据中的属性数据的属性值与属性值的默认值相同,则不存储对象的字符串数据中的属性数据;若多个对象的字符串数据中的属性数据相同,则存储一次的字符串数据中的属性数据;若对象的字符串数据大于阈值,则对对象的字符串数据进行压缩,存储对象的字符串数据对应的压缩数据。

4.一种基于虚幻引擎的对象数据序列化方法,其特征在于,包括如下步骤:

5.一种基于虚幻引擎的对象数据反序列化系统,其特征在于,包括:

6.根据权利要求5所述的基于虚幻引擎的对象数据反序列化系统,其特征在于,还包括:反序列化子模块;所述反序列化子模块用于对所述各对象的元数据中的类型标记进行判断,当对象的字符串数据中的类型标记为动态类型,则根据当前动态类型对象的字符串数据中的类名数据和属性数据,对动态类型对象的字符串数据中的类名数据和属性数据进行基于动态对象的属性变更修改,得到修改后的动态类型对象的字符串数据中的类名数据和属性数据,对修改后的动态类型对象的字符串数据中的类名数据和属性数据进行反序列化还原,得到动态类型对象的元数据中的类名数据和属性数据;当对象的字符串数据中的类型标记为静态类型,则对静态类型对象的字符串数据中的类名数据和属性数据进行反序列化还原,得到静态类型对象的元数据中的类名数据和属性数据。

7.根据权利要求5所述的基于虚幻引擎的对象数据反序列化系统,其特征在于,所述恢复模块包括:

8.一种基于虚幻引擎的对象数据反序列化方法,其特征在于,包括如下步骤:

9.一种基于虚幻引擎的对象数据序列化和反序列化的验证方法,其特征在于,包括如下步骤:

10.一种计算机程序产品,包括计算机程序或指令,其特征在于,

...

【技术特征摘要】

1.一种基于虚幻引擎的对象数据序列化系统,其特征在于,包括:

2.根据权利要求1所述的基于虚幻引擎的对象数据序列化系统,其特征在于,还包括:序列化子模块;所述序列化子模块,用于对所述各对象的元数据中的状态数据进行状态类型判断,当对象的元数据中的状态数据判断为动态类型时,则根据所述状态数据,对动态类型对象的元数据中的类名数据和/或属性数据进行基于动态对象的属性变更修改,得到修改后的动态类型对象的元数据中的类名数据和属性数据,对修改后的动态类型对象的元数据中的类名数据和属性数据进行序列化转化,得到动态类型对象的字符串数据中的类名数据和属性数据;对所述动态类型对象的字符串数据中的类名数据和相应对象的字符串数据中的属性数据进行组装,得到动态类型对象的字符串数据,并在所述动态类型对象的字符串数据中添加动态类型对象标记;当对象的元数据中的状态数据为静态类型,则对静态类型对象的元数据中的类名数据和属性数据进行序列化转化,得到静态类型对象的字符串数据中的类名数据和属性数据;对所述静态类型对象的字符串数据中的类名数据和相应对象的字符串数据中的属性数据进行组装,得到静态类型对象的字符串数据,并在所述动态类型对象的字符串数据中添加动态类型对象标记。

3.根据权利要求1所述的基于虚幻引擎的对象数据序列化系统,其特征在于,还包括:数据优化模块;所述数据优化模块用于对所述各对象的字符串数据进行存储优化,包括:对所述各对象的字符串数据进行判断,若对象的字符串数据中的属性数据的属性值与属性值的默认值不同,则存储对象的字符串数据中的属性数据;若对象的字符串数据中的属性数据的属性值与属性值的默认值相同,则不...

【专利技术属性】
技术研发人员:陈富强赵璐黄灿王雪李盼盼蔡奇桐崔博洋刘维佳张楠黎晖高扬黄定宇蒋仑金震阳
申请(专利权)人:中交武汉智行国际工程咨询有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1