场景地形的生成方法、装置、电子设备及介质与流程

文档序号:31368399发布日期:2022-08-31 17:26阅读:107来源:国知局
场景地形的生成方法、装置、电子设备及介质与流程

1.本公开属于图像处理技术领域,具体涉及一种场景地形的生成方法、装置、电子设备及介质。


背景技术:

2.随着图像处理技术的发展,可以通过人工定制化建模的方式搭建场景模型,从而可以使得场景模型的构建越来越符合用户需求。
3.通常,可以基于三维的建模软件或者游戏引擎,通过三维模型的叠加、开发人员的手动摆放构造模型方式构建大面积场景。若需要100个不同材质的地形模型,则需要开发人员通过三维模型建立100个不同形状的地形模型,并为每个形状的地形模型手工绘制不同的纹理,最后手动放置到场景地形中。
4.然而,上述场景地形的构建方式,每个模型对应一个加载资源,在渲染时,需要调用该100个不同形状的模型对应的100个加载资源,从而产生巨大的渲染负荷,导致在渲染大世界场景地形时,加载时间过长。


技术实现要素:

5.本公开实施例的目的是提供一种场景地形的生成方法、装置、电子设备及介质,能够解决渲染场景地形时,渲染负荷大导致的加载时间过长的问题。
6.为了解决上述技术问题,本公开是这样实现的:
7.第一方面,本公开实施例提供了一种场景地形的生成方法,该方法包括:在目标面积上排布标准模型构建待场景模型,其中,所述目标面积为场景地形在游戏画面上的显示面积,标准模型包括表面的uv坐标值;基于标准模型的表面uv坐标值,调用目标纹理图对构建场景模型的标准模型进行纹理映射,以使标准模型包括纹理信息;将目标遮罩映射至场景模型上,以使场景模型与所述目标遮罩匹配;基于遮罩处理后的场景模型,渲染生成场景地形。
8.可选地,所述标准模型为标准破碎模型,所述标准破碎模型还包括每个碎块的表面uv坐标值;所述基于所述标准模型的表面uv坐标值,调用目标纹理图对构建所述场景模型的标准模型进行纹理映射,以使所述标准模型包括纹理信息,包括:基于标准破碎模型中每个碎块的表面uv坐标值,调用目标纹理图对构建所述场景模型的标准破碎模型进行纹理映射,以使所述标准模型的碎块包括纹理信息。
9.可选地,所述将目标遮罩映射至所述场景模型上,以使所述场景模型与所述目标遮罩匹配之后,所述方法还包括:获取标准破碎模型的模型数据;基于所述场景模型中排布的标准破碎模型的模型数据和各个碎块,对所述场景模型进行顶点偏移;所述基于遮罩处理后的场景模型,渲染生成所述场景地形,包括:基于顶点偏移后的场景模型,渲染生成所述场景地形。
10.可选地,所述将目标遮罩映射至所述场景模型上,以使所述场景模型与所述目标
遮罩匹配之前,所述方法还包括:采样目标遮罩的纹理图的颜色值;基于采样的所述目标遮罩的纹理的颜色值,对所述目标遮罩进行顶点偏移;所述将目标遮罩映射至所述场景模型上,包括:将顶点偏移后的目标遮罩,映射至所述场景模型上。
11.可选地,所述在目标面积上排布标准模型构建场景模型之前,所述方法还包括:构建第一模型;破碎化处理所述第一模型;为破碎化处理后的所述第一模型的外表面映射uv坐标值,为破碎化处理后的所述第一模型的碎块的横切面映射uv坐标值,以得到第二模型;存储所述第二模型的模型数据;其中,所述第二模型为所述标准破碎模型,所述第二模型的外轮廓和所述第一模型的外轮廓相同。
12.可选地,所述得到第二模型之后,所述方法还包括:根据第一切割信息,切割所述第二模型,并为切割后的所述第二模型的切割面映射uv坐标值,得到第三模型;存储所述第二模型的模型数据,包括:存储所述第三模型的模型数据,所述第三模型为所述标准破碎模型。
13.可选地,所述目标纹理图至少包括第一纹理图和第二纹理图;所述调用目标纹理图对构建所述场景模型的标准破碎模型进行纹理映射,以使所述场景模型与所述目标遮罩匹配,包括:调用所述第一纹理图对所述场景模型中的第一位置排布的标准破碎模型的碎块,进行纹理映射,调用所述第二纹理图对所述场景模型中的第二位置排布的标准破碎模型的碎块,进行纹理映射,以使得所述场景模型中的标准破碎模型叠加所述第一纹理图和所述第二纹理图的纹理信息;其中,所述第二位置包括所述场景模型的所述第一位置的部分或全部排布的标准破碎模型。
14.可选地,所述在目标面积上排布标准模型构建场景模型,包括:基于第一预设公式,根据标准模型的尺寸,确定每个标准模型在所述目标面积的x方向和y方向上的排布位置构建所述场景模型;所述第一预设公式为:其中,locpos(r,c)表示标准模型在所述目标面积中的排布位置,r表示标准模型所在的行数,c表示标准模型所在的列数,disx表示标准模型在x方向上的长度,disy表示标准模型在y方向上的长度;originx表示标准模型在x方向排布的起始位置,originy表示的是标准模型在y方向排布的起始位置。
15.可选地,所述基于所述标准模型的表面uv坐标值,调用目标纹理图对构建所述场景模型的标准模型进行纹理映射,包括:基于目标对象的表面uv坐标值、所述目标对象的排布位置和第二预设公式,确定所述目标对象进行纹理映射的目标uv坐标值;所述目标对象为标准破碎模型,或为所述标准破碎模型的碎块;调用所述目标纹理图,基于所述目标纹理图中目标uv坐标值对应的纹理信息,对所述目标对象进行纹理映射;所述第二预设公式为:其中,uv
remap
表示所述目标对象进行纹理映射的目标uv坐标值,texcoord1表示所述目标对象的uv坐标值,x
scale
表示纹理图的源纹理在x方向上的重复度,y
scale
表示纹理图的源纹理在y方向上的重复度,offset1表示纹理总体偏移量,x
length
表示所述目标面积在x方向的长度,y
length
表示所述目标面积在y方向上的长度,locpos.x表示目标对象在水平方向的世界位置坐标,locpos.y表示目标对象在垂直方向的世界位置坐标,originx表示标准模型在x方向排布的
起始位置,originy表示的是标准模型在y方向排布的起始位置。
16.可选地,基于第三预设公式和所述目标遮罩的纹理图,采样所述目标遮罩的纹理图的颜色值;所述第三预设公式为:mask=sample(masktex,texcoord2*tilling+offset2);其中,masktex表示所述目标遮罩的纹理图,texcoord2表示采样的纹理坐标,tilling表示纹理的缩放倍率,offset2表示纹理的偏移大小,mask表示基于sample函数采样所述目标遮罩的纹理图的纹理坐标texcoord2处得到的颜色值。
17.第二方面,本公开实施例提供了一种场景地形的生成装置,所述装置包括:排布模块、纹理映射模块、遮罩映射模块和渲染模块;所述排布模块,用于在目标面积上排布所述标准模型构建场景模型,所述目标面积为场景地形在游戏画面上的显示面积,所述标准模型包括表面uv坐标值;所述纹理映射模块,用于基于所述标准模型的表面uv坐标值,调用目标纹理图对构建所述场景模型的标准模型进行纹理映射,以使所述标准模型包括纹理信息;所述遮罩映射模块,用于将目标遮罩映射至所述场景模型上,以使所述场景模型与所述目标遮罩匹配;所述渲染模块,用于基于遮罩处理后的场景模型,渲染生成所述场景地形。
18.可选地,所述标准模型为标准破碎模型,所述标准破碎模型还包括每个碎块的表面uv坐标值;所述纹理映射模块具体用于:基于标准破碎模型的表面uv坐标值,调用目标纹理图对构建场景模型的标准破碎模型进行纹理映射,以使标准破碎模型包括纹理信息。
19.可选地,场景地形的生成装置,还包括:获取模块和顶点动画贴图模块;所述获取模块,用于在所述遮罩映射模块将目标遮罩映射至所述场景模型上,以使所述场景模型与所述目标遮罩匹配之后,获取标准破碎模型的模型数据;所述顶点动画贴图模块,用于基于所述场景模型中排布的标准破碎模型的模型数据和各个碎块,对所述场景模型进行顶点偏移;所述渲染模块具体用于:基于顶点偏移后的场景模型,渲染生成所述场景地形。
20.可选地,场景地形的生成装置,还包括:采样模块;所述采样模块,用于所述遮罩映射模块将目标遮罩映射至所述场景模型上之前,采样目标遮罩的纹理图的颜色值;所述顶点动画贴图模块,用于基于所述采样模块采样的所述目标遮罩的纹理的颜色值,对所述目标遮罩进行顶点偏移,得到顶点偏移后的目标遮罩;所述遮罩映射模块具体用于:将所述顶点偏移后的目标遮罩,映射至所述场景模型上。
21.可选地,场景地形的生成装置,还包括:构建模块、破碎化处理模块、uv值映射模块和存储模块;所述构建模块,用于在排布模块在目标面积上排布标准破碎模型构建场景模型之前,构建第一模型;所述破碎化处理模块,用于破碎化处理构建模块构建的所述第一模型;所述uv值映射模块,用于为破碎化处理模块破碎化处理后的所述第一模型的外表面映射uv坐标值,为破碎化处理模块破碎化处理后所述第一模型的碎块的横切面的映射uv坐标值,以得到第二模型;所述存储模块,用于存储所述第二模型的模型数据;其中,所述第二模型为标准破碎模型,所述第二模型的外轮廓和所述第一模型的外轮廓相同。
22.可选地,场景地形的生成装置,还包括:切割模块;所述切割模块,用于在所述uv值映射模块映射uv坐标得到第二模型之后,根据第一切割信息,切割所述第二模型;所述uv值映射模块,用于为所述切割模块切割后的所述第二模型的切割面映射uv坐标值,得到第三模型;所述存储模块,具体用于:存储所述第三模型的模型数据,所述第三模型为所述标准破碎模型。
23.可选地,所述目标纹理图至少包括第一纹理图和第二纹理图;所述纹理映射模块,
具体用于调用第一纹理图对所述场景模型中的第一位置排布的标准破碎模型的碎块,进行纹理映射;调用第二纹理图对所述场景模型中的第二位置排布的标准破碎模型的碎块,进行纹理映射,以使所述场景模型中的标准破碎模型叠加所述第一纹理图和所述第二纹理图的纹理;其中,所述第二位置包括所述场景模型的所述第一位置的部分或全部排布的标准破碎模型。
24.可选地,所述排布模块,具体用于基于第一预设公式,根据标准模型的尺寸,确定每个标准模型在目标面积的x方向和y方向上的排布位置,以构建场景模型;所述第一预设公式为:其中,locpos(r,c)表示标准模型在所述目标面积中的排布位置,r表示标准模型所在的行数,c表示标准模型所在的列数,disx表示标准模型在x方向上的长度,disy表示标准模型在y方向上的长度;originx表示标准模型在x方向排布的起始位置,originy表示的是标准模型在y方向排布的起始位置。
25.可选地,所述纹理映射模块,具体用于基于目标对象的表面uv坐标值、所述目标对象的排布位置和第二预设公式,确定所述目标对象进行纹理映射的目标uv坐标值;所述目标对象为标准破碎模型,或为所述标准破碎模型的碎块;调用所述目标纹理图,基于所述标所述目标纹理图中的所述目标uv坐标值对应的纹理,对所述目标对象进行纹理映射;第二预设公式为:其中,uv
remap
表示所述目标对象进行纹理映射的uv坐标值,texcoord1表示所述目标对象的uv坐标值,x
scale
表示纹理图的源纹理在x方向上的重复度,y
scale
表示纹理图的源纹理在y方向上的重复度,offset1表示纹理总体偏移量,x
length
表示所述覆盖范围在x方向的长度,y
length
表示所述覆盖范围在y方向上的长度,locpos.x表示所述目标对象在水平方向的世界位置坐标,locpos.y表示所述目标对象在垂直方向的世界位置坐标。
26.可选地,所述采样模块,具体用于基于第三预设公式和所述目标遮罩的纹理图,采样所述目标遮罩的纹理图的颜色值;所述第三预设公式为:mask=sample(masktex,texcoord2*tilling+offset2);其中,masktex表示所述目标遮罩的纹理图,texcoord2表示采样的纹理坐标,tilling表示纹理的缩放倍率,offset2表示纹理的偏移大小,mask表示基于sample函数采样所述目标遮罩的纹理图的纹理坐标texcoord2处的纹理得到的颜色值。
27.第三方面,本公开实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的场景地形的生成方法的步骤。
28.第四方面,本公开实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的场景地形的生成方法的步骤。
29.第五方面,本公开实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的场景地形的生成方法的步骤。
30.第六方面,本公开实施例提供了一种包含指令的计算机程序产品,当其在计算机
上运行时,使得计算机执行如第一方面所述的场景地形的生成方法的步骤。
31.在本公开实施例中,电子设备可以调用一个标准模型,快速在目标面积上排布标准模型构建场景模型;然后基于各个排布位置上的标准模型的表面uv坐标,将目标纹理图的纹理,映射至对应位置的标准模型上;最后调用遮罩裁剪场景模型中不需要的部分,从而得到外形满足需求的场景模型,可以快速构建场景模型中的各个不同形状不同纹理的场景对象。在电子设备在gui中渲染场景模型时,相比于相关技术,不再需要调用多个不同形状的场景对象的三维模型,特别是在渲染大世界场景的情况下,仅需要调用一个标准模型,便可以快速构建出场景模型进行渲染,从而可以更多的减少电子设备调用的模型资源,减少渲染负荷,减少渲染的计算量,从而可以提高渲染场景模型的速度,提高场景切换时的切换速度,提升了用户的体验。
附图说明
32.图1为本公开实施例提供的一种场景地形的生成方法的流程示意图;
33.图2为本公开实施例提供的一种目标面积的示意图;
34.图3为本公开实施例提供的一种纹理映射后的场景地形示意图;
35.图4为本公开实施例提供的一种遮罩裁剪的三维示意图;
36.图5为本公开实施例提供的一种标准破碎化模型的示意图;
37.图6为本公开实施例提供的一种遮罩映射的冰面地形示意图;
38.图7为本公开实施例提供的一种遮罩调整边界的示意图;
39.图8为本公开实施例提供的一种场景地形的生成装置可能的结构示意图;
40.图9为本公开实施例提供的一种电子设备可能的结构示意图;
41.图10为本公开实施例提供的一种电子设备的硬件示意图。
具体实施方式
42.首先,对本公开实施例中涉及的专业术语进行解释说明。
43.1、uv
44.u和v定义了一个二维的纹理坐标系统,(u,v)表示驻留在多边形网格顶点上的二维纹理坐标点。
45.其中,u为纹理图在显示器水平方向上的坐标,可以表示水平方向上第u个像素/图片的宽度;v为纹理图在显示器垂直方向上的坐标,可以表示垂直方向上第v个像素/图片的高度。u和v通常取值为0到1。
46.uv提供了一种模型表面与纹理图之间的连接关系,用于确定纹理图上的一个点(像素)应该放置在模型表面的哪一个顶点上。
47.2、纹理映射(texture mapping)
48.纹理映射也称纹理贴图,是将纹理空间中的纹理像素映射到屏幕空间中的像素的过程。
49.3、mask(遮罩)
50.通过遮罩的形状或透明度,可以隐藏主元素的一部分内容。
51.4、vat(vertex animation texture,顶点动画贴图)
52.可以将动画保存成vat信息,在vertex shader(顶点着色器)中读取vat信息并改变顶点位置,可以以较低的渲染消耗实现复杂的柔体、破碎、液体等动态效果。
53.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
54.本公开的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
55.下面结合附图,通过具体的实施例及其应用场景对本公开实施例提供的场景地形的生成方法进行详细地说明。
56.图1为本公开实施例提供的一种场景地形的生成方法的流程示意图,如图1中所示,该方法包括下述的s101至s104:
57.s101、电子设备在目标面积上排布标准模型构建场景模型。
58.其中,目标面积为场景模型在游戏画面上的显示面积,标准模型包括表面uv坐标值。
59.具体地,电子设备可以在渲染场景地形时调用标准模型,然后排布标准模型构建场景模型。
60.可选地,标准模型的形状可以为任意一种形状的三维模型。例如,标准模型可以为长方体、立方体、球体、三菱锥,也可以为其他不规则的形状的三维模型,本公开实施例对此不作具体限定。
61.示例性地,假设目标面积的尺寸为m*n,标准模型的尺寸为1*1*1的正方体,则场景模型的覆盖面可以包括m*n个标准模型,m和n均为正整数,m和n的值可以相同,也可以不同。
62.示例性的,图2为本公开实施例提供的一种目标面积的示意图,如图2中所示,场景地形可以为面积=(x9-x0)*(y5-y0)的长方形区域。其中,一个方格表示一个标准模型,该场景地形可以包括5*9个标准模型。
63.s102、电子设备基于标准模型的表面uv坐标值,调用目标纹理图对构建场景模型的标准模型进行纹理映射,以使标准模型包括纹理信息。
64.在本公开实施例中,目标纹理图可以为一个纹理图,也可以包括多个纹理图,本公开实施例对此不作具体限定。
65.可选地,在本公开实施例中,在对构建场景模型的标准模型进行纹理映射时,可以调用多个纹理图分别对场景模型中不同位置的标准模型进行纹理映射,也可以调用多个纹理图对场景模型中同一个位置进行纹理的叠加映射,也可以调用一个纹理图对场景模型的整个覆盖范围进行纹理映射,可以根据具体需求进行相应的映射方式,本公开实施例对此不作具体限定。
66.示例性地,图3为本公开实施例提供的一种纹理映射后的场景地形示意图。电子设
备将一张湖的俯瞰纹理图,映射到图2中所示大小的场景模型中的各个标准模型上,各个标准模型上的纹理可以构成如图3中的(a)所示的湖面地形。
67.s103、电子设备将目标遮罩映射至场景模型上,以使场景模型与目标遮罩匹配。
68.可选地,目标遮罩可以包括一个或多个遮罩,本公开实施例对此不作具体限定。
69.示例性地,假设场景模型中包括多个场景对象,电子设备可以将各个场景对象对应的遮罩分别映射至对应的各个标准模型上,得到与各个遮罩匹配的场景对象。
70.示例性地,目标遮罩可以为特定场景地形形状信息的mask图像。
71.例如,可以选择适合低功耗移动设备计算性能的mask纹理贴图类型的遮罩图。
72.例如,目标纹理图为基于一张湖的俯瞰图得到的,该俯瞰图中包括湖的主体以及沿着湖边的马路、林带以及其他地形。若需要在场景地形中构建湖的主体,则目标遮罩为在场景地形中经过纹理映射后的湖主体的形状,基于目标遮罩裁剪掉湖主体之外的对象,从而在场景模型中得到湖主体的地形;若需要在场景地形中构建湖的主体以及沿着湖边的马路,则目标遮罩的形状为在场景地形中经过纹理映射后的沿着湖边马路的形状,基于目标遮罩裁剪掉湖主体以及沿着湖边的马路之外的对象,从而在场景模型中得到湖主体以及沿着湖边的马路的地形。
73.例如,可以获取湖的边界的遮罩图,将湖的边界的遮罩图映射至图3中的(a)所示的场景对象上,则可以得到如图3中的(b)所示的仅包括湖面的场景对象。
74.图4为本公开实施例提供的一种遮罩裁剪的三维示意图,例如可以调用图4中所示的三棱锥形状对应的遮罩,从标准模型中获取三棱锥的场景对象。
75.需要说明的是,本公开实施例可以调用一个标准模型,即可快速构建大世界场景模型。
76.s104、电子设备基于遮罩处理后的场景模型,渲染生成场景地形。
77.可以理解,在电子设备构建好场景模型之后,可以基于该构建好的场景模型,通过gui(graphical user interface,图形用户界面)在屏幕上渲染出三维的场景。
78.在渲染的场景地形为大面积的场景下,相比于相关技术中需要加载大面积的场景中包括每个对象的真实几何体模型和对应的数据进行渲染,本公开实施例中仅需要调用一个标准模型的资源,然后基于标准模型和待渲染的显示面积进行重复的平铺排布,通过纹理图和遮罩图可以快速构建出场景中的各个模型,调用的模型资源数量少,从而减少了渲染负荷,减少线程的加载时间和图像的绘制时间,从而可以缩短场景模型的加载时间。在着色层面,相关技术中由于需要大面积的手动摆放几何体模型,而场景中摆放了多少几何体模型,编译时则需要编译多少几何体模型对应的材质的数量,因此,在gui渲染时计算难度大、加载速度慢,性能较差。而本公开实施例提供的场景地形的生成方法,在编译时仅需要编译一个材质实例,降低了了渲染时的计算难度,减少了场景加载的响应时间,通过单一的标准模型构建大面积的场景,减少渲染的批次,可以提高系统的i/o(吞吐量),即提高了单位时间内处理请求次数,可以提高场景的交互性能。
79.例如,若需要搭建一个10*10的不重复材质表现的矩形场景地形,按照相关技术,需要调用100个不同资源引用的模型才能搭建,100个模型对应100个材质,从而产生巨大的渲染负荷。而使用标准模型,可以复制产生大面积的场景地形,调用同样的材质引用,即只使用1个模型和1个材质引用,增加了场景实时的吞吐量,从而可以同时处理场景中大量模
型,减少了场景的加载时间。
80.本公开实施例提供的场景地形的生成方法,电子设备可以调用一个标准模型,快速在目标面积上排布标准模型构建场景模型;然后基于各个排布位置上的标准模型的表面uv坐标,将目标纹理图的纹理,映射至对应位置的标准模型上;最后调用遮罩裁剪场景模型中不需要的部分,从而得到外形满足需求的场景模型,可以快速构建场景模型中的各个不同形状不同纹理的场景对象。在电子设备在gui中渲染场景模型时,相比于相关技术,不再需要调用多个不同形状的场景对象的三维模型,特别是在渲染大世界场景的情况下,仅需要调用一个标准模型,便可以快速构建出场景模型进行渲染,从而可以更多的减少电子设备调用的模型资源,减少渲染负荷,减少渲染的计算量,从而可以提高渲染场景模型的速度,提高场景切换时的切换速度,提升了用户的体验。
81.可选地,本公开实施例提供的场景地形的生成方法中,标准模型可以为标准破碎模型,标准破碎模型还包括每个碎块的表面uv坐标值;进而,上述的s102具体可以通过下述的s21执行:
82.s21、电子设备基于标准破碎模型中每个碎块的表面uv坐标值,调用目标纹理图对构建场景模型的标准破碎模型进行纹理映射,以使标准模型的碎块包括纹理信息。
83.在本公开实施例中,标准破碎模型的外形可以为一个无缝连接的三维的几何体模型,标准破碎模型的内部包括数个独立的碎块,该数个独立的碎块构成一个集合体。
84.可选地,标准破碎模型的形状可以为任意一种形状的破碎模型。
85.示例性地,图5为一种标准破碎化模型的示意图,如图5中的(a)所示,该破碎化模型为一个立方体,该立方体中包括随机破碎的碎块。其中,每个碎块的表面都映射有uv坐标值。如图5中的(b)所示,立方体内部由各个碎块构成。
86.可以理解,在本公开实施例中,标准破碎模型为预先配置的用于构建场景模型的基元模型。
87.需要说明的是,在本公开实施例中,可以给构成场景对象内部的碎块映射纹理信息,从而可以得到具有厚度的场景对象,以使得后续在用户该场景对象进行交互操作时,可以渲染出与交互动作匹配的场景对象的变化效果。
88.例如,在本公开实施例中,可以给标准破碎模型中构成对象表面的碎块表面映射对应的一种纹理,还可以给标准模型中构成对象内部的碎块表面映射另一种纹理。例如,给草坪的表面碎块映射草皮的纹理,给草皮的内部碎块映射土的纹理。在用户点击草丛的情况下,可以基于草皮内部的碎块渲染出一个接近实际的挖坑的效果。
89.进而,上述的s103可以通过下述的s31执行:
90.s31、电子设备将目标遮罩映射至场景模型上包括纹理信息的各个标准破碎模型的碎块上,以使场景模型与目标遮罩匹配。
91.需要说明的是,在本公开实施例中,若映射的是三维场景对象的纹理,通过对各个碎块进行纹理映射,则可以得到包括纹理的三维的场景对象。
92.基于该方案,一方面,由于每个标准破碎模型是由破碎化的独立的碎块构成,且每个碎块的表面包括uv信息,因此在纹理映射时,可以将纹理图中的纹理信息较多的细节映射至各个位置的标准破碎模型的各个碎块上,从而使得构建的模型可以包括更多细节的纹理信息;另一方面,由于标准破碎模型中是破碎化的碎块,因此,在调用遮罩对待构建的场
景对象进行裁剪时,可以以标准破碎模型中的碎块为最小裁剪对象,从而使得裁剪得到的场景对象的边界可以保留更精细的纹理,避免裁剪后的边界纹理突兀,使得构建的场景模型更加真实自然,可以降低相关技术中自动添加纹理贴图效果产生的uv纹理表现的重复问题。
93.可选地,本公开实施例提供的场景地形的生成方法中,在上述的s104之后,还可以包括下述的s105和s106:
94.s105、电子设备获取标准破碎模型的模型数据。
95.示例性地,标准破碎模型的模型数据包括每个碎块的以下至少一项信息:位置信息、pivot信息(枢轴点),orient信息(朝向),信息(角速度)。
96.需要说明的是,上述的模型数据还可以包括其他可以用于实现碎块的偏移、旋转等用于形态变换的数据,本公开实施例不作一一列举。
97.s106、电子设备基于场景模型中排布的标准破碎模型的模型数据和各个碎块,对场景模型进行顶点偏移。
98.进而,上述的s104具体可以通过下述的s41执行:
99.s41、电子设备基于顶点偏移后的场景模型,渲染生成场景地形。
100.可以理解,电子设备可以对场景模型中的任意一个场景对象进行顶点偏移。
101.在本公开实施例中,可以基于碎块的uv坐标、也可以基于碎块的局部坐标对模型进行顶点变换,本公开实施例对此不作具体限定。
102.其中,局部坐标表示物体三维空间中的自身的物理位置。
103.示例性地,电子设备可以基于标准破碎模型的各个碎块的轴心点和各个碎块的uv坐标值,对场景对象进行顶点偏移,得到顶点偏移后的场景对象。
104.比如,电子设备可以获取三维场景对象的纹理,三维场景对象边界的碎块的顶点的pivot位置,进行模型顶点位置运算,得到顶点位移的方向向量,再通过预设参数控制模型位移的大小即缩放系数,确定碎块顶点移动后的位置。
105.示例性地,可以对目标交互模型进行顶点偏移处理,其中,目标交互模型为场景模型中的任意一个交互模型。可以调用vat中的顶点偏移函数,将目标交互模型的pivot位置烘焙到uv坐标轴上,将顶点动画纹理中的坐标和旋转信息提取出来,对模型进行顶点变换。
106.基于该方案,在将目标遮罩映射至场景模型之后,电子设备可以调用顶点偏移的方式,调整场景模型中各个场景对象的边界的碎块的位置和形态,从而可以得到细节更多的场景对象,从而使得基于该场景模型渲染出的场景更加自然,纹理更清晰。
107.可选地,本公开实施例提供的场景地形的生成方法中,上述的s104之前,还可以包括下述的s107和s108:
108.s107、电子设备采样目标遮罩的纹理图的颜色值。
109.需要说明的是,遮罩可以为一种灰度图,通过不同位置的灰度值可以构成一个特定形状的遮罩。
110.示例性地,图6为本公开实施例提供的一种遮罩映射的冰面地形的示意图,如图6中的(a)所示,不同位置的灰度值构成了一个冰面的遮罩图。将该遮罩图映射到标准破碎模型上,可以得到图6中的(c)所示的冰面地形。
111.s108、电子设备基于采样的目标遮罩的纹理图的颜色值,对目标遮罩进行顶点偏
移。
112.可以理解,可以通过对目标遮罩进行顶点偏移,以实现遮罩边界形状的调整,从而可以使得遮罩的边界更加精细。
113.进而,上述的s103具体可以通过下述的s32执行:
114.s32、电子设备将顶点偏移后的目标遮罩,映射至场景模型上,以使场景模型与顶点偏移后的目标遮罩匹配。
115.其中,该方案中的标准模型为标准破碎模型。
116.图7为本公开实施例提供的一种遮罩调整边界示意图。其中,图7中的(a)显示的是基于破碎化模型和冰面边界的遮罩得到的冰面地形的模型示意图,图7中的(b)所示的是可以基于冰面的遮罩,通过顶点偏移,调整遮罩的形状得到的冰面地形示意图,调整边界细节后的遮罩映射的冰的边界更加随机化,接近真实的冰面的边界。图7中的(c)所示的是遮罩对标准破碎模型处理后,可以得到冰的断裂面的纹理的示意图。
117.进一步地,基于遮罩图像的纹理遮罩值和场景对象(碎块构成的对象的模型)的大小变形缩放系数,通过顶点偏移,则可将原始预破碎场景模型,调整成特定形状的场景地形形状。
118.具体地,在本公开实施例中,电子设备还可以基于破碎化的场景模型中每个碎块表面的uv信息,进行顶点偏移,可以渲染出交互操作对应的动态效果。
119.例如,可以对构成草地的碎块进行顶点偏移,实现用户对地面执行挖坑的交互输入之后,可以渲染出草地出现一个坑以及坑的两边堆放了对碎块偏移构成的泥土堆砌的效果,从而使得在大世界场景中,可以以更小的资源量实现灵活实时的ui交互。
120.基于该方案,在获取到目标遮罩之后,可以先采样目标遮罩的纹理图的颜色值,然后基于采样的目标遮罩的纹理图的颜色值,对目标遮罩进行顶点偏移,例如可以对目标遮罩的边界的形状进行精细的调整,使得目标遮罩的形状更加符合真实效果的需求,然后基于顶点偏移后的目标遮罩再进行遮罩映射,从而可以使得构建的场景模型更加真实。
121.可选地,本公开实施例提供的场景地形的生成方法中,上述的s101之前,还可以包括下述的s11至s14执行:
122.s11、电子设备构建第一模型。
123.示例性地,可以根据需要构建长方体、正方体、圆柱体、球体等任意形状的第一模型。
124.s12、电子设备破碎化处理第一模型。
125.其中,破碎化后的第一模型的形状与原始的第一模型的形状相同,破碎化后的第一模型外形为无缝连接在一起的集合体模型,破碎化后的第一模型中的每一个碎块都是独立的碎块。
126.示例性地,电子设备可以基于三维建模软件构建第一模型,调用破碎程序将第一模型切割为形状大小不一的碎块,得到破碎化的第一模型。以长方体为例,可以构建一个以世界中心为原点、轴心点在长方体的中心位置的破碎化模型。
127.s13、电子设备为破碎化处理后的第一模型的外表面映射uv坐标值,为破碎化处理后的第一模型的碎块的横切面映射uv坐标值,以得到第二模型。
128.其中,第二模型为上述的标准破碎模型,第二模型的外轮廓与第一模型的外轮廓
相同。
129.可选地,电子设备可以在s11之后先为第一模型的外表面映射uv坐标值,再进行破碎化处理,也可以在对第一模型破碎化处理之后,再对破碎化后的第一模型的外表面映射uv坐标值,本公开实施例对此不作具体限定。
130.示例性地,以长方体的破碎化模型为例,可以调用顶视图投射uv坐标值,从而对破碎化的长方体的6个外表面映射uv坐标值,对破碎化的长方体中各个碎块的切割面映射uv坐标值。
131.需要说明的是,上述调用顶部视图投射uv坐标值仅为一种示例,在实际应用中,电子设备调用不同三维建模软件建模对应的坐标轴可能存在不统一的情况,因此可以基于各个建模软件的配置,调用适配的uv投射方式,本公开实施例对此不作具体限定。
132.示例性地,在获取到第二模型之后,可以以静态网格体模型导出第二模型,可以存储为*.fbx格式。
133.s14、电子设备存储第二模型的模型数据。
134.其中,电子设备可以将模型数据与模型绑定存储。
135.示例性地,标准破碎模型相关的模型数据,通常可以以贴图的形式导出存储。其中,hdr(high-dynamic range,高动态范围图像)的贴图可以存储为*.exr格式,non-hdr(非高动态范围图像)的贴图可以存储为*png格式。
136.示例性地,模型数据可以包括模型的每个碎块用于偏移的动态信息,动态信息可以包括位置信息、旋转信息、法线信息和枢轴点信息中的至少一个。
137.示例性地,可以采用顶点动画贴图技术,将第二模型的动态信息编码到对应的静态网格体模型和贴图上存储。
138.可选地,顶点动画纹理的输出帧数可以选择单帧或者多帧。当输出的顶点动画纹理为单帧的情况下,可以减少输出纹理的资源分辨率大小,多帧的时候可存储成多个标准破碎模型。顶点动画纹理的编码帧数可以选择单帧或者多帧。当获取的顶点动画纹理为单帧是,可以降低获取纹理资源数据的时间和编码成本。
139.可以以多套uv坐标存储上述各个贴图采样的数据的uv信息、顶点颜色信息等。
140.可选地,模型数据的贴图可以包括以下至少一个信息贴图:位置信息贴图、旋转信息贴图、法线信息贴图、枢轴点信息贴图。可以理解,在本公开实施例中,标准破碎模型为自定义的或预配置的用于构建场景的单一的基础单元模型(即碎块)的集合体。
141.示例性地,可以基于houdini等工具构建标准破碎模型,可以采用houdini vat或pivot painter工具中的顶点动画程序存储标准破碎模型和模型数据。
142.基于该方案,电子设备可以预先构建用于构建场景模型的标准破碎模型,可以根据需要的形状,先构建三维的基元模型,然后对该三维的基元模型进行破碎化处理,并为基元模型中的每个碎块的表面映射uv信息,得到自定义的单一的标准破碎模型,以使得可以基于每个碎块表面的uv信息进行精细化的纹理映射,使得映射到模型上的纹理可以保留更多的细节,电子设备并存储基元模型上的模型数据,以存储每个碎块用于动态变换的信息,可以使得在调用该标准破碎模型构建场景模型时,以便于基于模型数据对碎块进行顶点偏移,旋转、拉伸等处理,使得构建的模型更加接近真实的颜色和形状。
143.可选地,本公开实施例提供的场景地形的生成方法中,在上述的s13之后,还可以
包括下述的s15:
144.s15、电子设备根据第一切割信息,切割第二模型,并为切割后的第二模型的切割面映射uv坐标值,得到第三模型。
145.其中,第四模型为上述的标准破碎模型。
146.需要说明的是,第一切割信息为开发人员选择的切割信息,可以根据需求输入不同的切割信息调整标准破碎模型的几何形状。
147.可选地,可以将长方体的破碎模型切割为三棱锥的破碎模型、正方体的破碎模型,也可以切割为其他不规则的破碎模型,本公开实施例对此不作具体限定。
148.进而,上述的s14可以通过下述的s16执行:
149.s16、电子设备存储第三模型的模型数据。
150.可以理解,第三模型的模型数据包括构成第三模型的各个碎块的动态信息。
151.基于该方案,在构建了破碎模型之后,还可以根据需要对破碎模型进行切割,并对切割后新得到的切割面进行uv值的映射,从而可以得到形状满足自定义需求的标准破碎模型,后续可以使用该自定义的标准破碎模型进行场景模型的构建。
152.可选地,本公开实施例提供的场景地形的生成方法中,上述的s102,具体可以通过下述的s22执行:
153.s22、电子设备调用第一纹理图对场景模型的第一位置排布的标准破碎模型的碎块,进行纹理映射,调用第二纹理图对场景模型的第二位置排布的标准破碎模型的碎块进行纹理映射,以使场景模型中的标准破碎模型叠加第一纹理和第二纹理的纹理。
154.其中,第二位置包括场景模型的第一位置的部分或全部排布的标准破碎模型。
155.例如,可以调用冰的纹理图先对位置1的标准破碎模型进行渲染,然后再调用雪的纹理对位置2的标准破碎模型进行渲染,位置1和位置2包括重叠区域,从而可以基于叠加后为纹理渲染出冰块上覆盖着雪的效果。
156.基于该方案,可以灵活根据需求,在同一位置进行不同材质的渲染,从而得到叠加了不同材质的纹理,以使得基于该叠加纹理的模型可以渲染得到更多的细节的场景,从而可以提高渲染的效果,提升用户的视觉体验。
157.可选地,本公开实施例提供的场景地形的生成方法中,目标纹理图至少包括第三纹理图和第四纹理图,上述的s102,具体可以通过下述的s23执行:
158.s23、电子设备调用第三纹理图对场景模型中的第三位置排布的标准破碎模型的碎块,进行纹理映射,以使第三位置排布的标准模型包括第一纹理图的纹理;调用第四纹理图,对场景模型中的第四位置排布的标准模型的碎块,进行纹理映射,以使得第四位置排布的标准模型包括第四纹理图的纹理。
159.示例性地,映射第三纹理图的纹理的标准破碎化模型中,包括第一场景对象的破碎化模型;映射第四纹理图的纹理的标准破碎化模型中,包括第二场景对象的破碎化模型,第一场景对象和第二场景对象是为场景模型中不同的场景对象。
160.基于该方案,电子设备可以调用不同的纹理图,对场景模型内不同显示位置的标准破碎化模型分别进行纹理映射,再结合各个场景对象对应的遮罩进行遮罩映射,可以快速得到不同场景对象的纹理的碎块模型,降低了构建不同形状纹理的场景对象的复杂度,简化场景模型的构建步骤,不再需要针对不同形状的场景对象单独构建模型并进行摆放,
在进行渲染时,仅调用一个标准破碎模型便可以快速构建出场景模型,减少了场景模型的渲染负荷。
161.可选地,本公开实施例提供的场景地形的生成方法中,上述的s101,具体可以通过下述的s111执行:
162.s111、电子设备基于公式(1),根据标准模型的尺寸,确定每个标准模型在目标面积的x方向和y方向上的排布位置构建场景模型。
[0163][0164]
其中,locpos(r,c)表示标准模型在目标面积中的排布位置,r表示标准模型所在的行数,c表示标准模型所在的列数,disx表示标准模型在x方向上的长度,disy表示每个标准模型在y方向上占用的长度。originx表示标准模型的在x方向排布的起始位置,originy表示标准模型在的y方向排布起始位置。
[0165]
可以理解,可以基于标准模型的尺寸和目标面积,确定在x方向和y方向排布的标准模型的数量,然后基于上述的公式确定每个标准模型具体的排布位置,从而使得单一模型矩阵化。
[0166]
需要说明的是,上述公式(1)也适用于标准破碎模型的排布。
[0167]
基于该方案,可以提供一种自动排布标准模型构成场景模型的方式,从而使得在大范围场景的构建中,快速排布各个标准模型,以便于后续基于各个位置的标准模型进行场景对象的构建,不再需根据不同的对象的位置进行位置信息的确认和显示位置的映射,可以缩短构建场景模型的时间。
[0168]
可选地,本公开实施例提供的场景地形的生成方法中,上述的s102,具体可以通过下述的s24和s25执行:
[0169]
s24、电子设备基于目标对象的表面uv坐标值、目标对象的排布位置和公式(2),确定目标对象进行纹理映射的目标uv坐标值。
[0170]
其中,目标对象为标准破碎模型,或为标准破碎模型的碎片。
[0171]
s25、电子设备调用目标纹理图,基于目标纹理图中目标uv坐标值对应的纹理,对目标对象进行纹理映射。
[0172][0173]
其中,uv
remap
表示对目标对象进行纹理映射的目标uv坐标值,texcoord表示目标对象的uv坐标值,x
scale
表示纹理图的源纹理在x方向上的重复度,y
scale
表示纹理图的源纹理在y方向上的重复度,offset表示纹理总体偏移量,x
length
表示所述目标面积在x方向的长度,y
length
表示所述目标面积在y方向上的长度,locpos.x表示目标对象在水平方向的世界位置坐标,locpos.y表示目标对象在垂直方向的世界位置坐标。
[0174]
例如,在directx(direct extension,一种多媒体编程接口)环境下,可以基于上述的公式(2)自动程序化进行大面积场景模型的uv坐标重映射,使得每个目标对象按照各自的位置和尺寸(长和宽)进行uv偏移。
[0175]
可选地,x
scale
和y
scale
可以根据业务需求进行自定义设置。
[0176]
示例性地,以目标对象为标准破碎模型的碎片的表面为例进行说明,
可以表示基于纹理的坐标位置,按照每个标准破碎模型的x方向和y方向的边长将纹理映射到uv坐标空间中,即每个标准破碎模型的碎块均会按照各自位置和长宽进行相应的uv偏移。offset1可以为随机的纹理偏移参数。
[0177]
也就是说,通过每个排布位置的标准破碎模型的碎块在场景中(例如大场景地形中)的自身世界位置坐标、绝对世界位置坐标进行计算采样,并重映射无缝衔接,且不重复的新uv坐标。
[0178]
例如,调用材质编辑程序和图像坐标修改程序配合使用,可以进行纹理映射。
[0179]
基于该方案,可以于纹理的坐标位置,按照每个标准破碎模型的x方向和y方向的边长将纹理映射到uv坐标空间中,即每个标准破碎模型的碎块均会按照各自位置和长宽进行相应的uv偏移,以此使得每个不同的标准破碎模型碎块的颜色进行精准拼合,获得满足需求的材质表现效果。
[0180]
可选地,本公开实施例提供的场景地形的生成方法中,上述的s107具体可以通过下述的s71执行:
[0181]
s71、电子设备基于公式(3)和目标遮罩的纹理图,采样目标遮罩的纹理颜色值。
[0182]
mask=sample(masktex,texcoord2*tilling+offset2)
ꢀꢀꢀꢀꢀꢀꢀ
公式(3)
[0183]
其中,masktex表示所述目标遮罩的纹理图,texcoord2表示采样的纹理的纹理坐标,tilling表示纹理的缩放倍率,offset2表示纹理的偏移大小,mask表示使用sample函数采样目标遮罩的纹理图的纹理坐标texcoord2处的纹理得到的颜色值。
[0184]
其中,sample函数可以用于采样纹理色彩值。图形应用程序中可以提供接口获取sample函数,电子设备可以调用sample函数采用上述的公式(3)获取纹理坐标位置对应的纹理颜色值。
[0185]
示例性地,还可以采用下述的公式(4)对遮罩的顶点进行偏移。
[0186][0187]
其中,wpo(world position offset,世界位置偏移)表示顶点偏移函数,s表示缩放向量,r表示旋转向量,o表示偏移向量,p表示顶点的局部坐标的向量;r可以根据需求自定义确定具体矩阵,若顶点不作旋转时,r为单位矩阵,(x,y,z)表示顶点的局部坐标。
[0188]
在本公开实施例中,由于采样遮罩图获得的色彩值为三维向量,可将采样遮罩获得的mask纹理色彩的局部坐标作为顶点的局部坐标输入上述的公式(4),最终运算获得缩放、偏移后的顶点的局部坐标。
[0189]
需要说明的是,可以基于wpo函数可以在世界空间内控制网格物体的顶点移动,实现目标移动、旋转、形状变化等特效。
[0190]
例如,还可以基于上述的公式(4)对遮罩处理后的场景地形中的场景对象进行顶点偏移,此处不再赘述。
[0191]
在本公开实施例中,场景地形纹理的遮罩图(例如目标遮罩)的像素的通道可以包括:纹理的红色通道,纹理的绿色通道,纹理的蓝色通道,透明度阿尔法通道。场景地形的遮罩的纹理可以存储在任意一个通道的色彩信息中。
[0192]
基于该方案,电子设备可以精准地根据遮罩的纹理图的纹理图,采样纹理坐标位置的颜色值,然后对采样点可以进行顶点偏移,从而对遮罩形状进行精细的调整,使得经过遮罩映射得到的三维模型细节更多,更加真实。
[0193]
需要说明的是,本公开实施例提供的场景地形的生成方法,执行主体可以为场景地形的生成装置,或者该场景地形的生成装置中的用于执行场景模型的构建的方法的控制模块。本公开实施例中以场景地形的生成装置执行场景模型的构建的方法为例,说明本公开实施例提供的场景模型的构建的装置。
[0194]
图8为本公开实施例提供的一种场景地形的生成装置可能的结构示意图,如图8中所示,该场景地形的生成装置800包括:排布模块801、纹理映射模块802、遮罩映射模块803和渲染模块804;所述排布模块801,用于在目标面积上排布标准模型构建场景模型,所述目标面积为场景地形在游戏画面上的显示面积,所述标准模型包括表面uv坐标值;所述纹理映射模块802,用于基于所述标准模型的表面uv坐标值,调用目标纹理图对构建所述场景模型的标准模型进行纹理映射,以使得所述标准模型包括纹理信息;所述遮罩映射模块803,用于将目标遮罩映射至所述场景模型上,以使所述场景模型与所述目标遮罩匹配;所述渲染模块804,用于基于遮罩处理后的场景模型,渲染生成场景地形。
[0195]
可选地,所述标准模型为标准破碎模型,所述标准破碎模型还包括每个碎块的表面uv坐标值;所述纹理映射模块802具体用于:基于所述标准破碎模型中每个碎块表面的uv坐标值,调用目标纹理图对构建所述场景模型的标准破碎模型进行纹理映射,以使所述标准破碎模型包括纹理信息。
[0196]
可选地,场景地形的生成装置,还包括:获取模块和顶点动画贴图模块;所述获取模块,用于在所述遮罩映射模块将目标遮罩映射至所述场景模型上,以使所述场景模型与所述目标遮罩匹配之后,获取标准破碎模型的模型数据;所述顶点动画贴图模块,用于基于所述场景模型中排布的标准破碎模型的模型数据和各个碎块,对所述场景模型进行顶点偏移;所述渲染模块具体用于:基于顶点偏移后的场景模型,渲染生成所述场景地形。
[0197]
可选地,场景地形的生成装置,还包括:采样模块;所述采样模块,用于所述遮罩映射模块将目标遮罩映射至所述场景模型上之前,采样目标遮罩的纹理图的颜色值;所述顶点动画贴图模块,用于基于所述采样模块采样的所述目标遮罩的纹理的颜色值,对所述目标遮罩进行顶点偏移;所述遮罩映射模块,具体用于将所述顶点偏移后的目标遮罩,映射至所述场景模型上。
[0198]
可选地,场景地形的生成装置,还包括:构建模块、破碎化处理模块、uv值映射模块和存储模块;所述构建模块,用于在排布模块在目标面积上排布标准模型构建场景模型之前,构建第一模型;所述破碎化处理模块,用于破碎化处理构建模块构建的所述第一模型;
所述uv值映射模块,用于为破碎化处理模块破碎化处理后的所述第一模型的外表面映射uv坐标值,为破碎化处理模块破碎化处理后的所述第一模型的碎块的横切面的映射uv坐标值,以得到第二模型;所述存储模块,用于存储所述第二模型的模型数据;其中,所述第二模型为标准破碎模型,所述第二模型的外轮廓和所述第一模型的外轮廓相同。
[0199]
可选地,场景地形的生成装置,还包括:切割模块;所述切割模块,用于在所述uv值映射模块映射uv坐标得到第二模型之后,根据第一切割信息,切割所述第二模型;所述uv值映射模块,用于为所述切割模块切割后的所述第二模型的切割面映射uv坐标值,得到第三模型;所述存储模块,具体用于:存储所述第三模型的模型数据。
[0200]
可选地,所述目标纹理图至少包括第一纹理图和第二纹理图;所述纹理映射模块,具体用于调用第一纹理图,对场景模型中的第一位置排布的标准破碎模型的碎块,进行纹理映射,调用第二纹理图对第二位置排布的标准破碎模型的碎块,进行纹理映射,以使场景模型中的标准破碎模型叠加所述第一纹理图和所述第二纹理图的纹理;其中,所述第二位置包括所述场景模型的所述第一位置的部分或全部排布的标准破碎模型。
[0201]
可选地,所述目标纹理图至少包括第三纹理图和第四纹理图;所述纹理映射模块,具体用于调用第三纹理图对场景模型中的第三位置排布的标准破碎模型的碎块,进行纹理映射;调用第四纹理图对场景模型中的第四位置排布的标准破碎模型的碎块,进行纹理映射;其中,所述映射所述第三纹理图的纹理的标准破碎化模型中,包括第一场景对象的破碎化模型,所述映射所述第四纹理图的纹理的标准破碎化模型中,包括第二场景对象的破碎化模型,所述第一对象和所述第二对象是为所述场景模型中不同的场景对象。
[0202]
可选地,所述排布模块,具体用于基于第一预设公式,根据标准模型的尺寸,确定每个标准模型在目标面积的x方向和y方向上的排布位置构建场景模型;所述第一预设公式为:其中,locpos(r,c)表示标准模型在所述目标面积中的排布位置,r表示标准模型所在的行数,c表示标准模型所在的列数,disx表示标准模型在x方向上的长度,disy表示标准模型在y方向上的长度;originx表示标准模型在x方向排布的起始位置,originy表示的是标准模型在y方向排布的起始位置。
[0203]
可选地,所述纹理映射模块具体用于:基于目标对象的表面uv坐标值、所述目标对象的排布位置和第二预设公式,确定目标对象进行纹理映射的目标uv坐标值;所述目标对象为标准破碎模型,或为所述标准破碎模型的碎块;调用目标纹理图,基于所述目标纹理图中目标uv坐标值对应的纹理,对所述目标对象进行纹理映射;所述第二预设公式为:
[0204]
其中,uv
remap
表示所述目标对象进行纹理映射的目标uv坐标值,texcoord1表示所述目标对象的uv坐标值,x
scale
表示纹理图的源纹理在x方向上的重复度,y
scale
表示纹理图的源纹理在y方向上的重复度,offset1表示纹理总体偏移量,x
length
表示所述目标面积在x方向的长度,y
length
表示所述目标面积在y方向上的长度,locpos.x表示目标对象在水平方向的世界位置坐标,locpos.y表示目标对象在垂直方向的世界位置坐标,originx表示标准模型在x方向排布的起始位置,originy表示的是标准模型在y方向排布的起始位置。
[0205]
可选地,所述采样模块,具体用于基于第三预设公式和所述目标遮罩的纹理图,采
样所述目标遮罩的纹理图的颜色值;所述第三预设公式为:mask=sample(masktex,texcoord2*tilling+offset2);其中,masktex表示所述目标遮罩的纹理图,texcoord2表示采样的纹理坐标,tilling表示纹理的缩放倍率,offset2表示纹理的偏移大小,mask表示基于sample函数采样所述目标遮罩的纹理图的纹理坐标texcoord2处的纹理得到的颜色值。
[0206]
本公开实施例提供一种场景地形的生成装置,场景地形的生成装置可以调用一个标准模型,快速在目标面积上排布标准模型构建场景模型;然后基于各个排布位置上的标准模型的表面uv坐标,将目标纹理图的纹理,映射至对应位置的标准模型上;最后调用遮罩裁剪场景模型中不需要的部分,从而得到外形满足需求的场景模型,可以快速构建场景模型中的各个不同形状不同纹理的场景对象。在场景地形的生成装置在gui中渲染场景模型时,相比于相关技术,不再需要调用多个不同形状的场景对象的三维模型,特别是在渲染大世界场景的情况下,仅需要调用一个标准模型,便可以快速构建出场景模型进行渲染,从而可以更多的减少场景地形的生成装置调用的模型资源,减少渲染负荷,减少渲染的计算量,从而可以提高渲染场景模型的速度,提高场景切换时的切换速度,提升了用户的体验。
[0207]
本公开实施例中的场景地形的生成装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、umpc(ultra-mobile personal computer,级移动个人计算机)、上网本或者pda(personal digital assistant,个人数字助理)等,非移动电子设备可以为服务器、nas(network attached storage,网络附属存储器)、pc(personal computer,个人计算机)、tv(television,电视机)、柜员机或者自助机等,本公开实施例不作具体限定。
[0208]
本公开实施例提供的场景地形的生成装置能够实现图1至图7的方法实施例实现的各个过程,为避免重复,这里不再赘述。
[0209]
可选地,如图9所示,本公开实施例还提供一种电子设备900,包括处理器901,存储器902,存储在存储器902上并可在所述处理器901上运行的程序或指令,该程序或指令被处理器901执行时实现上述场景地形的生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0210]
需要说明的是,本公开实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
[0211]
图10为实现本公开实施例的一种电子设备的硬件结构示意图。
[0212]
该电子设备1000包括但不限于:射频单元1001、网络模块1002、音频输出单元1003、输入单元1004、传感器1005、显示单元1006、用户输入单元1007、接口单元1008、存储器1009、以及处理器1010等部件。
[0213]
本领域技术人员可以理解,电子设备1000还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器1010逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图10中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
[0214]
本公开实施例提供一种电子设备,电子设备可以调用一个标准模型,快速在目标面积上排布标准模型构建场景模型;然后基于各个排布位置上的标准模型的表面uv坐标,
将目标纹理图的纹理,映射至对应位置的标准模型上;最后调用遮罩裁剪场景模型中不需要的部分,从而得到外形满足需求的场景模型,可以快速构建场景模型中的各个不同形状不同纹理的场景对象。在电子设备在gui中渲染场景模型时,相比于相关技术,不再需要调用多个不同形状的场景对象的三维模型,特别是在渲染大世界场景的情况下,仅需要调用一个标准模型,便可以快速构建出场景模型进行渲染,从而可以更多的减少电子设备调用的模型资源,减少渲染负荷,减少渲染的计算量,从而可以提高渲染场景模型的速度,提高场景切换时的切换速度,提升了用户的体验。
[0215]
应理解的是,本公开实施例中,输入单元1004可以包括gpu(graphics processing unit,图形处理器)1041和麦克风1042,图形处理器1041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元1006可包括显示面板1061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板1061。用户输入单元1007包括触控面板1071以及其他输入设备1072。触控面板1071,也称为触摸屏。触控面板1071可包括触摸检测装置和触摸控制器两个部分。其他输入设备1072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器1009可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器1010可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1010中。
[0216]
本公开实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述场景地形的生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0217]
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机rom(read-only memory,只读存储器)、ram(random access memory,随机存取存储器)、磁碟或者光盘等。
[0218]
本公开实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述场景地形的生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0219]
应理解,本公开实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
[0220]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本公开实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
[0221]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方
法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本公开各个实施例所述的方法。
[0222]
上面结合附图对本公开的实施例进行了描述,但是本公开并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本公开的启示下,在不脱离本公开宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本公开的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1