掌桥专利:专业的专利平台
掌桥专利
首页

一种模型渲染方法、装置、设备及存储介质

文献发布时间:2024-04-18 19:58:30


一种模型渲染方法、装置、设备及存储介质

技术领域

本申请涉及图像处理技术领域,具体而言,涉及一种模型渲染方法、装置、设备及存储介质。

背景技术

现有技术中,通常借助于SP软件(Substance Painter,一款贴图绘制软件)来制作渲染模型时所需的材质;其中,以制作Smart Material(智能材质)材质为例,传统的材质制作方式是通过SP软件中的基础功能、滤镜等节点,将生成的特定材质效果进行打包,从而能够将打包后的上述特定材质效果重复应用到不同模型的渲染过程中,实现材质的重复使用。

目前,按照上述传统的材质制作方法,在面对需要批量使用同种材质进行渲染的多个不同模型时,由于不同模型之间使用同种材质进行渲染,而材质表现效果则完全由打包好的特定材质效果决定,因此,会使得不同模型上产生的材质表现效果相似,忽视了不同模型的表面细节,导致最终不同模型上的材质表现效果难以体现模型各自的独特性。

发明内容

有鉴于此,本申请的目的在于提供一种模型渲染方法、装置、设备及存储介质,基于材质模板化的构思,使用体现模型表面细节的目标遮罩与材质本身共同决定最终渲染后模型上的材质表现效果,从而即使是在使用同种材质对不同模型进行渲染的场景下,仍然能够有效地保留不同模型各自的独特性。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

第一方面,本申请实施例提供了一种模型渲染方法,所述模型渲染方法包括:

从待渲染模型关联的多种烘焙贴图中,获取每种烘焙贴图表示的所述待渲染模型的表面细节信息;

基于同一像素点在不同类型的烘焙贴图中分别对应的不同表面细节信息,生成用于从不同维度综合表征所述待渲染模型的表面细节的目标遮罩;

基于所述目标遮罩与所述待渲染模型关联的目标材质,对所述待渲染模型进行渲染,得到材质表现效果与所述目标遮罩和所述目标材质匹配的第一目标模型。

第二方面,本申请实施例提供了一种模型渲染装置,所述模型渲染装置包括:

获取模块,用于从待渲染模型关联的多种烘焙贴图中,获取每种烘焙贴图表示的所述待渲染模型的表面细节信息;

生成模块,用于基于同一像素点在不同类型的烘焙贴图中分别对应的不同表面细节信息,生成用于从不同维度综合表征所述待渲染模型的表面细节的目标遮罩;

渲染模块,用于基于所述目标遮罩与所述待渲染模型关联的目标材质,对所述待渲染模型进行渲染,得到材质表现效果与所述目标遮罩和所述目标材质匹配的第一目标模型。

第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的模型渲染方法的步骤。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的模型渲染方法的步骤。

本申请的实施例提供的技术方案可以包括以下有益效果:

本申请实施例提供的一种模型渲染方法、装置、设备及存储介质,从待渲染模型关联的多种烘焙贴图中,获取每种烘焙贴图表示的待渲染模型的表面细节信息;基于同一像素点在不同类型的烘焙贴图中分别对应的不同表面细节信息,生成用于从不同维度综合表征待渲染模型的表面细节的目标遮罩;基于目标遮罩与待渲染模型关联的目标材质,对待渲染模型进行渲染,得到材质表现效果与目标遮罩和目标材质匹配的第一目标模型。这样,本申请基于材质模板化的构思,使用体现模型表面细节的目标遮罩与材质本身共同决定最终渲染后模型上的材质表现效果,从而即使是在使用同种材质对不同模型进行渲染的场景下,仍然能够有效地保留不同模型各自的独特性。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本申请实施例所提供的一种模型渲染方法的流程示意图;

图2示出了本申请实施例提供的一种生成目标遮罩的方法的流程示意图;

图3示出了本申请实施例提供的一种调整目标材质本身的材质参数的方法的流程示意图;

图4a示出了本申请实施例提供的一种对多个模型进行批量渲染的方法的流程示意图;

图4b示出了本申请实施例提供的一种虚拟飞船模型的结构示意图;

图5示出了本申请实施例所提供的一种模型渲染装置的结构示意图;

图6为本申请实施例提供的一种电子设备600的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。

另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。

目前,按照传统的材质制作方法,在面对需要批量使用同种材质进行渲染的多个不同模型时,由于不同模型之间使用同种材质进行渲染,而材质表现效果则完全由打包好的特定材质效果决定,因此,会使得不同模型上产生的材质表现效果相似,忽视了不同模型的表面细节,导致最终不同模型上的材质表现效果难以体现模型各自的独特性。

基于此,本申请实施例提供了一种模型渲染方法、装置、设备及存储介质,基于材质模板化的构思,使用体现模型表面细节的目标遮罩与材质本身共同决定最终渲染后模型上的材质表现效果,从而即使是在使用同种材质对不同模型进行渲染的场景下,仍然能够有效地保留不同模型各自的独特性。

在本申请其中一种实施例中的一种模型渲染方法可以运行于终端设备或者是服务器;其中,终端设备可以为本地终端设备,当模型渲染方法运行于服务器时,该模型渲染方法则可以基于云交互系统来实现与执行,其中,云交互系统包括服务器和客户端设备(也即终端设备)。

为便于对本申请实施例进行理解,下面对本申请实施例提供的一种模型渲染方法、装置、设备及存储介质进行详细介绍。

