一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

虚拟室内场景的生成方法及装置、存储介质、电子装置与流程

2022-04-09 06:14:53 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,具体而言,涉及一种虚拟室内场景的生成方法及装置、存储介质、电子装置。


背景技术:

2.相关技术中,使用传统三维制作软件,如3dsmax和maya来进行室内空间和空间陈列物的建模和uv制作。在引擎中手动拖入资产来进行物体摆放。
3.相关技术中,输入数据源为窗户模型和手动拖拽其坐标轴将窗户模型(模型b)移动到墙体模型(模型a)上美术设计的位置p。操作过程为进行boolean(布尔)计算,从而将窗户区域从墙体模型上抠除,以便光照可以从扣掉的部分照射进来。输出数据为布尔计算后的墙体模型(模型a’)。不好确保规范和统一性指的是,有若干模型b,靠手动移动的位置会造成多个模型b之间距离的差异,无法达到美术设计的要求。相关技术中的实现流程为手动依次拖拽需摆放的模型b1,b2,b3

bn,将其坐标p1,p2,p3

pn移动到美术设计图中的位置。如相关技术中进行墙体开窗(前面提到的布尔计算)的操作时,需要依次对每个计算位置进行上述手动操作,即将窗户模型(模型b)移动到墙体模型(模型a)上美术设计的位置进行boolean(布尔)计算,进行过布尔计算的墙体改变了顶点数量和uv分布,需要另外手动对uv进行修改。与此同时,布尔计算是破坏性的,无法简单恢复计算前的墙体模型,所以当我们想对进行过布尔计算的墙体做二次修改时,相当于重新制作一遍。
4.相关技术需要大量的重复性建模工作,手动操作容易出错,如建筑空间内有多扇窗,对每个窗户位置的墙面需要手动做同样的处理,不好确保规范性和统一性。大量的重复性的摆放工作,手动操作费时费力,位置不准确,如拖拽酒馆大堂陈设的桌椅时,需要按照规则摆放整齐。不便于迭代,如第一个缺陷提到的开窗问题,对墙体做了破坏性操作之后再改变开窗位置和数量时,需要重新进行一系列的操作。又如摆放桌椅问题,圆桌椅子数量变化时需要依次重新调整每把椅子的位置。
5.针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。


技术实现要素:

6.本发明实施例提供了一种虚拟室内场景的生成方法及装置、存储介质、电子装置。
7.根据本发明的一个实施例,提供了一种虚拟室内场景的生成方法,包括:获取待搭建的虚拟室内场景的框架模型的框架几何体数据和组件模型的布局参数,其中,所述布局参数用于表征所述组件模型的分布稀疏度,所述组件模型布局在所述框架模型内;根据所述框架几何体数据和所述布局参数计算所述组件模型的搭建参数,其中,所述搭建参数用于表征所述组件模型在虚拟室内场景的搭建位置;基于所述搭建参数生成所述虚拟室内场景的渲染资源文件。
8.可选的,获取待搭建的虚拟室内场景的框架模型的框架几何体数据包括:确定所述框架模型的框架形状;获取所述框架模型的房间尺寸参数,获取所述框架模型内天花板
的天花板参数,其中,所述天花板参数包括形状参数和尺寸参数;基于面的位置对所述框架形状,所述房间尺寸参数,以及所述天花板参数进行预处理,生成所述框架模型的框架几何体数据。
9.可选的,获取待搭建的虚拟室内场景的组件模型的布局参数包括:响应待搭建的虚拟室内场景的组件模型的编辑指令,显示所述组件模型的编辑页面,其中,所述编辑页面包括所述组件模型的模型预制体的存储路径和多个编辑项;在所述编辑页面的第一编辑项位置检测第一布局参数,其中,所述第一布局参数用于描述所述组件模型在所述框架模型内的排列总数;在所述编辑页面的第二编辑项位置检测第二布局参数,其中,所述第二布局参数用于描述所述组件模型在所述框架模型内的分布方向;在所述编辑页面的第三编辑项位置检测第三布局参数,其中,所述第三布局参数用于描述所述组件模型在所述框架模型内的间隔距离;在所述编辑页面的第四编辑项位置检测第四布局参数,其中,所述第四布局参数用于指示所述组件模型的模型预制体的调整样式;在所述编辑页面的第五编辑项位置检测第五布局参数,其中,所述第五布局参数用于指示在所述框架模型的外墙面添加封闭的包裹体。
10.可选的,根据所述框架几何体数据和所述布局参数计算所述组件模型的搭建参数包括:基于所述第一布局参数在所述框架模型内复制生成多个相同的模型预制体;根据所述第二布局参数和所述第三布局参数计算所述多个模型预制体分别在所述框架模型内的位置参数,其中,所述位置参数包括:三维坐标位置和朝向方位;根据所述第四布局参数调整所述模型预制体的预制体样式;基于所述第五布局参数在所述框架模型的外墙面添加封闭的包裹体,并在所述包裹体上留空透光区域。
11.可选的,根据所述第二布局参数和所述第三布局参数计算所述多个模型预制体分别在所述框架模型内的位置参数包括:在所述框架模型内确定所述组件模型的布局空间;基于所述间隔距离将所述布局空间平均划分为多个子空间,其中,所述子空间的数量与所述模型预制体的数量相同;定位每个子空间的中心点,将所述中心点确定为对应子区域内模型预制体的坐标位置,并基于所述分布方向为每个子区域内的模型预制体配置相同的法线信息。
12.可选的,所述框架几何体数据包括:顶点数据、角点数据、面片数据、几何结构数据。
13.可选的,所述组件模型包括以下至少之一组件的模型:房间、门、墙体窗、天窗、屋顶、踢脚线、石膏线、窗框,门框、房梁、房柱、地板、吧台。
14.可选的,基于所述搭建参数生成所述虚拟室内场景的渲染资源文件包括:针对每个组件模型,添加所述组件模型的贴图参数;根据所述贴图参数和所述搭建参数生成所述组件模型的子模型文件,其中,所述子模型文件包括子网格信息和子材质信息;将所述虚拟室内场景内所有组件模型的子模型文件合并生成预定格式的渲染资源文件,其中,所述渲染资源文件包括若干类子模型文件,每类子模型文件包括若干个子模型文件。
15.可选的,在基于所述搭建参数生成所述虚拟室内场景的渲染资源文件之后,所述方法还包括:将所述渲染资源文件导入渲染引擎,并将所述虚拟室内场景的点云数据导入所述渲染引擎;在所述渲染引擎中对所述组件模型的子材质信息进行个性化修改并按照修改后的搭建参数和所述点云数据生成所述虚拟室内场景的三维场景画面;或者,在所述渲
染引擎中直接采用所述渲染资源文件和所述点云数据生成所述虚拟室内场景的三维场景画面。
16.根据本发明的另一个实施例,提供了一种虚拟室内场景的生成装置,包括:获取模块,用于获取待搭建的虚拟室内场景的框架模型的框架几何体数据和组件模型的布局参数,其中,所述布局参数用于表征所述组件模型的分布稀疏度,所述组件模型布局在所述框架模型内;计算模块,用于根据所述框架几何体数据和所述布局参数计算所述组件模型的搭建参数,其中,所述搭建参数用于表征所述组件模型在虚拟室内场景的搭建位置;生成模块,用于基于所述搭建参数生成所述虚拟室内场景的渲染资源文件。
17.可选的,所述获取模块包括:确定单元,用于确定所述框架模型的框架形状;获取单元,用于获取所述框架模型的房间尺寸参数,获取所述框架模型内天花板的天花板参数,其中,所述天花板参数包括形状参数和尺寸参数;生成单元,用于基于面的位置对所述框架形状,所述房间尺寸参数,以及所述天花板参数进行预处理,生成所述框架模型的框架几何体数据。
18.可选的,所述获取模块包括:显示单元,用于响应待搭建的虚拟室内场景的组件模型的编辑指令,显示所述组件模型的编辑页面,其中,所述编辑页面包括所述组件模型的模型预制体的存储路径和多个编辑项;第一检测单元,用于在所述编辑页面的第一编辑项位置检测第一布局参数,其中,所述第一布局参数用于描述所述组件模型在所述框架模型内的排列总数;第二检测单元,用于在所述编辑页面的第二编辑项位置检测第二布局参数,其中,所述第二布局参数用于描述所述组件模型在所述框架模型内的分布方向;第三检测单元,用于在所述编辑页面的第三编辑项位置检测第三布局参数,其中,所述第三布局参数用于描述所述组件模型在所述框架模型内的间隔距离;第四检测单元,用于在所述编辑页面的第四编辑项位置检测第四布局参数,其中,所述第四布局参数用于指示所述组件模型的模型预制体的调整样式;第五检测单元,用于在所述编辑页面的第五编辑项位置检测第五布局参数,其中,所述第五布局参数用于指示在所述框架模型的外墙面添加封闭的包裹体。
19.可选的,所述计算模块包括:生成单元,用于基于所述第一布局参数在所述框架模型内复制生成多个相同的模型预制体;计算单元,用于根据所述第二布局参数和所述第三布局参数计算所述多个模型预制体分别在所述框架模型内的位置参数,其中,所述位置参数包括:三维坐标位置和朝向方位;调整单元,用于根据所述第四布局参数调整所述模型预制体的预制体样式;添加单元,用于基于所述第五布局参数在所述框架模型的外墙面添加封闭的包裹体,并在所述包裹体上留空透光区域。
20.可选的,所述计算单元包括:确定子单元,用于在所述框架模型内确定所述组件模型的布局空间;划分子单元,用于基于所述间隔距离将所述布局空间平均划分为多个子空间,其中,所述子空间的数量与所述模型预制体的数量相同;配置子单元,用于定位每个子空间的中心点,将所述中心点确定为对应子区域内模型预制体的坐标位置,并基于所述分布方向为每个子区域内的模型预制体配置相同的法线信息。
21.可选的,所述框架几何体数据包括:顶点数据、角点数据、面片数据、几何结构数据。
22.可选的,所述组件模型包括以下至少之一组件的模型:房间、门、墙体窗、天窗、屋顶、踢脚线、石膏线、窗框,门框、房梁、房柱、地板、吧台。
23.可选的,所述生成模块包括:添加单元,用于针对每个组件模型,添加所述组件模型的贴图参数;生成单元,用于根据所述贴图参数和所述搭建参数生成所述组件模型的子模型文件,其中,所述子模型文件包括子网格信息和子材质信息;合并单元,用于将所述虚拟室内场景内所有组件模型的子模型文件合并生成预定格式的渲染资源文件,其中,所述渲染资源文件包括若干类子模型文件,每类子模型文件包括若干个子模型文件。
24.可选的,所述装置还包括:导入模块,用于在所述生成模块基于所述搭建参数生成所述虚拟室内场景的渲染资源文件之后,将所述渲染资源文件导入渲染引擎,并将所述虚拟室内场景的点云数据导入所述渲染引擎;渲染模块,用于在所述渲染引擎中对所述组件模型的子材质信息进行个性化修改并按照修改后的搭建参数和所述点云数据生成所述虚拟室内场景的三维场景画面;或者,在所述渲染引擎中直接采用所述渲染资源文件和所述点云数据生成所述虚拟室内场景的三维场景画面。
25.根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
26.根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
27.通过本发明,获取待搭建的虚拟室内场景的框架模型的框架几何体数据和组件模型的布局参数,其中,布局参数用于表征组件模型的分布稀疏度,组件模型布局在框架模型内;根据框架几何体数据和布局参数计算组件模型的搭建参数,其中,搭建参数用于表征组件模型在虚拟室内场景的搭建位置;基于搭建参数生成虚拟室内场景的渲染资源文件,通过获取框架模型的框架几何体数据和组件模型的布局参数,并计算组件模型的搭建参数,生成渲染资源文件,解决了相关技术中手动制作虚拟室内场景导致效率低下的技术问题,提高了虚拟室内场景的建模灵活性,保证了虚拟室内场景中各个组件模型的规范性和统一性,提高了虚拟室内场景的制作效率。
附图说明
28.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
29.图1是本发明实施例的一种虚拟室内场景的生成服务器的硬件结构框图;
30.图2是根据本发明实施例的一种虚拟室内场景的生成方法的流程示意图;
31.图3是本发明实施例采用工具面板输出搭建参数的示意图;
32.图4是本发明实施例中的点云网络和预览界面的示意图;
33.图5是根据本发明实施例的一种虚拟室内场景的生成装置的结构框图;
34.图6是本发明实施例的一种电子装置的结构图。
具体实施方式
35.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人
员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
36.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
37.实施例1
38.本技术实施例一所提供的方法实施例可以在手机、平板、服务器、计算机或者类似的电子终端中执行。以运行在服务器上为例,图1是本发明实施例的一种虚拟室内场景的生成服务器的硬件结构框图。如图1所示,服务器可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述服务器还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器的结构造成限定。例如,服务器还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
39.存储器104可用于存储服务器程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种虚拟室内场景的生成方法对应的服务器程序,处理器102通过运行存储在存储器104内的服务器程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。在本实施例中,处理器104用于响应人机交互指令和游戏策略,渲染生成对应的虚拟室内场景。存储器104用于存储电子游戏的程序脚本,配置信息,渲染资源等。
40.传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
41.可选的,输入输出设备108还包括人机交互屏幕用于通过人机交互接口获取人机交互指令,还用于呈现虚拟场景中的画面;
42.在本实施例中提供了一种虚拟室内场景的生成方法,图2是根据本发明实施例的一种虚拟室内场景的生成方法的流程示意图,如图2所示,该流程包括如下步骤:
43.步骤s202,获取待搭建的虚拟室内场景的框架模型的框架几何体数据和组件模型的布局参数,其中,布局参数用于表征组件模型的分布稀疏度,组件模型布局在框架模型
内;
44.虚拟室内场景包括场景框架和场景组件,场景框架如房屋外框架,场景组件是场景框架内或者内嵌在框架上的一些小物件,如内部的座椅、家具,内嵌在框架上的门窗,阳台等。
45.可选的,框架模型的框架几何体数据包括:顶点数据、角点数据、面片数据、几何结构数据。
46.可选的,组件模型包括以下至少之一组件的模型:房间、门、墙体窗、天窗、屋顶、踢脚线、石膏线、窗框,门框、房梁、房柱、地板、吧台。
47.步骤s204,根据框架几何体数据和布局参数计算组件模型的搭建参数,其中,搭建参数用于表征组件模型在虚拟室内场景的搭建位置;
48.在本实施例中,搭建位置对应的位置参数包括:三维坐标位置,朝向方位等。
49.步骤s206,基于搭建参数生成虚拟室内场景的渲染资源文件。
50.在本实施例的渲染资源文件可以是fbx(film box)文件等可以导入和在场景编辑工具中渲染的指定格式的文件。
51.通过上述步骤,获取待搭建的虚拟室内场景的框架模型的框架几何体数据和组件模型的布局参数,其中,布局参数用于表征组件模型的分布稀疏度,组件模型布局在框架模型内;根据框架几何体数据和布局参数计算组件模型的搭建参数,其中,搭建参数用于表征组件模型在虚拟室内场景的搭建位置;基于搭建参数生成虚拟室内场景的渲染资源文件,通过获取框架模型的框架几何体数据和组件模型的布局参数,并计算组件模型的搭建参数,生成渲染资源文件,解决了相关技术中手动制作虚拟室内场景导致效率低下的技术问题,提高了虚拟室内场景的建模灵活性,保证了虚拟室内场景中各个组件模型的规范性和统一性,提高了虚拟室内场景的制作效率。
52.在本实施例的一个实施方式中,获取待搭建的虚拟室内场景的框架模型的框架几何体数据包括:确定框架模型的框架形状;获取框架模型的房间尺寸参数,获取框架模型内天花板的天花板参数,其中,天花板参数包括形状参数和尺寸参数;基于面的位置对框架形状,房间尺寸参数,以及天花板参数进行预处理,生成框架模型的框架几何体数据。
53.在一些示例中,获取虚拟室内场景尺寸、室内组件的模型作为基础输入源,并对其进行预处理(主要根据面的位置),产生可程序化使用的单元模块和数据,生成所述框架模型的框架几何体数据。
54.上述实施方式可以生成虚拟游戏里可用的室内空间,可以默认矩形,(长宽高可分别调整,可以加线,数量方向可调,方便顶点色绘制,天花板的平面可以切换成弧面或其他造型)。
55.在一个示例中,在工具控制面板中,将参数作为基础输入源,生成了长宽高为6x6x9的长方体,房间尺寸的单位是米,天花板设计梯形,可以调节高度和倾斜角,方便制造开窗的斜面,也可以切换为穹顶。
56.在本实施例的一个实施方式中,获取待搭建的虚拟室内场景的组件模型的布局参数包括:响应待搭建的虚拟室内场景的组件模型的编辑指令,显示组件模型的编辑页面,其中,编辑页面包括组件模型的模型预制体的存储路径和多个编辑项;在编辑页面的第一编辑项位置检测第一布局参数,其中,第一布局参数用于描述组件模型在框架模型内的排列
总数;在编辑页面的第二编辑项位置检测第二布局参数,其中,第二布局参数用于描述组件模型在框架模型内的分布方向;在编辑页面的第三编辑项位置检测第三布局参数,其中,第三布局参数用于描述组件模型在框架模型内的间隔距离;在编辑页面的第四编辑项位置检测第四布局参数,其中,第四布局参数用于指示组件模型的模型预制体的调整样式;在编辑页面的第五编辑项位置检测第五布局参数,其中,第五布局参数用于指示在框架模型的外墙面添加封闭的包裹体。
57.在本实施方式中,输入组件模型的参数(如窗户的高度等分布稀疏度的具体参数、门的长宽高等以及可选组件如踢脚线石膏线等),根据房屋框架的框架几何体数据(包含point顶点、vertex角点、primitive面片、detail几何体信息等),计算出组件模型的数量n、法线n(朝向)以及位置p。
58.以地板分布数据预处理为例,在工具面板上进行输入,包括指定开窗数量,长宽数值可调,开窗位置可调。窗顶部是平还是圆弧或者尖的可切换,默认带基本矩形截面窗框。窗框可关闭可插入定制模型。在一些情况下,可以切换为自定义分布,便于美术手动控制做自定义分布。调完地板之后,继续调整其他组件模型的相关参数,产出美术设计期望的室内模块参数。在一个示例中分布稀疏度可指定需要开门的墙面,开门数量,默认1,默认底沿和地面持平,位置可调,带矩形截面门框,门槛。门框可关闭可插入定制模型。默认带矩形截面踢脚线,贴地,高度可调。可以切换成护墙板模式,上下沿带装饰条。踢脚线石膏线等装饰元素可以启用或禁用,若选择启用,则可以通过调整参数来设计他的样式。默认带顶部装饰条,宽度可调,数量可调,可关闭,顶部贴顶。截面可选择矩形或者无厚度。室外带包裹体,防止单片烘焙漏光。或者墙体屋顶带厚度。包围盒勾选项就是包裹体,将需要透光的门窗自动留空,其余部分为封闭的网格。墙角柱子方向角度可调。屋顶增加天窗。
59.基于本实施例的上述实施方式,根据框架几何体数据和布局参数计算组件模型的搭建参数包括:
60.s11,基于第一布局参数在框架模型内复制生成多个相同的模型预制体;
61.如虚拟室内场景需要10把凳子,则复制10个相同的凳子的模型预制体。
62.s12,根据第二布局参数和第三布局参数计算多个模型预制体分别在框架模型内的位置参数,其中,位置参数包括:三维坐标位置和朝向方位;
63.在一个示例中,根据第二布局参数和第三布局参数计算多个模型预制体分别在框架模型内的位置参数包括:在框架模型内确定组件模型的布局空间;基于间隔距离将布局空间平均划分为多个子空间,其中,子空间的数量与模型预制体的数量相同;定位每个子空间的中心点,将中心点确定为对应子区域内模型预制体的坐标位置,并基于分布方向为每个子区域内的模型预制体配置相同的法线信息。
64.s13,根据第四布局参数调整模型预制体的预制体样式;
65.可以是针对每个模型预制体进行个性化调整,也可以对所有的模型预制体进行风格化调整。
66.s14,基于第五布局参数在框架模型的外墙面添加封闭的包裹体,并在包裹体上留空透光区域。
67.用户先输入需要排列摆放的模型文件(在引擎中,将.fbx或.prefab格式的模型拖入排列对象的位置),模型文件用于生成模型预制体;再输入需要排列的总数;最后设置分
布方向和间隔距离,从而修改模型位置p的x,y,z三个分量的数值。在工具面板中,采用object_merge,copy,bound,ctrl等节点实现,object_merge为输入模型,copy节点的作用是复制出来需要排列的总数,bound节点获取模型的长宽高的尺寸,switchx,switchy,switchz用来启用或禁用x,y,z方向的修改,ctrl节点用于传入间距的数值,图3是本发明实施例采用工具面板输出搭建参数的示意图。
68.在本实施例中,基于搭建参数生成虚拟室内场景的渲染资源文件包括:针对每个组件模型,添加组件模型的贴图参数;根据贴图参数和搭建参数生成组件模型的子模型文件,其中,子模型文件包括子网格信息和子材质信息;将虚拟室内场景内所有组件模型的子模型文件合并生成预定格式的渲染资源文件,其中,渲染资源文件包括若干类子模型文件,每类子模型文件包括若干个子模型文件。
69.将所生成经过参数调整的组件模型进行整理合并,输出模型的整理和规范,包含uv分布贴图,和submesh(子网格),最终输出室内场景整个是一个fbx文件,每一部分都用sub mesh和sub material(材质)。在一个示例中,在工具面板的uvunwrap节点中设置uv分布,用来贴材质;groupdelete和attribdelete节点用来删除工具制作工程中产生的临时数据,在attribcreate节点中设置一个用来拆分submesh(子网格)的属性。在一个示例中,虚拟室内场景位游戏中的酒馆,渲染资源文件的资源结构中的,地板,墙,踢脚线,装饰线,窗框,门框是分开的mesh,上一层有个名字是酒馆拼音,即渲染资源文件的标识信息。
70.在本实施例的渲染资源文件中,每个组件模型包括法线和两套uv,其中,uv1用于贴图,uv2用于烘焙光照贴图lightmap。
71.在本实施例的一些场景中,在基于搭建参数生成虚拟室内场景的渲染资源文件之后,还包括:将渲染资源文件导入渲染引擎,并将虚拟室内场景的点云数据导入渲染引擎;在渲染引擎中对组件模型的子材质信息进行个性化修改并按照修改后的搭建参数和点云数据生成虚拟室内场景的三维场景画面;或者,在渲染引擎中直接采用渲染资源文件和点云数据生成虚拟室内场景的三维场景画面。
72.在本实施例中,由若干个相同或者类似的模型预制体组成的组件模型是一个组件套件,生成虚拟室内场景的三维场景画面包括:首先基于点云数据生成点云网络,点云网络包括若干套挂点,每套挂点至少为3个,每个组件套件的多个模型预制体通过对应的3个挂点定位在虚拟室内场景的框架模型中,由于组件套件中多个模型预制体的位置是相对固定的,采用3个挂点,分别定位其中的三个模型预制体,可以在点云网络中实现对组件套件的整体定位,在模型预制体的数量为2个时,新增一个三维坐标系的原点作为挂点,通过采用组件套件的挂点和模型预制体的三维坐标位置进行双重定位,防止模型预制体在虚拟室内场景的框架模型内偏移或者错误。
73.图4是本发明实施例中的点云网络和预览界面的示意图,呈现了门、窗、柱等模块位置的点云和挂点,用来加载引擎中的门窗模型预制体,从而节省了生成的室内场景模型自身的面数,并提高定位准确率。
74.在工具面板中,设置三个输出接口,第一个preview节点代表包含最终生成的模型资源和点云资源的完整结果;第二个fbx节点代表工具导出的模型文件;第三个pointscloud节点代表工具导出的点云数据,格式为.bgeo.sc。其中,第二个和第三个接口所输出的资源用来导入引擎。
75.将生成的fbx文件导入unity,可以看到模型包含圆形的材质球,可以在引擎中进一步替换和修改。在场景编辑工具(unity)中,导入生成的点云文件,使用输出的点云文件(.bgeo.sc)导入场景编辑工具中,如将点云文件的读取工具拖入,在场景编辑工具中,将fbx拖入hierarchy面板,室内模型的结构显示在场景视图中,使用本发明中的排列工具来摆放室内陈设,如桌椅、书架、床铺、衣柜等引擎中的模型预设体。
76.本实施例通过节点式编程,将搭建场景所必须或可选的组件(如房间、门、窗、天窗、屋顶、装潢的踢脚线和石膏线、房梁、柱、地板等)和其他特殊模块(如本例中的吧台)通过参数来调整其位置和数量,解决组件之间的冲突,输入源为工具面板所暴露的参数,根据输入参数,建立各个模块之间的关系(如房间尺寸影响地板的尺寸和墙面的位置,墙面位置影响墙上窗户的位置),修改各个模块的位置p(x,y,z),数量n,自动展开uv,将模型合批(同材质的mesh合并为一个)和命名。本工具的输出为一个可导入游戏引擎的fbx文件,在引擎中可以贴图,呈现室内场景的效果。
77.采用本实施例的方案,避免了大量的重复性建模工作,手动操作容易出错,如建筑空间内有多扇窗,对每个窗户位置的墙面需要手动做同样的处理,不好确保规范性和统一性。避免了大量的重复性的摆放工作,手动操作费时费力,位置不准确,如拖拽酒馆大堂陈设的桌椅时,需要按照规则摆放整齐。避免了不便于迭代,如开窗问题,对墙体做了破坏性操作之后再改变开窗位置和数量时,需要重新进行一系列的操作。又如摆放桌椅问题,圆桌椅子数量变化时需要依次重新调整每把椅子的位置。
78.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
79.实施例2
80.在本实施例中还提供了一种虚拟室内场景的生成装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
81.图5是根据本发明实施例的一种虚拟室内场景的生成装置的结构框图,如图5所示,该装置包括:获取模块50,计算模块52,生成模块54,其中,
82.获取模块50,用于获取待搭建的虚拟室内场景的框架模型的框架几何体数据和组件模型的布局参数,其中,所述布局参数用于表征所述组件模型的分布稀疏度,所述组件模型布局在所述框架模型内;
83.计算模块52,用于根据所述框架几何体数据和所述布局参数计算所述组件模型的搭建参数,其中,所述搭建参数用于表征所述组件模型在虚拟室内场景的搭建位置;
84.生成模块54,用于基于所述搭建参数生成所述虚拟室内场景的渲染资源文件。
85.可选的,所述获取模块包括:确定单元,用于确定所述框架模型的框架形状;获取单元,用于获取所述框架模型的房间尺寸参数,获取所述框架模型内天花板的天花板参数,
其中,所述天花板参数包括形状参数和尺寸参数;生成单元,用于基于面的位置对所述框架形状,所述房间尺寸参数,以及所述天花板参数进行预处理,生成所述框架模型的框架几何体数据。
86.可选的,所述获取模块包括:显示单元,用于响应待搭建的虚拟室内场景的组件模型的编辑指令,显示所述组件模型的编辑页面,其中,所述编辑页面包括所述组件模型的模型预制体的存储路径和多个编辑项;第一检测单元,用于在所述编辑页面的第一编辑项位置检测第一布局参数,其中,所述第一布局参数用于描述所述组件模型在所述框架模型内的排列总数;第二检测单元,用于在所述编辑页面的第二编辑项位置检测第二布局参数,其中,所述第二布局参数用于描述所述组件模型在所述框架模型内的分布方向;第三检测单元,用于在所述编辑页面的第三编辑项位置检测第三布局参数,其中,所述第三布局参数用于描述所述组件模型在所述框架模型内的间隔距离;第四检测单元,用于在所述编辑页面的第四编辑项位置检测第四布局参数,其中,所述第四布局参数用于指示所述组件模型的模型预制体的调整样式;第五检测单元,用于在所述编辑页面的第五编辑项位置检测第五布局参数,其中,所述第五布局参数用于指示在所述框架模型的外墙面添加封闭的包裹体。
87.可选的,所述计算模块包括:生成单元,用于基于所述第一布局参数在所述框架模型内复制生成多个相同的模型预制体;计算单元,用于根据所述第二布局参数和所述第三布局参数计算所述多个模型预制体分别在所述框架模型内的位置参数,其中,所述位置参数包括:三维坐标位置和朝向方位;调整单元,用于根据所述第四布局参数调整所述模型预制体的预制体样式;添加单元,用于基于所述第五布局参数在所述框架模型的外墙面添加封闭的包裹体,并在所述包裹体上留空透光区域。
88.可选的,所述计算单元包括:确定子单元,用于在所述框架模型内确定所述组件模型的布局空间;划分子单元,用于基于所述间隔距离将所述布局空间平均划分为多个子空间,其中,所述子空间的数量与所述模型预制体的数量相同;配置子单元,用于定位每个子空间的中心点,将所述中心点确定为对应子区域内模型预制体的坐标位置,并基于所述分布方向为每个子区域内的模型预制体配置相同的法线信息。
89.可选的,所述框架几何体数据包括:顶点数据、角点数据、面片数据、几何结构数据。
90.可选的,所述组件模型包括以下至少之一组件的模型:房间、门、墙体窗、天窗、屋顶、踢脚线、石膏线、窗框,门框、房梁、房柱、地板、吧台。
91.可选的,所述生成模块包括:添加单元,用于针对每个组件模型,添加所述组件模型的贴图参数;生成单元,用于根据所述贴图参数和所述搭建参数生成所述组件模型的子模型文件,其中,所述子模型文件包括子网格信息和子材质信息;合并单元,用于将所述虚拟室内场景内所有组件模型的子模型文件合并生成预定格式的渲染资源文件,其中,所述渲染资源文件包括若干类子模型文件,每类子模型文件包括若干个子模型文件。
92.可选的,所述装置还包括:导入模块,用于在所述生成模块基于所述搭建参数生成所述虚拟室内场景的渲染资源文件之后,将所述渲染资源文件导入渲染引擎,并将所述虚拟室内场景的点云数据导入所述渲染引擎;渲染模块,用于在所述渲染引擎中对所述组件模型的子材质信息进行个性化修改并按照修改后的搭建参数和所述点云数据生成所述虚拟室内场景的三维场景画面;或者,在所述渲染引擎中直接采用所述渲染资源文件和所述
点云数据生成所述虚拟室内场景的三维场景画面。
93.需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
94.实施例3
95.本技术实施例还提供了一种电子装置,图6是本发明实施例的一种电子装置的结构图,如图6所示,包括处理器61、通信接口62、存储器63和通信总线64,其中,处理器61,通信接口62,存储器63通过通信总线64完成相互间的通信,存储器63,用于存放计算机程序;
96.处理器61,用于执行存储器63上所存放的程序时,实现如下步骤:获取待搭建的虚拟室内场景的框架模型的框架几何体数据和组件模型的布局参数,其中,所述布局参数用于表征所述组件模型的分布稀疏度,所述组件模型布局在所述框架模型内;根据所述框架几何体数据和所述布局参数计算所述组件模型的搭建参数,其中,所述搭建参数用于表征所述组件模型在虚拟室内场景的搭建位置;基于所述搭建参数生成所述虚拟室内场景的渲染资源文件。
97.可选的,获取待搭建的虚拟室内场景的框架模型的框架几何体数据包括:确定所述框架模型的框架形状;获取所述框架模型的房间尺寸参数,获取所述框架模型内天花板的天花板参数,其中,所述天花板参数包括形状参数和尺寸参数;基于面的位置对所述框架形状,所述房间尺寸参数,以及所述天花板参数进行预处理,生成所述框架模型的框架几何体数据。
98.可选的,获取待搭建的虚拟室内场景的组件模型的布局参数包括:响应待搭建的虚拟室内场景的组件模型的编辑指令,显示所述组件模型的编辑页面,其中,所述编辑页面包括所述组件模型的模型预制体的存储路径和多个编辑项;在所述编辑页面的第一编辑项位置检测第一布局参数,其中,所述第一布局参数用于描述所述组件模型在所述框架模型内的排列总数;在所述编辑页面的第二编辑项位置检测第二布局参数,其中,所述第二布局参数用于描述所述组件模型在所述框架模型内的分布方向;在所述编辑页面的第三编辑项位置检测第三布局参数,其中,所述第三布局参数用于描述所述组件模型在所述框架模型内的间隔距离;在所述编辑页面的第四编辑项位置检测第四布局参数,其中,所述第四布局参数用于指示所述组件模型的模型预制体的调整样式;在所述编辑页面的第五编辑项位置检测第五布局参数,其中,所述第五布局参数用于指示在所述框架模型的外墙面添加封闭的包裹体。
99.可选的,根据所述框架几何体数据和所述布局参数计算所述组件模型的搭建参数包括:基于所述第一布局参数在所述框架模型内复制生成多个相同的模型预制体;根据所述第二布局参数和所述第三布局参数计算所述多个模型预制体分别在所述框架模型内的位置参数,其中,所述位置参数包括:三维坐标位置和朝向方位;根据所述第四布局参数调整所述模型预制体的预制体样式;基于所述第五布局参数在所述框架模型的外墙面添加封闭的包裹体,并在所述包裹体上留空透光区域。
100.可选的,根据所述第二布局参数和所述第三布局参数计算所述多个模型预制体分别在所述框架模型内的位置参数包括:在所述框架模型内确定所述组件模型的布局空间;基于所述间隔距离将所述布局空间平均划分为多个子空间,其中,所述子空间的数量与所
述模型预制体的数量相同;定位每个子空间的中心点,将所述中心点确定为对应子区域内模型预制体的坐标位置,并基于所述分布方向为每个子区域内的模型预制体配置相同的法线信息。
101.可选的,所述框架几何体数据包括:顶点数据、角点数据、面片数据、几何结构数据。
102.可选的,所述组件模型包括以下至少之一组件的模型:房间、门、墙体窗、天窗、屋顶、踢脚线、石膏线、窗框,门框、房梁、房柱、地板、吧台。
103.可选的,基于所述搭建参数生成所述虚拟室内场景的渲染资源文件包括:针对每个组件模型,添加所述组件模型的贴图参数;根据所述贴图参数和所述搭建参数生成所述组件模型的子模型文件,其中,所述子模型文件包括子网格信息和子材质信息;将所述虚拟室内场景内所有组件模型的子模型文件合并生成预定格式的渲染资源文件,其中,所述渲染资源文件包括若干类子模型文件,每类子模型文件包括若干个子模型文件。
104.可选的,在基于所述搭建参数生成所述虚拟室内场景的渲染资源文件之后,所述方法还包括:将所述渲染资源文件导入渲染引擎,并将所述虚拟室内场景的点云数据导入所述渲染引擎;在所述渲染引擎中对所述组件模型的子材质信息进行个性化修改并按照修改后的搭建参数和所述点云数据生成所述虚拟室内场景的三维场景画面;或者,在所述渲染引擎中直接采用所述渲染资源文件和所述点云数据生成所述虚拟室内场景的三维场景画面。
105.上述终端提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
106.通信接口用于上述终端与其他设备之间的通信。
107.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
108.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
109.在本技术提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的虚拟室内场景的生成方法。
110.在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的虚拟室内场景的生成方法。
111.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或
部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
112.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
113.在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
114.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
115.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
116.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
117.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
118.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献