将多种三维格式数据生成三维场景的方法及系统与流程

文档序号:29075863发布日期:2022-03-01 22:44阅读:204来源:国知局
将多种三维格式数据生成三维场景的方法及系统与流程

1.本技术涉及三维场景生成领域,特别是涉及一种将多种三维格式数据生成三维场景的方法及系统。


背景技术:

2.目前处于数字孪生时代,随着用户不断提高的可视化应用需求,游戏引擎跨界加入智慧城市、智慧水务、智慧工厂、智慧园区等数字孪生行业应用中,基于游戏引擎的高质量实时交互渲染技术,其画面能够达到照片级与真实世界无比真实的效果,但由于游戏引擎所支持的数据格式以及模型制作标准与其它三维引擎不一致,以至于原先基于其它三维引擎生产的三维模型数据需要手动重新生产建模以在游戏引擎中应用,这带来了极大的不方便以及难度。
3.目前数字孪生行业应用在游戏引擎的选择通常有三种方式,采用unreal engine游戏引擎;采用unity3d游戏引擎;自主研发游戏引擎。而unreal engine游戏引擎是目前全球公认最优秀的引擎之一,它拥有高质量的实时交互渲染技术,拥有超逼真的画面渲染效果,目前已广泛应用于数字孪生行业应用。citymaker、skyline等作为传统三维gis引擎在过去也支持了非常多行数字孪生行业应用的开发,然而在画面渲染方面无法达到游戏引擎级别的渲染效果,目前想在应用渲染效果上提升比较困难,只能将引擎转为unreal engine从而拥有更加强大的渲染效果,然而,由于unreal engine不能直接使用这些引擎的数据格式,需要对这些三维场景模型数据进行按照unreal engine的建模标准进行重新生产,智慧城市行业应用中城市级的海量三维模型重新建模成本极大且难度大耗时。当前的技术方案,主要存在旧资源无法充分利用,重复建模浪费人力,成本大,难度大,耗时等缺点。总体上,目前的技术方案由于成本大、资源浪费、难度大等原因,很难普遍应用到旧数字孪生行业应用的升级。
4.要想解决游戏引擎无法直接应用其它三维引擎生产的三维模型场景资源首先要解决的是原三维引擎格式数据与unreal engine游戏引擎的兼容性问题,需要将原三维引擎格式的数据转换成游戏引擎格式支持的格式。一般的方法是通过基于原三维引擎格式的原始模型建模数据按照unreal engine游戏引擎的标准再建模,再处理,重新生产模型数据然后再导入到游戏引擎生成三维场景,但由于此方法需要手动重新建模及处理数据,城市级的三维模型数据量极大,给实际实施带来了极大的实施成本和难度,且通过此方法生成的场景并不稳定需要经过大量的人工场景优化处理操作,导致此方法实际实施结果不理想。


技术实现要素:

5.本发明针对上述问题,提供了一种将多种三维格式数据生成三维场景的方法及系统,通过实现三维格式数据自动化转换引擎来实现将多种三维格式数据转换成unreal engine支持的fbx格式数据,通过实现blenderfbx模型自动切片工具来实现fbx格式数据按
照网格进行切片,通过实现unreal engine自动导入工具来实现将fbx切片数据自动导入unreal engine生成静态网格体,通过实现unreal engine批量自动lod工具实现将导入unreal engine生成静态网格体自动lod优化场景性能。
6.本发明的第一方面,提供了一种将多种三维格式数据生成三维场景的方法,包括以下步骤:
7.构建三维格式数据自动化转换引擎,通过三维格式数据自动化转换引擎将三维格式数据统一转换成fbx格式数据;
8.利用自动切片工具将fbx格式数据按照网格以及位置进行切片,将切片后的fbx格式数据按照位置以及切片大小形成块数据;
9.利用自动导入工具将块数据自动导入unreal engine生成静态网格体;
10.利用批量自动lod工具,将生成的静态网格体批量自动lod,优化场景渲染性能。
11.进一步的,所述通过三维格式数据自动化转换引擎将三维格式数据统一转换成fbx格式数据包括:
12.对三维格式数据进行检查分析,包括分析出三维格式数据的空间坐标关系;
13.将三维格式数据的空间坐标关系转换为unreal engine支持的空间坐标关系,形成三维模型数据;
14.分析三维模型数据,删除错误或冗余的三维模型数据,对三维模型贴图进行优化;
15.将三维模型数据批量导出生成fbx格式数据。
16.进一步的,所述利用自动切片工具将fbx格式数据形成块数据过程包括:
17.读取并分析fbx格式数据;
18.自定义生成适配于unreal engine场景的切片网格;
19.基于切片网格生成fbx切片,选择需要生成fbx切片的网格,设置相对应的参数;
20.将fbx切片按照位置以及切片大小形成块数据。
21.本发明的第二方面,提供了一种将多种三维格式数据生成三维场景的系统,所述系统包括:
22.三维格式数据自动化转换引擎,用于将三维格式数据统一转换成fbx格式数据;
23.自动切片工具,用于将fbx格式数据按照网格以及位置进行切片,将切片后的fbx格式数据按照位置以及切片大小形成块数据;
24.自动导入工具,用于将块数据自动导入unreal engine生成静态网格体;
25.批量自动lod工具,用于将导入unreal engine生成的静态网格体批量自动lod,优化场景渲染性能。
26.进一步的,所述三维格式数据自动化转换引擎包括数据检查分析模块、数据空间转换模块、数据优化模块、格式转换模块,其中,数据检查分析模块用于对三维格式数据进行检查分析,包括分析出三维格式数据的空间坐标关系;数据空间转换模块用于将三维格式数据的空间坐标关系转换为unreal engine支持的空间坐标关系,形成三维模型数据;数据优化模块用于分析三维模型数据,删除错误或冗余的三维模型数据,对三维模型贴图进行优化;格式转换模块用于将三维模型数据批量导出生成fbx格式数据。
27.进一步的,所述自动切片工具包括fbx读取模块、切片网格定义模块、fbx切片生成模块、fbx切片重组模块,其中,fbx读取模块用于读取并分析fbx格式数据;切片网格定义模
块用于自定义生成适配于unreal engine场景的切片网格;fbx切片生成模块用于基于切片网格生成fbx切片,选择需要生成fbx切片的网格,设置相对应的参数;fbx切片重组模块用于将fbx切片按照位置以及切片大小形成块数据。
28.本发明的第三方面,提供了一种计算机可读存储介质,其上存储有指令,所述指令在被处理器执行时,使得所述处理器执行上述将多种三维格式数据生成三维场景的方法。
29.本发明提供的一种将多种三维格式数据生成三维场景的方法及系统,通过构建数据自动转换引擎,构建fbx自动切片工具,构建fbx切片导入工具,构建批量自动lod工具,将数据全流程工具链自动生成为unreal engine三维场;通过构建数据自动转换引擎,将三维模型数据按照unreal engine的标准分析计算优化,输出fbx格式数据;通过构建fbx自动切片工具,将fbx模型按照unreal engine场景最佳的构建标准,按照地理空间位置网格切片重组织生成块数据;通过构建fbx切片导入工具,批量自动导入fbx切片,在unreal engine中模型生成静态网格体,初步生成unreal engine三维场景;通过构建静态网格体批量自动lod工具,对静态网格体进行批量自动lod,从而优化场景性能,生成稳定流畅运行的unreal engine三维场景。本发明最终达到的有益效果:重复利用原数据,资源利用率高;无需人工再建模处理原数据;工具链自动化处理,操作简单,人力成本低,效率高,省时间;可应用性好,可应用于多种三维数据格式的旧应用升级改造;标准流程工具链操作,执行简单,可复用性好;生成的场景稳定性好,流畅度高。
附图说明
30.图1是本发明实施例的将多种三维格式数据生成三维场景的方法流程图;
31.图2是本发明实施例的将多种三维格式数据生成三维场景的系统结构示意图;
32.图3是本发明实施例中的三维格式数据自动化转换引擎结构示意图;
33.图4是本发明实施例中的自动切片工具结构示意图。
具体实施方式
34.为进一步对本发明的技术方案作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的步骤。
35.本如图1所示,本发明实施例提供的将多种三维格式数据生成三维场景的方法,包括以下步骤:
36.s1、构建三维格式数据自动化转换引擎,通过三维格式数据自动化转换引擎将三维格式数据统一转换成fbx格式数据;
37.进一步的,s1具体过程包括:
38.通过调用modelanlysis完成对三维格式数据进行检查分析,包括但不限于分析出三维格式数据的空间坐标关系,例如包括三维格式数据的模型可优化情况、模型纹理、贴图、面数等相关信息,为与unreal engine的兼容适配做坚实的基础;
39.通过调用cartographictocartesian将地理空间坐标系转换为unreal engine的地心空间直角坐标系,从而将三维格式数据的空间坐标关系转换为unreal engine支持的空间坐标关系,形成三维模型数据;
40.通过调用modeloptimization分析三维模型数据,删除错误或冗余的三维模型数
据,对三维模型贴图进行优化,包括但不限于负责对三维模型质量进行分析,删除错误对象,模型贴图优化,删除冗余对象等;
41.通过调用exportfbxs将三维格式数据转fbx,将三维模型数据批量自动导出生成fbx格式数据。负责三维模型数据批量自动导出生成fbx格式数据。
42.s2、构建自动切片工具,通过自动切片工具将fbx格式数据按照网格以及位置进行切片,经过切片重组织后的fbx格式数据按照位置以及切片大小形成块数据为后续在unreal engine中拥有一个高性能渲染展示做好了基础。
43.进一步的,s2具体过程包括:
44.通过调用fbxdataanlysis读取并分析fbx格式数据,分析获取到fbx数据的数据量大小,空间位置坐标关系,模型贴图大小等;
45.通过调用drawpolygon生成fbx数据范围的多边形,根据fbx总数据量的大小,按照小块范围最适配于unreal engine场景的原则分别从纵向以及横向生成分割线条,从而形成网格。同时可以通过设置横向与纵向的块数量来自定义网格。
46.在定义好的网格中选择需要生成fbx切片的块,设置相对应的参数,包括但不限于模型精细度、容错率、分辨率等,通过调用generatetile生成选择区域的切片。
47.s3、构建自动导入工具,通过自动导入工具将块数据自动导入unreal engine生成静态网格体;fbx切片自动导入工具负责批量自动导入fbx切片的块数据,unreal engine中模型生成静态网格体,初步生成unreal engine三维场景。
48.进一步的,s3具体过程包括:
49.通过调用importfbx导入fbx模型生成静态网格体,初步生成unreal engine三维场景。
50.s4、构建批量自动lod工具,将生成的静态网格体批量自动lod,优化场景渲染性能。
51.进一步的,s4具体过程包括:
52.通过调用getstaticmesh获取所有的unreal engine静态网格体,再通过调用setlods设置lod,从而形成自动lod工具,通过执行该工具将生成的静态网格体批量自动lod,优化场景渲染性能。
53.以下,参照图2来描述根据本公开实施例的与图1所示的方法对应的系统,一种将多种三维格式数据生成三维场景的系统,所述系统100包括三维格式数据自动化转换引擎101、自动切片工具102、自动导入工具103、批量自动lod工具104,其中三维格式数据自动化转换引擎101用于将三维格式数据统一转换成fbx格式数据;自动切片工具102用于将fbx格式数据按照网格以及位置进行切片、重组,将重组后的fbx格式数据按照位置以及切片大小形成块数据;自动导入工具103用于将块数据自动导入unreal engine生成静态网格体;批量自动lod工具104用于将导入unreal engine生成的静态网格体批量自动lod,优化场景渲染性能。除了这4个部分以外,系统100还可以包括其他部件,包括但不限于提供服务的服务系统,具体有通信服务单元、云智能选址服务单元、数据流服务单元、控制流服务单元、云智能分析服务单元等基础支撑功能服务单元。在实现不同的功能时,根据实际需要调整服务系统其中的一个或多个服务单元。
54.进一步的,三维格式数据自动化转换引擎101包括数据检查分析模块1011、数据空
间转换模块1012、数据优化模块1013、格式转换模块1014,其中,数据检查分析模块1011用于对三维格式数据进行检查分析,包括分析出三维格式数据的空间坐标关系;数据空间转换模块1012用于将三维格式数据的空间坐标关系转换为unreal engine支持的空间坐标关系,形成三维模型数据;数据优化模块1013用于分析三维模型数据,删除错误或冗余的三维模型数据,对三维模型贴图进行优化;格式转换模块1014用于将三维模型数据批量导出生成fbx格式数据。
55.进一步的,自动切片工具102包括fbx读取模块1021、切片网格定义模块1022、fbx切片生成模块1023、fbx切片重组模块1024,其中,fbx读取模块1021用于读取并分析fbx格式数据;切片网格定义模块1022用于自定义生成适配于unreal engine场景的切片网格;fbx切片生成模块1023用于基于切片网格生成fbx切片,选择需要生成fbx切片的网格,设置相对应的参数;fbx切片重组模块1024用于将切片后的fbx格式数据进行重组并按照位置以及切片大小形成块数据。
56.一种将多种三维格式数据生成三维场景的系统100的具体工作过程参照上述一种将多种三维格式数据生成三维场景的方法的描述,不再赘述。
57.本发明实施例也可以被实现为计算机可读存储介质。根据实施例的计算机可读存储介质上存储有计算机可读指令。当所述计算机可读指令由处理器运行时,可以执行参照以上附图描述的根据本发明实施例的将多种三维格式数据生成三维场景的方法。
58.目前与本发明最相似的技术方案是将模型的原始数据基于3dmax等建模软件对三维模型数据进行手动再建模再处理然后导入unreal engine。通过将模型的原始数据在3dmax等建模软件,按照unreal engine的建模标准进行手动重新建模,重新构面,模型展uv,设置uv通道等操作,然后将模型导出为unreal engine支持的fbx格式,最后再将fbx模型导入到unreal engine中生成三维场景,但是由于需要进行手动重新建模,重新处理数据等操作,工作量极大,耗时大,成本高,同时通过该方式构建生成的场景需要进行大量的unreal engine场景的优化构建操作才能将大场景在unreal engine中流畅的运行起来,难度极大,因此该技术方案目前并未能非常理想的助力数字孪生行业应用的升级。本发明提供的一种将多种三维格式数据生成三维场景的方法及系统,通过构建数据自动转换引擎,构建fbx自动切片工具,构建fbx切片导入工具,构建批量自动lod工具,将数据全流程工具链自动生成为unreal engine三维场;通过构建数据自动转换引擎,将三维模型数据按照unreal engine的标准分析计算优化,输出fbx格式数据;通过构建fbx自动切片工具,将fbx模型按照unreal engine场景最佳的构建标准,按照地理空间位置网格切片重组织生成块数据;通过构建fbx切片导入工具,批量自动导入fbx切片,在unreal engine中模型生成静态网格体,初步生成unreal engine三维场景;通过构建静态网格体批量自动lod工具,对静态网格体进行批量自动lod,从而优化场景性能,生成稳定流畅运行的unreal engine三维场景。本发明最终达到的有益效果:重复利用原数据,资源利用率高;无需人工再建模处理原数据;工具链自动化处理,操作简单,人力成本低,效率高,省时间;可应用性好,可应用于多种三维数据格式的旧应用升级改造;标准流程工具链操作,执行简单,可复用性好;生成的场景稳定性好,流畅度高。
59.在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的步骤、方法不仅包括那些要素,而且还包括没有明确列出的其他
要素,或者是还包括为这种步骤、方法所固有的要素。
60.以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1