参照图1所示,图1示出了本申请实施例所提供的一种模型渲染方法的流程示意图,其中,所述模型渲染方法包括步骤S101-S103;具体的:

S101,从待渲染模型关联的多种烘焙贴图中,获取每种烘焙贴图表示的所述待渲染模型的表面细节信息。

S102,基于同一像素点在不同类型的烘焙贴图中分别对应的不同表面细节信息,生成用于从不同维度综合表征所述待渲染模型的表面细节的目标遮罩。

S103,基于所述目标遮罩与所述待渲染模型关联的目标材质,对所述待渲染模型进行渲染,得到材质表现效果与所述目标遮罩和所述目标材质匹配的第一目标模型。

本申请实施例提供的上述模型渲染方法,从待渲染模型关联的多种烘焙贴图中,获取每种烘焙贴图表示的待渲染模型的表面细节信息;基于同一像素点在不同类型的烘焙贴图中分别对应的不同表面细节信息,生成用于从不同维度综合表征待渲染模型的表面细节的目标遮罩;基于目标遮罩与待渲染模型关联的目标材质,对待渲染模型进行渲染,得到材质表现效果与目标遮罩和目标材质匹配的第一目标模型。这样,本申请基于材质模板化的构思,使用体现模型表面细节的目标遮罩与材质本身共同决定最终渲染后模型上的材质表现效果,从而即使是在使用同种材质对不同模型进行渲染的场景下,仍然能够有效地保留不同模型各自的独特性。

下面对本申请实施例提供的上述模型渲染方法中的各步骤分别进行示例性的说明:

S101,从待渲染模型关联的多种烘焙贴图中,获取每种烘焙贴图表示的所述待渲染模型的表面细节信息。

这里,在本申请实施例中,基于材质模板化的构思,本申请采用的方案构思具体是:将决定最终渲染后模型上材质表现效果的因素拆分为两个模块;其中,第一个模块是用于体现待渲染模型本身独特性(即待渲染模型的各种表面细节信息)的目标遮罩,第二个模块则是所选材质(即用于渲染待渲染模型的材质)本身的材质参数信息(相当于选择的具体材质),通过使用体现模型表面细节的目标遮罩与材质本身共同决定最终渲染后模型上的材质表现效果的方式,保证即使是在使用同种材质对不同模型进行渲染的场景下,仍然能够有效地保留不同模型各自的独特性。

具体的,在上述第一个模块部分,在生成目标遮罩之前,需要按照步骤S101所述的方法,从待渲染模型关联的多种烘焙贴图中,获取每种烘焙贴图表示的待渲染模型的表面细节信息;其中,基于不同类型的烘焙贴图对应表示的模型表面细节的维度是不同的,因此,通过获取每种烘焙贴图表示的具体表面细节信息,可以得到从不同维度表示的待渲染模型的表面细节。

在本申请实施例中,为保证上述第一个模块部分最终生成的目标遮罩的准确度(相当于目标遮罩能够从多个不同维度综合表示待渲染模型的模型细节),作为一可选实施例,上述多种烘焙贴图可以包括以下四种贴图中的一项或多项,具体的:

1、AO(Ambient Occlusion,环境光遮蔽)贴图;其中,AO贴图也称为环境光遮蔽贴图。

这里,AO贴图属于包含光照数据的灰度贴图,AO贴图主要用于提供待渲染模型的表面能够接收到的间接光照信息(即AO贴图主要表示的表面细节信息是待渲染模型表面的光照细节);其中,间接光照表征来自环境中的光照和反射,因此,待渲染模型上的深度凹陷部分(如,裂痕或缝隙等)能够接收到的间接光照要少于模型表面的普通区域。

2、curvature贴图;其中,curvature贴图也称为曲率贴图。

这里,curvature贴图主要用于储存待渲染模型表面每个网格对象(即模型表面的拓扑结构中的网格对象)的凸度和凹度信息,也即,curvature贴图主要表示的表面细节信息是待渲染模型表面的几何曲率。

3、position贴图;其中,position贴图也称为位置贴图。

这里,position贴图主要表示的表面细节信息是待渲染模型表面上不同位置点之间的高度差异(也相当于待渲染模型表面上每个位置点处的高度值),通常可以基于position贴图实现待渲染模型底部到顶部的渐变效果。

4、normal贴图;其中,normal贴图也称为法线贴图,通常可以选用world normalmap(即基于世界坐标的法线贴图)。

这里,normal贴图主要表示的表面细节信息是待渲染模型表面上每个位置点处的法线信息(主要是不同位置点处的法线方向)。

需要说明的是,在实际应用中,在按照预设的烘焙方式(如,预设的烘焙光照、法线信息等多种烘焙信息,主要根据实际的模型烘焙需求进行配置)对待渲染模型进行烘焙之后,即可得到上述各种烘焙贴图(如,AO贴图、curvature贴图等);对于上述烘焙贴图的具体种类,本申请实施例不作任何限定(如,除上述各种烘焙贴图之后,还可以额外增加诸如height高度贴图等其他不同类型的烘焙贴图)。

需要说明的是,上述待渲染模型可以是任意类型的虚拟对象所对应的三维模型;例如,待渲染模型可以是虚拟飞船的模型,也可以是虚拟游戏角色的角色模型等;对于上述待渲染模型表征的具体虚拟对象类型,本申请实施例不作任何限定。

S102,基于同一像素点在不同类型的烘焙贴图中分别对应的不同表面细节信息,生成用于从不同维度综合表征所述待渲染模型的表面细节的目标遮罩。

