本公开涉及计算机,具体涉及模型渲染,可应用于自动驾驶仿真和地图渲染等场景下,尤其涉及一种模型渲染方法、装置、设备及存储介质。
背景技术:
1、大规模的三维模型(例如城市路网三维模型)在数据迁移和管理上存在性能瓶颈。
2、为了突破性能瓶颈,通常可以对大规模的三维模型进行瓦片化,拆分成多个较小的瓦片模型,然后将该多个较小的瓦片模型在(虚拟)引擎(例如游戏引擎或渲染引擎等)上重新渲染,复现大规模的三维模型,以完成对大规模的三维模型的迁移和管理。
3、但是,瓦片模型的生产都是基于引擎外的工作流(例如3dmax、maya、以及houdini等),研发人员需要多次地将瓦片模型导入引擎,对大规模的瓦片模型来说(例如从城市路网三维模型拆分下来的瓦片模型),需要的时间与资源成本较大,并且一旦中途出现错误,只能选择重新导入,影响渲染效率。
技术实现思路
1、本公开提供了一种模型渲染方法、装置、设备及存储介质,能够提高对拆分后的大规模的三维模型进行重新渲染时的效率。
2、根据本公开的第一方面,提供了一种模型渲染方法,该方法包括:
3、获取模型文件集和点云文件集;模型文件集包括一个或多个模型文件;点云文件集包括一个或多个点云文件;一个或多个点云文件与一个或多个模型文件一一对应;一个或多个点云文件中的每个点云文件用于记录该点云文件对应的模型文件的属性信息;根据模型文件集中的一个或多个模型文件、以及点云文件集中的一个或多个点云文件,得到与一个或多个模型文件一一对应的一个或多个瓦片模型;基于一个或多个瓦片模型进行渲染,得到三维模型。
4、本公开提供的模型渲染方法,可以利用点云文件来记录模型文件的属性信息,并根据点云文件和模型文件来生成瓦片模型,从而能够根据点云文件便捷地对瓦片模型进行复现,便于后续根据复现的瓦片模型对各瓦片模型进行拼接,与目前的研发人员依靠人工经验导入模型文件的方案相比,提高了三维模型的渲染效率。
5、根据本公开的第二方面,提供了一种模型渲染装置,该装置包括:获取单元,用于获取模型文件集和点云文件集;模型文件集包括一个或多个模型文件;点云文件集包括一个或多个点云文件;一个或多个点云文件与一个或多个模型文件一一对应;一个或多个点云文件中的每个点云文件用于记录该点云文件对应的模型文件的属性信息;处理单元,用于根据模型文件集中的一个或多个模型文件、以及点云文件集中的一个或多个点云文件,得到与一个或多个模型文件一一对应的一个或多个瓦片模型;基于一个或多个瓦片模型进行渲染,得到三维模型。
6、根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的方法。
7、根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行根据第一方面所述的方法。
8、根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据第一方面所述的方法。
9、第二方面至第五方面的有益效果可以参照上述第一方面所述,不再赘述。
10、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
1.一种模型渲染方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述属性信息包括位置信息、缩放信息、以及旋转信息;所述位置信息用于指示瓦片模型在三维模型中的位置;所述缩放信息用于指示瓦片模型在三维模型中的缩放倍数;所述旋转信息用于指示瓦片模型在三维模型中的旋转角度。
3.根据权利要求2所述的方法,其特征在于,针对模型文件集中的任意一个第一模型文件、以及所述第一模型文件对应的第一点云文件,所述根据所述模型文件集中的一个或多个模型文件、以及所述点云文件集中的一个或多个点云文件,得到与所述一个或多个模型文件一一对应的一个或多个瓦片模型,包括:
4.根据权利要求1-3任一项所述的方法,其特征在于,所述基于所述一个或多个瓦片模型进行渲染,得到三维模型,包括:
5.根据权利要求4所述的方法,其特征在于,所述属性信息还包括瓦片模型的名称;
6.根据权利要求4所述的方法,其特征在于,所述一个或多个模型组件包括以下任意一种或多种:静态网格体组件、实例化静态网格体组件、以及层级实例化网格体组件。
7.一种模型渲染装置,其特征在于,所述装置包括:
8.根据权利要求7所述的装置,其特征在于,所述属性信息包括位置信息、缩放信息、以及旋转信息;所述位置信息用于指示瓦片模型在三维模型中的位置;所述缩放信息用于指示瓦片模型在三维模型中的缩放倍数;所述旋转信息用于指示瓦片模型在三维模型中的旋转角度。
9.根据权利要求8所述的装置,其特征在于,针对模型文件集中的任意一个第一模型文件、以及所述第一模型文件对应的第一点云文件,所述处理单元,具体用于根据所述第一点云文件记录的位置信息,确定所述第一模型文件对应的第一瓦片模型在所述三维模型中的位置;根据所述第一点云文件记录的缩放信息,确定所述第一模型文件对应的第一瓦片模型在所述三维模型中的缩放倍数;根据所述第一点云文件记录的旋转信息,确定所述第一模型文件对应的第一瓦片模型在所述三维模型中的旋转角度;根据所述第一模型文件、所述第一瓦片模型在所述三维模型中的位置、缩放倍数、以及旋转角度,确定所述第一瓦片模型。
10.根据权利要求7-9任一项所述的装置,其特征在于,所述处理单元,具体用于根据预设规则,对所述一个或多个瓦片模型进行初始化,得到适配进行渲染的引擎的一个或多个模型组件;所述一个或多个瓦片模型与所述一个或多个模型组件一一对应;对所述一个或多个模型组件进行渲染,得到所述三维模型。
11.根据权利要求10所述的装置,其特征在于,所述属性信息还包括瓦片模型的名称;所述处理单元,具体用于根据所述一个或多个点云文件中任意一个点云文件记录的瓦片模型的名称,索引到所述任意一个点云文件对应的瓦片模型;根据所述预设规则,对所述任意一个点云文件对应的瓦片模型进行初始化。
12.根据权利要求10所述的装置,其特征在于,所述一个或多个模型组件包括以下任意一种或多种:静态网格体组件、实例化静态网格体组件、以及层级实例化网格体组件。
13.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;
14.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行根据权利要求1-6任一项所述的方法。
15.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6任一项所述的方法。