本申请涉及计算机图形学,具体涉及模型处理方法、装置、计算机设备和存储介质。
背景技术:
1、游戏场景是由多个虚拟模型构成的,通常需要预先制作模型,并为模型配置对应的美术资源来处理,从而使游戏场景中呈现处理好的模型,例如山脉模型、草地模型等。
2、然而,游戏场景是庞大且复杂的,同一个模型可能处于不同层级高度,例如山脉模型的山脚部分与山峰部分。对于这种在游戏场景中跨越多个层级的模型,需要人工逐个制作模型的各部分,例如将模型的各部分在不同层级中叠加、渲染,使得模型制作和处理的效率低、消耗资源大。
技术实现思路
1、本申请实施例提供一种模型处理方法、装置、计算机设备和存储介质,能够显著地提升模型制作和渲染处理的效率、减少模型处理资源的消耗。
2、本申请实施例提供一种模型处理方法,所述方法包括:
3、获取多个待拼接模块,所述多个待拼接模块属于同一模型元素;
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、可选地,所述第二法线信息获取子单元还具体用于:
30、获取所述目标模型的第三像素点,以及所述第三像素点对应的切线空间;
31、获取所述第三像素点与目标第二像素点对应向量的第一坐标值,其中,所述目标第二像素点为所述高面模型中与所述第三像素点距离最近的点;
32、将每个所述第一坐标值转换为第二坐标值,得到包含所述第二坐标值的所述第二法线信息。
33、可选地,所述模型渲染单元还具体用于:
34、所述根据所述法线贴图和所述层级信息,对所述目标模型进行渲染,得到渲染后的目标模型,包括:
35、对所述第二法线信息进行傅里叶变换处理,得到所述第二法线信息对应的波形图;
36、将所述波形图的频率确定为所述缩放次数,将所述波形图的相位确定为所述位移,以得到所述纹理图的加载信息;
37、读取所述加载信息,复原所述纹理图;
38、基于所述纹理图和所述层级信息,对所述目标模型的法线信息进行过渡处理,得到所述渲染后的目标模型。
39、可选地,所述模型渲染单元还具体用于:
40、获取所述目标模型的第四像素点在对应层级的高度坐标;
41、将所述高度坐标转换为所述第四像素点的法线过渡比例;
42、根据所述法线过渡比例、所述第四像素点所在层级和相邻层级的法线信息,计算每个所述每个第四像素点的法线信息。
43、本申请实施例还提供一种计算机设备,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如上任一实施例所述的模型处理方法中的步骤。
44、本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如上任一实施例所述的模型处理方法中的步骤:
45、获取多个待拼接模块,所述多个待拼接模块属于同一模型元素;
46、根据层级信息,对所述多个待拼接模块进行拼接,得到目标模型,其中,所述层级信息包括所述待拼接模块对应层级的高度和坐标;
47、纹理图获取所述目标模型的法线贴图;
48、根据所述法线贴图纹理图;
49、和所述层级信息,对所述目标模型进行渲染,得到渲染后的目标模型。
50、由上可知,本申请实施例一方面通过在不同层级中,拼接多个属于同一模型元素的待拼接模块,有效地实现了模型中相同元素模块的复用,从而能够提升模型制作的效率、减少模型制作的资源消耗;另一方面,本申请还可以通过模型的法线信息,计算并存储渲染模型所需纹理图的加载信息,使得模型的应用程序可以快速地加载出纹理图来渲染模型,从而能够提升模型渲染处理的效率、减少模型制作的消耗资源。
51、因此基于以上两个方面,使得本申请的技术方案在模型处理时不受模块所处层级的限制,无需对不同层级的不同模块进行单独制作和渲染,能够以较小的资源消耗和较快效率来制作、渲染模型。
1.一种模型处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的模型处理方法,其特征在于,所述目标模型包括虚拟场景的多个区域,所述待拼接模块与所述区域嵌合,所述根据层级信息,对所述多个待拼接模块进行拼接,得到目标模型,包括:
3.根据权利要求1所述的模型处理方法,其特征在于,所述纹理图获取所述目标模型的法线贴图,包括:
4.根据权利要求3所述的模型处理方法,其特征在于,所述对所述目标模型进行面细分处理,得到所述目标模型对应的高面模型,包括:
5.根据权利要求3所述的模型处理方法,其特征在于,所述根据所述纹理图与所述高面模型的相对位置,计算所述高面模型的第一法线信息,包括:
6.根据权利要求5所述的模型处理方法,其特征在于,所述将所述第一法线信息转换为所述目标模型的第二法线信息,包括:
7.根据权利要求3所述的模型处理方法,其特征在于,所述根据所述法线贴图和所述层级信息,对所述目标模型进行渲染,得到渲染后的目标模型,包括:
8.根据权利要求7所述的模型处理方法,其特征在于,所述根据所述层级信息,对所述目标模型的法线信息进行过渡处理,包括:
9.一种模型处理装置,其特征在于,所述装置包括:
10.一种计算机设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如权利要求1~8中任一项所述的模型处理方法中的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1~8中任一项所述的模型处理方法中的步骤。