这里,针对每种烘焙贴图,基于待渲染模型上的每一个位置点均可以对应烘焙贴图中的一个像素点(即每种烘焙贴图中的像素点对应表示待渲染模型上的表面位置点),即可从烘焙贴图中每个像素点的参数信息中,获取到该像素点所对应的模型表面上的位置点所对应的具体表面细节信息(如,曲率、法线方向等);因此,基于同一像素点在不同类型的烘焙贴图中的像素信息即可以表示待渲染模型上同一位置点对应的不同表面细节(相当于每种烘焙贴图可以分别表示一种维度的模型表面细节)。

具体的,在生成目标遮罩时,将同一像素点在不同类型的烘焙贴图中分别对应的不同表面细节信息(如,曲率、法线方向、光照细节、高度值)进行叠加(这里主要表示不同类型表面细节信息的组合,而不是简单的加法运算),即可得到每个像素点对应的遮罩值(相当于不同维度表面细节信息在同一像素点处综合的结果),此时,带有上述遮罩值的这些像素点组成的遮罩贴图即相当于生成的目标遮罩。

S103,基于所述目标遮罩与所述待渲染模型关联的目标材质,对所述待渲染模型进行渲染,得到材质表现效果与所述目标遮罩和所述目标材质匹配的第一目标模型。

这里,待渲染模型关联的目标材质可以根据实际的模型渲染需求进行选取,例如,目标材质可以是金属材质,也可以是木材质,对于目标材质所属的具体材质类型,本申请实施例不作任何限定。

具体的,本申请实施例中影响最终材质表现效果的第二个模块是目标材质(即所选材质,也即用于渲染待渲染模型的材质)本身的材质参数信息;其中,在对待渲染模型进行渲染时,作为一可选实施例,可以直接使用待渲染模型关联的目标材质作为所选材质(相当于不对目标材质本身的材质参数信息进行调整);作为另一可选实施例,还可以在目标材质的基础上,根据材质配置需求,对目标材质本身的材质参数信息进行调整,使用调整后的目标材质作为所选材质。

需要说明的是,在按照上述步骤S101-S103所述的方法进行模型渲染时,一方面,即使是在使用同种材质(即上述目标材质本身的材质参数信息不变)对不同模型进行渲染的场景下,基于不同模型的表面细节信息不同,不同模型生成的目标遮罩也是不同的,因此,本申请仍然能够有效地保留不同模型各自的独特性;另一方面,在本申请实施例中,基于材质模板化的构思,只需更换不同模型的烘焙贴图,即可对不同模型各自对应的目标遮罩进行更新,此外也可以根据材质的迭代更新需求,对目标材质本身的材质参数信息进行调整,从而可以快速实现统一且高质量的材质表现效果。

除此之外,在本申请实施例中,由于在生成贴图(包括上述烘焙贴图与属于遮罩贴图的目标遮罩)的过程中,只有烘培贴图会受到尺寸限制,其余中间生成的一切效果(即诸如光照细节、法线方向、曲率等的上述表面细节信息,或是目标遮罩中每个像素点对应的遮罩值等)均为矢量,因此,在实际应用中,只需要烘培分辨率是2K或4K的烘培贴图,便可以根据日后的更新迭代需求或游戏登录其他平台,来输出所需的大于烘焙尺寸的任意高清贴图,从而相较于传统的材质制作方法,更有利于满足材质的更新迭代需要,提高材质的更新迭代效率,节约材质制作与修改成本。

下面针对上述各步骤在本申请实施例中的具体实施过程,分别进行详细说明:

针对上述步骤S101的具体实施过程,以上述多种烘焙贴图包括:AO贴图(即环境光遮蔽贴图)、曲率贴图(即curvature贴图)、位置贴图(position贴图)、法线贴图(normal贴图)为例,可以按照以下步骤a1-a4所述的方法执行步骤S101,分别获取每种烘焙贴图对应表现的待渲染模型的表面细节信息,具体的:

步骤a1、从环境光遮蔽贴图中,根据每一像素点关联的像素信息,获取待渲染模型上每一表面位置点的环境光遮蔽信息。

这里,环境光遮蔽信息表示每一表面位置点受到光线遮挡的程度,其中,以待渲染模型上的一个表面位置点x1为例,x1的环境光遮蔽信息具体可以是在x1位置处沿法线方向发射的光线与待渲染模型上其他表面区域(即除表面位置点x1之外的其他表面区域)的交点密度。

步骤a2、从曲率贴图中,根据每一像素点关联的像素信息,获取待渲染模型上每一表面位置点的曲率信息。

这里,以待渲染模型上的一个表面位置点x1为例,x1的曲率信息可以是待渲染模型的表面在x1位置处的几何曲率。

步骤a3、从位置贴图中,根据每一像素点关联的像素信息,获取待渲染模型上每一表面位置点的高度信息。

这里,以待渲染模型上的一个表面位置点x1为例,x1的高度信息可以是待渲染模型的表面在x1位置处的具体高度值。

步骤a4、从法线贴图中,根据每一像素点关联的像素信息,获取待渲染模型上每一表面位置点的法线方向信息。

这里,以待渲染模型上的一个表面位置点x1为例,x1的法线方向信息可以是待渲染模型的表面在x1位置处的法线方向。

针对上述步骤S102的具体实施过程,图2示出了本申请实施例提供的一种生成目标遮罩的方法的流程示意图,如图2所示,在执行步骤S102时,所述方法包括步骤S201-S203,具体的:

S201,针对每一所述像素点,分别获取该像素点在所述环境光遮蔽贴图中对应的第一环境光遮蔽信息、在所述曲率贴图中对应的第一曲率信息、在所述位置贴图中对应的第一高度信息、在所述法线贴图中对应的第一法线方向信息。

具体的,基于每一个像素点对应表示待渲染模型上的一个表面位置点,因此,以上述步骤a1-a4处示例的表面位置点x1为例,表面位置点x1对应的像素点s1在AO贴图中对应的第一环境光遮蔽信息即为表面位置点x1处沿法线方向发射的光线与待渲染模型上其他表面区域(即除表面位置点x1之外的其他表面区域)的交点密度ρ1;像素点s1在曲率贴图中对应的第一曲率信息即为表面位置点x1处的几何曲率q1;像素点s1在位置贴图中对应的第一高度信息即为表面位置点x1处的具体高度值h1;像素点s1在法线贴图中对应的第一法线方向信息即为表面位置点x1处的法线方向f1。

S202,根据所述第一环境光遮蔽信息、所述第一曲率信息、所述第一高度信息以及所述第一法线方向信息,计算出所述待渲染模型上的目标表面位置点对应表现出的损耗程度。

这里,上述目标表面位置点表征该像素点对应表示的待渲染模型上的表面位置点;例如,以像素点是上述示例中的像素点s1为例,则此时上述目标表面位置点即相当于上述示例中的表面位置点x1。

具体的,仍以表面位置点x1为例,此时,第一环境光遮蔽信息即为上述交点密度ρ1、第一曲率信息即为上述几何曲率q1、第一高度信息即为上述高度值h1、第一法线方向信息即为上述法线方向f1,基于第一环境光遮蔽信息(即上述交点密度ρ1)表示表面位置点x1受到光照遮挡的程度;其中,上述交点密度ρ1的取值越小,则表示表面位置点x1处受到的光线遮挡程度越高,表面位置点x1处越容易发生损耗,因此,针对上述第一环境光遮蔽信息,可以使用1-交点密度ρ1来量化的表示环境光遮蔽信息对于上述损耗程度的影响。

而与上述第一环境光遮蔽信息不同,上述第一曲率信息、上述第一高度信息、上述第一法线方向信息与上述损耗程度之间的关系都呈负相关(即第一曲率信息、第一高度信息、第一法线方向信息的取值越大,则对应计算出的上述损耗程度越小);基于此,上述损耗程度可以通过以下公式计算得到:

m.ask(x1)=(1-p1)/q1/h1/f1;

其中,mask(x1)表示在表面位置点x1处的损耗程度;

ρ1表示表面位置点x1处沿法线方向发射的光线与待渲染模型上其他表面区域(即除表面位置点x1之外的其他表面区域)的交点密度(也即表面位置点x1对应的像素点s1在AO贴图中对应的第一环境光遮蔽信息);

q1表示表面位置点x1处的几何曲率(也即表面位置点x1对应的像素点s1在曲率贴图中对应的第一曲率信息);

h1表示表面位置点x1处的具体高度值(也即表面位置点x1对应的像素点s1在位置贴图中对应的第一高度信息);

f1表示表面位置点x1处的法线方向(也即表面位置点x1对应的像素点s1在法线贴图中对应的第一法线方向信息)。

S203,基于所述待渲染模型上每一所述表面位置点对应表现出的损耗程度,生成用于从不同维度综合表征所述待渲染模型的表面细节的目标遮罩。

具体的,结合上述步骤S102处的相关说明内容,将每一表面位置点对应表现出的损耗程度作为其对应的像素点所对应的遮罩值,此时,带有上述遮罩值的这些像素点组成的遮罩贴图即相当于生成的目标遮罩。

针对上述步骤S103中选择的目标材质,图3示出了本申请实施例提供的一种调整目标材质本身的材质参数的方法的流程示意图,如图3所示,所述方法包括步骤S301-S302,具体的:

S301,将预先烘焙好的ID贴图作为用于进行材质选择的遮罩,并利用所述遮罩对初始材质进行材质选择,得到被所述遮罩选择的前景材质以及所述初始材质中未被所述遮罩选择的背景材质。

这里,ID贴图是一种专用于进行材质选择的特定功能贴图;其中,通过烘焙好的ID贴图来作为用于进行材质选择的遮罩,可以将完整的初始材质拆分为以下两个部分:

1、被遮罩选择的前景材质;其中,在后续对于初始材质的材质参数进行调整时,只会对被遮罩选择的前景材质的材质参数进行调整。

2、未被遮罩选择的背景材质;其中,背景材质也相当于初始材质中除上述前景材质之外的剩余材质。

S302,根据所述待渲染模型关联的材质配置信息,对所述前景材质的材质参数进行调整,并将调整后的前景材质叠加到所述背景材质上,得到符合所述材质配置信息的所述目标材质。

这里,待渲染模型关联的材质配置信息可以根据待渲染模型的具体材质配置需求进行确定(如,具体使用的材质类型、材质颜色、粗糙值、法线强度等);对于上述材质配置信息的具体信息组成,本申请实施例不作任何限定。

具体的,与上述材质配置信息相似,在对前景材质的材质参数进行调整时,被调整的材质参数也可以是上述材质类型(如,金属类型还是非金属类型)、上述材质颜色、上述粗糙值、上述法线强度等;对于上述材质参数的具体参数类型,本申请实施例同样不作任何限定。

