一种场景数据的同步方法、装置、系统及存储介质制造方法及图纸

技术编号:28225085 阅读:15 留言:0更新日期:2021-04-28 09:57
本发明专利技术提供了一种场景数据的同步方法、装置、系统及存储介质,该方法包括:第二客户端接收服务器推送的由至少一个第一客户端编辑后的指定通用格式的子场景文件,指定通用格式为各客户端通用的文件格式;通过引擎编辑器从接收的子场景文件中提取场景资源,将提取的场景资源转换为引擎内部格式;基于引擎内部格式的场景资源和子场景文件中的场景树构建场景结构并生成场景对象。本发明专利技术在不同客户端之间同步的通用格式数据能兼容于各客户端,保证了场景资源加载的性能,可以有效支持客户端的扩展和修改,通过多个第一客户端协同编辑场景资源并将编辑后的子场景文件同步推送至其他客户端,提高了场景资源的编辑效率,促进了不同客户端间的关联性。户端间的关联性。户端间的关联性。

【技术实现步骤摘要】
一种场景数据的同步方法、装置、系统及存储介质


[0001]本专利技术涉及数据处理
,特别是一种场景数据的同步方法、装置、系统及存储介质。

技术介绍

[0002]通常游戏引擎使用的数据主要包括资源和场景。其中,资源来自网格、动画、图片等文件,常用的格式包含fbx,obj,png等格式。场景是利用这些资源搭建而成的展示环境,一般将使用资源的游戏对象组织成场景树的结构。有的格式本身只对应一种资源,有的格式对应多种资源和场景。资源和场景通过数字内容创作软件DCC(Digital Content Creation,即数字内容创作)生成,如生成网格和动画资源的软件maya,生成图片资源的软件photoshop等。一般情况下不会直接使用原始生成的场景和资源,而是会对资源进行整理和转换,并在编辑器中搭建真正应用的场景。
[0003]但是,现有的资源格式使用上有许多问题,如fbx格式解析效率低下,obj格式没有动画数据,dae格式标准化不好,一般资源文件不带场景信息,很难将一种资源格式高效全面地应用于各种游戏数据。不同资源格式之间无法互相兼容,为不同的资源编写相应的转换工具会带来重复且繁杂的工作量。其次,市面上的格式比较固化,无法做到灵活的调整,格式难以扩展,不便维护。再者目前DCC对资源和场景的制作过程和存储文件都没有协同编辑方面的优化处理。此外,现有技术没有实现数据在不同工具或引擎之间的互通,无法做到同步修改和显示,无法做到在某个引擎或DCC中搭建好的场景被另一个直接使用。

技术实现思路