针对上述步骤S101-S103的具体实施过程,在待渲染模型不变的基础上(相当于待渲染模型的表面细节信息不变),作为一可选实施例,根据项目中对于材质的迭代更新需求,可以按照如下步骤b1-b2所述的方法,对待渲染模型关联的目标材质进行更换,以提高材质的更新迭代效率,具体的:

步骤b1、将待渲染模型关联的目标材质更新为第一材质。

这里,第一材质表征与目标材质不同的材质,对于第一材质的具体材质参数以及具体材质类型,本申请实施例不作任何限定;例如,若目标材质为金属材质,则第一材质可以是塑料材质,也可以是木材质等。

步骤b2、基于目标遮罩与第一材质,对待渲染模型进行渲染,得到表面细节与第一目标模型相同但材质不同的第二目标模型。

具体的,步骤b2的具体实施方式与上述步骤S103相同,仅是将目标材质替换为迭代更新后的第一材质即可,重复之处在此不再赘述。

这里,关于步骤b2中的第二目标模型与上述步骤S103中的第一目标模型,需要说明的是:同样是基于目标遮罩对待渲染模型进行渲染,当改变模型渲染时选择的具体材质时(即将目标材质更新为第一材质),出于本申请中材质模板化的构思,只改变模型渲染时选择的具体材质,在最终渲染后模型上的材质表现效果中,并不会丢失由模型本身表面细节决定的独特性(即通过不改变目标遮罩的方式,可以保证第二目标模型的表面细节与第一目标模型是相同的),从而相较于传统的材质制作方式(将生成的特定材质效果进行打包,打包后的特定材质效果可以重复应用到不同模型的渲染过程中),本申请可以在保留模型本身独特性不变(即不改变模型渲染时选择的目标遮罩)的基础上,根据实际的材质选择需求,更加灵活地调整模型渲染时选择的具体材质,有利于丰富单一模型的材质表现效果。

针对上述步骤S101-S103的具体实施过程,在使用同种材质对不同模型进行渲染的场景下,图4a示出了本申请实施例提供的一种对多个模型进行批量渲染的方法的流程示意图,如图4a所示,所述方法包括步骤S401-S402,具体的:

S401,通过生成所述目标遮罩的方式,生成用于从不同维度综合表征第一模型的表面细节的第一遮罩。

这里,第一模型关联的材质为目标材质,也即,第一模型是与上述步骤S101-S103中的待渲染模型关联的材质相同但表面细节不同的模型;例如,对于诸如虚拟飞船一类的大型三维模型而言,在虚拟飞船中通常会包括多个使用相同材质的不同零件子模型,此时,第一模型与待渲染模型可以分别表征虚拟飞船上使用相同材质(即目标材质)的不同零件子模型。

示例性的说明,图4b示出了本申请实施例提供的一种虚拟飞船模型的结构示意图,其中,在虚拟飞船模型400中,第一模型410表示虚拟飞船模型400的船头,待渲染模型420表示位于虚拟飞船模型400侧边的助推器,由于第一模型410与待渲染模型420属于虚拟飞船模型400的不同零件子模型,因此,虽然第一模型410与待渲染模型420的表面细节各不相同(如图4b所示,第一模型410与待渲染模型420的表面纹理不同,第一模型410的表面上包含一个星形图案,而待渲染模型420的表面上则包含的是条形图案),但是第一模型410与待渲染模型420关联的材质是相同的,都是灰色的金属材质(相当于目标材质是灰色的金属材质)。

需要说明的是,这里第一遮罩的生成方式与上述步骤S101-S102所述的目标遮罩的生成方式相同,重复之处在此不再赘述。

S402,在保持所述目标材质的粗糙值不变的条件下,基于所述目标材质与所述第一遮罩,对所述第一模型进行渲染,得到材质与所述第一目标模型相同但表面细节不同的第二模型。

这里,由于在材质表现效果中起到决定性的影响因素是材质的roughness参数(即粗糙值),因此,在使用与待渲染模型相同的目标材质进行渲染时,为保证最终渲染得到的第二模型与步骤S103中渲染得到的第一目标模型的材质相同,至少需要保持目标材质的roughness参数不变。

具体的,以使用Substance Designer(一种生成三维纹理的制图软件)软件配置目标材质为例,在Substance Designer软件中可以锁定目标材质的roughness参数(即粗糙值),也即,将目标材质的roughness参数设置为一个固定值并将其锁定,不允许后续步骤对roughness参数进行任何修改,使得步骤S402中对第一模型进行渲染时所使用的目标材质与之前步骤S103对待渲染模型进行渲染时所使用的目标材质相同,从而保证渲染后的第二模型与第一目标模型的材质相同,具有统一的材质表现风格,并且仍然能够保持第二模型与第一目标模型各自的独特性(即表面细节不同)。

具体的,使用目标材质与第一遮罩,对第一模型进行渲染的方式与上述步骤S103的具体实施方式相同,重复之处在此不再赘述。

示例性的说明,如图4b所示,仍以第一模型410与待渲染模型420分属于同一虚拟飞船模型400上使用同一目标材质(如,灰色金属材质)的不同零件子模型为例,在保持目标材质的粗糙值不变的条件下,只需分别生成用于体现每个零件子模型(即上述第一模型410与上述待渲染模型420)各自独特性(即模型各自的表面细节)的特定遮罩(即上述目标遮罩与上述第一遮罩),然后基于各自的特定遮罩与相同粗糙值的目标材质(如,灰色金属材质),即可得到材质表现风格统一(即材质相同,都是灰色金属材质)但材质表现效果又能够很好地保留各自独特性(即渲染后的第二模型表面仍然保留有第一模型410表面上的星形图案,渲染后的第一目标模型表面仍然保留有待渲染模型420表面上的条形图案)的不同零件子模型。

基于本申请实施例提供的上述模型渲染方法,从待渲染模型关联的多种烘焙贴图中,获取每种烘焙贴图表示的待渲染模型的表面细节信息;基于同一像素点在不同类型的烘焙贴图中分别对应的不同表面细节信息,生成用于从不同维度综合表征待渲染模型的表面细节的目标遮罩;基于目标遮罩与待渲染模型关联的目标材质,对待渲染模型进行渲染,得到材质表现效果与目标遮罩和目标材质匹配的第一目标模型。这样,本申请基于材质模板化的构思,使用体现模型表面细节的目标遮罩与材质本身共同决定最终渲染后模型上的材质表现效果,从而即使是在使用同种材质对不同模型进行渲染的场景下,仍然能够有效地保留不同模型各自的独特性。

基于同一发明构思,本申请还提供了与上述模型渲染方法对应的模型渲染装置,由于本申请实施例中的模型渲染装置解决问题的原理与本申请实施例中上述模型渲染方法相似,因此,模型渲染装置的实施可以参见上述模型渲染方法的实施,重复之处不再赘述。

参照图5所示,图5示出了本申请实施例所提供的一种模型渲染装置的结构示意图,其中,所述模型渲染装置包括:

获取模块501,用于从待渲染模型关联的多种烘焙贴图中,获取每种烘焙贴图表示的所述待渲染模型的表面细节信息;

生成模块502,用于基于同一像素点在不同类型的烘焙贴图中分别对应的不同表面细节信息,生成用于从不同维度综合表征所述待渲染模型的表面细节的目标遮罩;

渲染模块503,用于基于所述目标遮罩与所述待渲染模型关联的目标材质,对所述待渲染模型进行渲染,得到材质表现效果与所述目标遮罩和所述目标材质匹配的第一目标模型。

在一种可选的实施方式中,所述烘焙贴图包括以下一项或多项:环境光遮蔽贴图、曲率贴图、位置贴图、法线贴图。

在一种可选的实施方式中,每种烘焙贴图中的像素点对应表示所述待渲染模型上的表面位置点,在所述获取每种烘焙贴图表示的所述待渲染模型的表面细节信息时,获取模块501,用于:

从所述环境光遮蔽贴图中,根据每一像素点关联的像素信息,获取所述待渲染模型上每一表面位置点的环境光遮蔽信息;其中,所述环境光遮蔽信息表示每一表面位置点受到光线遮挡的程度;

从所述曲率贴图中,根据每一像素点关联的像素信息,获取所述待渲染模型上每一表面位置点的曲率信息;

从所述位置贴图中,根据每一像素点关联的像素信息,获取所述待渲染模型上每一表面位置点的高度信息;

从所述法线贴图中,根据每一像素点关联的像素信息,获取所述待渲染模型上每一表面位置点的法线方向信息。

在一种可选的实施方式中,在所述基于同一像素点在不同类型的烘焙贴图中分别对应的不同表面细节信息,生成用于从不同维度综合表征所述待渲染模型的表面细节的目标遮罩时,生成模块502,用于:

针对每一所述像素点,分别获取该像素点在所述环境光遮蔽贴图中对应的第一环境光遮蔽信息、在所述曲率贴图中对应的第一曲率信息、在所述位置贴图中对应的第一高度信息、在所述法线贴图中对应的第一法线方向信息;

根据所述第一环境光遮蔽信息、所述第一曲率信息、所述第一高度信息以及所述第一法线方向信息,计算出所述待渲染模型上的目标表面位置点对应表现出的损耗程度;其中,所述目标表面位置点表征该像素点对应表示的所述待渲染模型上的表面位置点;

基于所述待渲染模型上每一所述表面位置点对应表现出的损耗程度,生成用于从不同维度综合表征所述待渲染模型的表面细节的目标遮罩。

在一种可选的实施方式中,渲染模块503,用于通过以下方法获取所述目标材质:

将预先烘焙好的ID贴图作为用于进行材质选择的遮罩,并利用所述遮罩对初始材质进行材质选择,得到被所述遮罩选择的前景材质以及所述初始材质中未被所述遮罩选择的背景材质;

根据所述待渲染模型关联的材质配置信息,对所述前景材质的材质参数进行调整,并将调整后的前景材质叠加到所述背景材质上,得到符合所述材质配置信息的所述目标材质。

在一种可选的实施方式中,所述模型渲染装置,还包括:材质更新模块,所述材质更新模块用于:

将所述待渲染模型关联的目标材质更新为第一材质;

基于所述目标遮罩与所述第一材质,对所述待渲染模型进行渲染,得到表面细节与所述第一目标模型相同但材质不同的第二目标模型。

在一种可选的实施方式中,所述模型渲染装置,还包括:模型更新模块,所述模型更新模块用于:

通过生成所述目标遮罩的方式,生成用于从不同维度综合表征第一模型的表面细节的第一遮罩;其中,所述第一模型关联的材质为所述目标材质;

在保持所述目标材质的粗糙值不变的条件下,基于所述目标材质与所述第一遮罩,对所述第一模型进行渲染,得到材质与所述第一目标模型相同但表面细节不同的第二模型。