[0004]鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的场景数据的同步方法、装置、系统及存储介质,能够保证场景资源加载的性能,可以有效支持客户端的扩展和修改,提高对场景资源的协同编辑能力。并且,有效实现了场景数据的在各客户端间的及时同步,促进了不同客户端之间的关联性。
[0005]根据本专利技术实施例的一方面,提供了一种场景数据的同步方法,多个客户端使用服务器中同一场景的多个子场景文件,任意客户端可为第一客户端或第二客户端,该方法包括:
[0006]所述第二客户端接收服务器推送的由至少一个第一客户端编辑后的指定通用格式的子场景文件,所述指定通用格式为各客户端通用的文件格式;
[0007]通过引擎编辑器从接收的子场景文件中提取场景资源,将提取的场景资源转换为引擎内部格式;
[0008]基于所述引擎内部格式的场景资源和子场景文件中的场景树构建场景结构并生成场景对象。
[0009]可选地,所述子场景文件包含的场景资源采用可扩展的资源对象存储结构;
[0010]所述资源对象包含对象名称和对象内容,其中,所述对象内容包括对象属性和与
其他对象的引用关系。
[0011]可选地,所述子场景文件接收至少第一个客户端的编辑操作方式包含:对所述子场景文件中的资源对象的定义操作、重写操作、引用关系设置操作中至少一项编辑操作。
[0012]可选地,所述通过引擎编辑器从接收的子场景文件中提取场景资源,将提取的场景资源转换为引擎内部格式,包括:
[0013]通过引擎编辑器从接收的子场景文件中提取场景资源,将提取的场景资源保存至新生成的子场景文件中;
[0014]将新生成的子场景文件中的场景资源转换为引擎内部格式。
[0015]可选地,将新生成的子场景文件中的场景资源转换为引擎内部格式,包括:
[0016]采用并行化工具将新生成的子场景文件中的场景资源转换为引擎内部格式;或
[0017]采用多线程方式将新生成的子场景文件中的场景资源转换为引擎内部格式。
[0018]可选地,基于所述引擎内部格式的场景资源和子场景文件中的场景树构建场景结构并生成场景对象,包括:
[0019]基于所述引擎内部格式的场景资源和子场景文件中的场景树创建引擎编辑器的场景结构,并利用引擎内部格式的场景资源生成场景对象。
[0020]可选地,基于所述引擎内部格式的场景资源和子场景文件中的场景树创建引擎编辑器的场景结构,包括:
[0021]将所述子场景文件中的场景树还原至引擎编辑器中;其中,所述子场景文件中的场景树中每个层级节点对应一个资源对象;
[0022]所述引擎编辑器基于所述引擎内部格式的场景资源和所述场景树创建引擎编辑器的场景结构。
[0023]可选地,所述子场景文件采用文本格式或二级制格式保存于服务器,其中,
[0024]所述文本格式的子场景文件按照场景的逻辑关系保存;
[0025]所述二级制格式的子场景文件中的场景数据包含场景结构、资源的默认值、资源的时间信息值中的三种数据,且优先级由高到低依次为场景结构、资源的默认值、资源的时间信息值。
[0026]根据本专利技术实施例的另一方面,还提供了一种场景数据的同步装置,多个客户端使用服务器中同一场景的多个子场景文件,任意客户端可为第一客户端或第二客户端,该装置应用于第二客户端,包括:
[0027]接收模块,适于接收服务器推送的由至少一个第一客户端编辑后的指定通用格式的子场景文件,所述指定通用格式为各客户端通用的文件格式;
[0028]转换模块,适于通过引擎编辑器从接收的子场景文件中提取场景资源,将提取的场景资源转换为引擎内部格式;
[0029]构建生成模块,适于基于所述引擎内部格式的场景资源和子场景文件中的场景树构建场景结构并生成场景对象。
[0030]根据本专利技术实施例的另一方面,还提供了一种场景数据的同步系统,包括:服务器和多个客户端,多个客户端使用服务器中同一场景的多个子场景文件,任意客户端可为第一客户端或第二客户端,其中,
[0031]任意第一客户端对子场景文件执行编辑操作,将编辑后的子场景文件转换为指定
通用格式的子场景文件并上传至服务器,所述指定通用格式为各客户端通用的文件格式;
[0032]所述服务器将接收到的第一客户端编辑后的指定通用格式的子场景文件推送至至少一个第二客户端;
[0033]所述第二客户端通过引擎编辑器从接收的子场景文件中提取场景资源,将提取的场景资源转换为引擎内部格式,并基于所述引擎内部格式的场景资源和子场景文件中的场景树构建场景结构并生成场景对象。
[0034]根据本专利技术实施例的又一方面,还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行上文任意实施的场景数据的同步方法。
[0035]根据本专利技术实施例的再一方面,还提供了一种计算设备,包括:处理器;存储有计算机程序代码的存储器;当所述计算机程序代码被所述处理器运行时,导致所述计算设备执行上文任意实施的场景数据的同步方法。
[0036]本专利技术实施例中,当至少一个第一客户端编辑子场景文件并保存为指定通用格式的子场景文件后可以由服务器将编辑后的指定通用格式的子场景文件同步至第二客户端,通过第二客户端引擎编辑器对子场本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种场景数据的同步方法,其特征在于,多个客户端使用服务器中同一场景的多个子场景文件,任意客户端可为第一客户端或第二客户端,方法包括:所述第二客户端接收服务器推送的由至少一个第一客户端编辑后的指定通用格式的子场景文件,所述指定通用格式为各客户端通用的文件格式;通过引擎编辑器从接收的子场景文件中提取场景资源,将提取的场景资源转换为引擎内部格式;基于所述引擎内部格式的场景资源和子场景文件中的场景树构建场景结构并生成场景对象。2.根据权利要求1所述的方法,其特征在于,所述子场景文件包含的场景资源采用可扩展的资源对象存储结构;所述资源对象包含对象名称和对象内容,其中,所述对象内容包括对象属性和与其他对象的引用关系。3.根据权利要求2所述的方法,其特征在于,所述子场景文件接收至少第一个客户端的编辑操作方式包含:对所述子场景文件中的资源对象的定义操作、重写操作、引用关系设置操作中至少一项编辑操作。4.根据权利要求1所述的方法,其特征在于,所述通过引擎编辑器从接收的子场景文件中提取场景资源,将提取的场景资源转换为引擎内部格式,包括:通过引擎编辑器从接收的子场景文件中提取场景资源,将提取的场景资源保存至新生成的子场景文件中;将新生成的子场景文件中的场景资源转换为引擎内部格式。5.根据权利要求4所述的方法,其特征在于,将新生成的子场景文件中的场景资源转换为引擎内部格式,包括:采用并行化工具将新生成的子场景文件中的场景资源转换为引擎内部格式;或采用多线程方式将新生成的子场景文件中的场景资源转换为引擎内部格式。6.根据权利要求1所述的方法,其特征在于,基于所述引擎内部格式的场景资源和子场景文件中的场景树构建场景结构并生成场景对象,包括:基于所述引擎内部格式的场景资源和子场景文件中的场景树创建引擎编辑器的场景结构,并利用引擎内部格式的场景资源生成场景对象。7.根据权利要求2所述的方法,其特征在于,基于所述引擎内部格式的场景资源和子场景文件中的场景树创建引擎编辑器的场景结构,包括:将所述子场景文件中的场景树还原至引擎编辑器中;其中,所述子场景文件中的场景树中每个层级节点对应一个资源对象;所述引擎编辑器基于所述引擎内部格式的场景...

【专利技术属性】
技术研发人员:修磊冯星李荣华
申请(专利权)人:完美世界北京软件科技发展有限公司
类型:发明
国别省市:

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

1