基于本申请实施例提供的上述模型渲染装置,从待渲染模型关联的多种烘焙贴图中,获取每种烘焙贴图表示的待渲染模型的表面细节信息;基于同一像素点在不同类型的烘焙贴图中分别对应的不同表面细节信息,生成用于从不同维度综合表征待渲染模型的表面细节的目标遮罩;基于目标遮罩与待渲染模型关联的目标材质,对待渲染模型进行渲染,得到材质表现效果与目标遮罩和目标材质匹配的第一目标模型。这样,本申请基于材质模板化的构思,使用体现模型表面细节的目标遮罩与材质本身共同决定最终渲染后模型上的材质表现效果,从而即使是在使用同种材质对不同模型进行渲染的场景下,仍然能够有效地保留不同模型各自的独特性。

基于同一发明构思,本申请还提供了与上述模型渲染方法对应的电子设备,由于本申请实施例中的电子设备解决问题的原理与本申请实施例中上述模型渲染方法相似,因此电子设备的实施可以参见上述模型渲染方法的实施,重复之处不再赘述。

图6为本申请实施例提供的一种电子设备600的结构示意图,包括:处理器601、存储器602和总线603,存储器602存储有处理器601可执行的机器可读指令,当电子设备运行如实施例中的一种模型渲染方法时,处理器601与存储器602之间通过总线603通信,处理器601执行所述机器可读指令,其中,处理器601执行所述机器可读指令时实现以下步骤,具体的:

从待渲染模型关联的多种烘焙贴图中,获取每种烘焙贴图表示的所述待渲染模型的表面细节信息;

基于同一像素点在不同类型的烘焙贴图中分别对应的不同表面细节信息,生成用于从不同维度综合表征所述待渲染模型的表面细节的目标遮罩;

基于所述目标遮罩与所述待渲染模型关联的目标材质,对所述待渲染模型进行渲染,得到材质表现效果与所述目标遮罩和所述目标材质匹配的第一目标模型。

在一种可选的实施方式中,所述烘焙贴图包括以下一项或多项:环境光遮蔽贴图、曲率贴图、位置贴图、法线贴图。

在一种可选的实施方式中,每种烘焙贴图中的像素点对应表示所述待渲染模型上的表面位置点,在所述获取每种烘焙贴图表示的所述待渲染模型的表面细节信息时,处理器601用于:

从所述环境光遮蔽贴图中,根据每一像素点关联的像素信息,获取所述待渲染模型上每一表面位置点的环境光遮蔽信息;其中,所述环境光遮蔽信息表示每一表面位置点受到光线遮挡的程度;

从所述曲率贴图中,根据每一像素点关联的像素信息,获取所述待渲染模型上每一表面位置点的曲率信息;

从所述位置贴图中,根据每一像素点关联的像素信息,获取所述待渲染模型上每一表面位置点的高度信息;

从所述法线贴图中,根据每一像素点关联的像素信息,获取所述待渲染模型上每一表面位置点的法线方向信息。

在一种可选的实施方式中,在所述基于同一像素点在不同类型的烘焙贴图中分别对应的不同表面细节信息,生成用于从不同维度综合表征所述待渲染模型的表面细节的目标遮罩时,处理器601用于:

针对每一所述像素点,分别获取该像素点在所述环境光遮蔽贴图中对应的第一环境光遮蔽信息、在所述曲率贴图中对应的第一曲率信息、在所述位置贴图中对应的第一高度信息、在所述法线贴图中对应的第一法线方向信息;

根据所述第一环境光遮蔽信息、所述第一曲率信息、所述第一高度信息以及所述第一法线方向信息,计算出所述待渲染模型上的目标表面位置点对应表现出的损耗程度;其中,所述目标表面位置点表征该像素点对应表示的所述待渲染模型上的表面位置点;

基于所述待渲染模型上每一所述表面位置点对应表现出的损耗程度,生成用于从不同维度综合表征所述待渲染模型的表面细节的目标遮罩。

在一种可选的实施方式中,处理器601用于通过以下方法获取所述目标材质:

将预先烘焙好的ID贴图作为用于进行材质选择的遮罩,并利用所述遮罩对初始材质进行材质选择,得到被所述遮罩选择的前景材质以及所述初始材质中未被所述遮罩选择的背景材质;

根据所述待渲染模型关联的材质配置信息,对所述前景材质的材质参数进行调整,并将调整后的前景材质叠加到所述背景材质上,得到符合所述材质配置信息的所述目标材质。

在一种可选的实施方式中,处理器601还用于:

将所述待渲染模型关联的目标材质更新为第一材质;

基于所述目标遮罩与所述第一材质,对所述待渲染模型进行渲染,得到表面细节与所述第一目标模型相同但材质不同的第二目标模型。

在一种可选的实施方式中,处理器601还用于:

通过生成所述目标遮罩的方式,生成用于从不同维度综合表征第一模型的表面细节的第一遮罩;其中,所述第一模型关联的材质为所述目标材质;

在保持所述目标材质的粗糙值不变的条件下,基于所述目标材质与所述第一遮罩,对所述第一模型进行渲染,得到材质与所述第一目标模型相同但表面细节不同的第二模型。

通过本申请实施例提供的上述电子设备,从待渲染模型关联的多种烘焙贴图中,获取每种烘焙贴图表示的待渲染模型的表面细节信息;基于同一像素点在不同类型的烘焙贴图中分别对应的不同表面细节信息,生成用于从不同维度综合表征待渲染模型的表面细节的目标遮罩;基于目标遮罩与待渲染模型关联的目标材质,对待渲染模型进行渲染,得到材质表现效果与目标遮罩和目标材质匹配的第一目标模型。这样,本申请基于材质模板化的构思,使用体现模型表面细节的目标遮罩与材质本身共同决定最终渲染后模型上的材质表现效果,从而即使是在使用同种材质对不同模型进行渲染的场景下,仍然能够有效地保留不同模型各自的独特性。

基于同一发明构思,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行,所述处理器执行以下步骤:

从待渲染模型关联的多种烘焙贴图中,获取每种烘焙贴图表示的所述待渲染模型的表面细节信息;

基于同一像素点在不同类型的烘焙贴图中分别对应的不同表面细节信息,生成用于从不同维度综合表征所述待渲染模型的表面细节的目标遮罩;

基于所述目标遮罩与所述待渲染模型关联的目标材质,对所述待渲染模型进行渲染,得到材质表现效果与所述目标遮罩和所述目标材质匹配的第一目标模型。

在一种可选的实施方式中,所述烘焙贴图包括以下一项或多项:环境光遮蔽贴图、曲率贴图、位置贴图、法线贴图。

在一种可选的实施方式中,每种烘焙贴图中的像素点对应表示所述待渲染模型上的表面位置点,在所述获取每种烘焙贴图表示的所述待渲染模型的表面细节信息时,所述处理器用于:

从所述环境光遮蔽贴图中,根据每一像素点关联的像素信息,获取所述待渲染模型上每一表面位置点的环境光遮蔽信息;其中,所述环境光遮蔽信息表示每一表面位置点受到光线遮挡的程度;

从所述曲率贴图中,根据每一像素点关联的像素信息,获取所述待渲染模型上每一表面位置点的曲率信息;

从所述位置贴图中,根据每一像素点关联的像素信息,获取所述待渲染模型上每一表面位置点的高度信息;

从所述法线贴图中,根据每一像素点关联的像素信息,获取所述待渲染模型上每一表面位置点的法线方向信息。

在一种可选的实施方式中,在所述基于同一像素点在不同类型的烘焙贴图中分别对应的不同表面细节信息,生成用于从不同维度综合表征所述待渲染模型的表面细节的目标遮罩时,所述处理器用于:

针对每一所述像素点,分别获取该像素点在所述环境光遮蔽贴图中对应的第一环境光遮蔽信息、在所述曲率贴图中对应的第一曲率信息、在所述位置贴图中对应的第一高度信息、在所述法线贴图中对应的第一法线方向信息;

根据所述第一环境光遮蔽信息、所述第一曲率信息、所述第一高度信息以及所述第一法线方向信息,计算出所述待渲染模型上的目标表面位置点对应表现出的损耗程度;其中,所述目标表面位置点表征该像素点对应表示的所述待渲染模型上的表面位置点;

基于所述待渲染模型上每一所述表面位置点对应表现出的损耗程度,生成用于从不同维度综合表征所述待渲染模型的表面细节的目标遮罩。

在一种可选的实施方式中,所述处理器用于通过以下方法获取所述目标材质:

将预先烘焙好的ID贴图作为用于进行材质选择的遮罩,并利用所述遮罩对初始材质进行材质选择,得到被所述遮罩选择的前景材质以及所述初始材质中未被所述遮罩选择的背景材质;

根据所述待渲染模型关联的材质配置信息,对所述前景材质的材质参数进行调整,并将调整后的前景材质叠加到所述背景材质上,得到符合所述材质配置信息的所述目标材质。

在一种可选的实施方式中,所述处理器还用于:

将所述待渲染模型关联的目标材质更新为第一材质;

基于所述目标遮罩与所述第一材质,对所述待渲染模型进行渲染,得到表面细节与所述第一目标模型相同但材质不同的第二目标模型。

在一种可选的实施方式中,所述处理器还用于:

通过生成所述目标遮罩的方式,生成用于从不同维度综合表征第一模型的表面细节的第一遮罩;其中,所述第一模型关联的材质为所述目标材质;

在保持所述目标材质的粗糙值不变的条件下,基于所述目标材质与所述第一遮罩,对所述第一模型进行渲染,得到材质与所述第一目标模型相同但表面细节不同的第二模型。

通过本申请实施例提供的上述计算机可读存储介质,从待渲染模型关联的多种烘焙贴图中,获取每种烘焙贴图表示的待渲染模型的表面细节信息;基于同一像素点在不同类型的烘焙贴图中分别对应的不同表面细节信息,生成用于从不同维度综合表征待渲染模型的表面细节的目标遮罩;基于目标遮罩与待渲染模型关联的目标材质,对待渲染模型进行渲染,得到材质表现效果与目标遮罩和目标材质匹配的第一目标模型。这样,本申请基于材质模板化的构思,使用体现模型表面细节的目标遮罩与材质本身共同决定最终渲染后模型上的材质表现效果,从而即使是在使用同种材质对不同模型进行渲染的场景下,仍然能够有效地保留不同模型各自的独特性。

在本申请实施例中,该计算机可读存储介质被处理器运行时还可以执行其它机器可读指令,以执行如实施例中其它所述的模型渲染方法,关于具体执行的模型渲染方法步骤和原理参见方法侧实施例的说明,在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 一种页面渲染方法、装置、设备和存储介质
  • 小程序的界面渲染方法、装置、电子设备和存储介质
  • 渲染立体图形线框的方法、装置、计算机设备和存储介质
  • 页面渲染方法、装置、计算机设备及存储介质
  • 在canvas中渲染数据的方法、装置、电子设备及存储介质
  • 渲染模型训练方法、渲染方法、装置、设备及存储介质
  • 电气设备模型渲染方法、装置、计算机设备和存储介质
技术分类

06120116501114