贴图的生成方法、装置、计算机设备及存储介质与流程

文档序号:30136388发布日期:2022-05-21 01:28阅读:122来源:国知局
贴图的生成方法、装置、计算机设备及存储介质与流程

1.本公开涉及计算机技术领域,具体而言,涉及一种贴图的生成方法、装置、计算机设备及存储介质。


背景技术:

2.次表面散射(sub-surface-scattering,3s),是指光从表面进入物体经过内部散射,然后又通过物体表面的其他顶点出射的光线传递过程,用来描述光线穿过透明/半透明表面时发生散射的照明现象,具体可以表现在现实世界中灯光照射下人的皮肤上显示出的光影效果。
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.图1示出了本公开实施例所提供的一种贴图的生成方法的流程图;
35.图2示出了本公开实施例所提供的一种目标对象的三维模型的示意图;
36.图3示出了本公开实施例所提供的一种原始阴影贴图的示意图;
37.图4示出了本公开实施例所提供的一种阴影倾向贴图的示意图;
38.图5示出了本公开实施例所提供的一种确定目标阴影贴图的具体流程图;
39.图6示出了本公开实施例所提供的一种目标渲染图像的示意图;
40.图7示出了本公开实施例所提供的一种贴图的生成装置的示意图;
41.图8示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
42.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
43.经研究发现,次表面散射具体可以表现在现实世界中灯光照射下人的皮肤上显示出的光影效果,类似于在蜡烛被点燃时,可以在蜡烛上靠近火焰的位置处,看到由于光线在蜡烛中由于漫反射而隐约发光的部位。若将这种在现实世界中会发生的次表面散射效果迁移至对二次元对象的渲染显示中,可以提高显示出的二次元对象的光影效果的真实程度。然而,由于次表面散射的物理原理较为复杂,渲染设备需要对光线进行实时追踪,并模拟出由于对象内表层的介质对光线的散射光,而一般的计算机设备无法提供可支持计算的算力,也就无法为二次元对象添加次表面散射效果,导致当前对二次元对象渲染的真实性较差的问题。
44.基于上述研究,本公开提供了一种贴图的生成方法,无需实际实现次表面散射,而是利用确定光照方向下对原始阴影贴图进行矫正处理,以呈现出在光照方向下的阴影效果,并通过阴影倾向贴图的光影映射处理以得到阴影区域的光影效果,就可以使得到阴影颜色贴图呈现出类似次表面散射的光影效果,因此所需要依赖的算力较小,适用于一般的计算机设备,因此可以较为容易地为二次元对象添加次表面散射效果,使得得到的二次元对象的光影效果更贴近真实效果。
45.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
46.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
47.为便于对本实施例进行理解,首先对本公开实施例所公开的一种贴图的生成方法进行详细介绍,本公开实施例所提供的贴图的生成方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该贴图的生成方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
48.下面对本公开实施例提供的贴图的生成方法加以说明。本公开实施例提供的一种贴图的生成方法,可以用于确定二次元对象的阴影颜色贴图,并具体可以应用于对二次元对象的阴影颜色渲染。此处说明的二次元对象,具体可以包括卡通形象、游戏角色、虚拟宠物等,因此本公开实施例提供的生成方法可以具体应用于游戏画面制作或生成、动漫影视制作等不同的应用领域中。在利用本公开实施例提供的生成方法确定阴影颜色贴图后,即可以进一步地利用确定的阴影颜色贴图对二次元对象进行渲染,以通过渲染显示出的光影效果使二次元对象更具有真实性以及合理性。
49.参见图1所示,为本公开实施例提供的一种贴图的生成方法的流程图,所述方法包括步骤s101~s103,其中:
50.s101:获取目标对象的三维模型、所述三维模型对应的原始阴影贴图以及阴影倾向贴图;
51.s102:基于与所述三维模型对应的光照方向,对所述原始阴影贴图进行校正处理,得到所述三维模型对应的目标阴影贴图;
52.s103:利用所述阴影倾向贴图对所述目标阴影贴图进行光影映射处理,得到所述三维模型对应的阴影颜色贴图。
53.本公开实施例利用目标对象的三维模型以及确定的与三维模型对应的光照方向对三维模型的原始阴影贴图进行矫正处理,得到目标阴影贴图,并利用阴影倾向贴图对目标阴影贴图进行光影映射处理,得到三维模型的阴影颜色贴图。在利用这样的阴影颜色贴图对三维模型进行渲染时可以使目标对象显示出次表面散射的光影效果。由于在这种方式下无需实际实现次表面散射,而是利用确定光照方向下对原始阴影贴图进行矫正处理,以呈现出在光照方向下的阴影效果,并通过阴影倾向贴图的光影映射处理以得到阴影区域的光影效果,就可以使得到阴影颜色贴图呈现出类似次表面散射的光影效果,因此所需要依赖的算力较小,适用于一般的计算机设备,因此可以较为容易地为二次元对象添加次表面散射效果,使得得到的二次元对象的光影效果更贴近真实效果。
54.下面对上述s101~s103加以详细说明。
55.针对上述s101,首先对目标对象的三维模型进行说明。目标对象具体可以包括二次元对象,由于二次元对象为虚拟对象,并不实际存在,因此可以通过构建二次元对象对应
的三维模型的方式确定二次元对象的身高、胖瘦等体态特征,并利用确定的三维模型模拟二次元对象在现实世界中希望呈现出的形象。示例性的,参见图2所示,为本公开实施例提供的一种目标对象的三维模型的示意图,此处示出的三维模型为人工构建的虚拟模型;对于三维模型,具体还可以细化表现出人脸的五官特征以及着装特征,在图2中并未示出。另外,针对不同的二次元对象,可以确定不同的三维模型。
56.三维模型通常包括:位于三维模型表面的多个顶点、以及通过顶点之间的相互连接关系构成的面片(mesh)。
57.在确定目标对象模型后,还可以获取与三维模型对应的原始阴影贴图。原始阴影贴图具体包括灰度图,由以不同灰度值下的像素点构成,可以反映三维模型中各个顶点分别对应的原始阴影程度信息。示例性的,参见图3所示,为本公开实施例提供的一种原始阴影贴图的示意图。在一种可能的情况下,在实际为目标对象模型确定阴影贴图时,会先为三维模型确定光照贴图,其中光照贴图由不同通道下的灰度图构成,在光照贴图中阴影通道下的灰度图也即可以作为原始阴影贴图的灰度图。
58.另外,还可以获取与三维模型对应的阴影倾向贴图,示例性的,参见图4所示,为本公开实施例提供的一种阴影倾向贴图的示意图。实际上,阴影倾向贴图的不同区域中均具有不同的颜色。具体地,阴影倾向贴图可以用于渲染反映出目标对象的阴影区域和高光区域。
59.针对上述s102,针对获取到的三维模型对应的原始阴影贴图,可以通过三维模型对应的光照方向,对原始阴影贴图进行校正处理,以得到三维模型对应的目标阴影贴图。
60.在具体实施中,参见图5所示,为本公开实施例提供的一种确定目标阴影贴图的具体流程图,具体包括:
61.s501:基于所述三维模型、以及与所述三维模型对应的光照方向,确定与所述三维模型对应的光照模型;所述光照模型用于表征所述三维模型的多个顶点分别对应的阴影程度信息。
62.首先,对确定光照模型的具体方式进行说明。在具体实施中,具体可以采用下述方式确定光照模型:确定所述三维模型中多个顶点分别对应的法线方向;针对多个顶点中的每个顶点,对所述每个顶点对应的法线方向以及所述光照方向进行点积运算,得到所述每个顶点对应的阴影程度信息;基于多个所述顶点分别对应的阴影程度信息,得到所述光照模型。
63.其中,对于三维模型中的多个顶点以及多个顶点对应的法线方向,参见图2所示,在示出的三维模型中标注了部分顶点,以及在该顶点处对应的法线方向。由于三维模型可以确定,因此可以在三维模型上的外轮廓上确定多个顶点,并根据多个顶点分别在三维模型上的位置,确定各个顶点分别对应的法线方向。具体确定的法线方向的方式在此不再赘述。
64.对于光照方向而言,在本公开另一实施例中,还提供了一种确定光照方向的具体方式。具体地,可以确定目标光源在于所述三维模型对应的模型坐标系中的光源位置信息,然后基于所述光源位置信息,确定与所述三维模型对应的光照方向。
65.其中,目标光源可以包括虚拟光源。在确定目标光源的光照方向时,由于光照方向具体影响三维模型,因此涉及到目标光源与三维模型之间的相对位置关系。这样,为了更为
准确地确定光照方向,可以以三维模型为基准建立对应的模型坐标系,并在该模型坐标系下确定目标光源的光源位置信息。这样,对于在同一模型坐标系下的目标光源和三维模型,可以准确地确定目标光源与三维模型之间的相对位置关系,从而能够确定与三维模型对应的光照方向。
66.在确定光照方向的情况下,针对多个顶点中的每个顶点,可以利用每个顶点对应的法线方向以及光照方向进行点积运算,得到每个顶点对应的阴影程度信息,这样通过确定多个顶点分别对应的阴影程度信息,即可以得到光照模型。此处,光照模型反应的各个顶点对应的阴影程度信息,具体可以反映各个顶点在渲染显示后是否出现在阴影区域,以及若存在的顶点在渲染显示后出现在阴影区域,对应的阴影颜色偏深暗色或者是偏浅亮色。
67.这样,利用光照方向和三维模型中各个顶点对应的法线方向确定的光照模型,可以更加准确地反映出三维模型中各个顶点在目标光源下应当表现出的阴影倾向,也即得到的光照模型可以反映出目标光源对三维模型的光照影响,更适用于对三维模型对应的原始阴影贴图进行在目标光源对应的光照方向下的校正处理。
68.承接上述s501,确定目标阴影贴图的具体方式还包括:
69.s502:利用所述光照模型对所述原始阴影贴图进行光照方向的校正处理,得到所述目标人体三维模型的中间阴影贴图。
70.在具体实施中,具体可以利用所述光照模型中包括的多个顶点分别对应的阴影程度信息,对所述三维模型中各个顶点分别对应的原始阴影程度信息进行重映射处理,以得到所述三维模型的中间阴影贴图。
71.其中,重映射处理具体包括对原始阴影程度信息进行在灰度值范围上的重映射,具体可以采用线性插值的计算方式。这样,可以利用能够反映出光照方向的光照模型下多个顶点分别对应的阴影程度信息,经过重映射的计算使原始阴影贴图下的原始阴影程度信息同样具备有在光照方向下的影响,以得到可以反应出被光照方向所影响的目标对象模型的中间阴影贴图。
72.s503:响应于接收到阴影范围调整指令,基于所述阴影范围调整指令中携带的目标阴影分区灰度阈值,对所述中间阴影贴图进行分区处理,得到所述目标阴影贴图。
73.具体地,对于中间阴影贴图的阴影范围,还可以进行阴影的分区处理,以实现双侧阴影调整,用于在对三维模型进行渲染显示后呈现出具有层次的、可以反映出遮挡关系的阴影。
74.其中,阴影范围调整指令中携带有目标阴影分区灰度阈值。此处,目标阴影分区灰度阈值为一个灰度值,这个灰度值可以用于控制中间阴影贴图中各个像素点在三维模型上对应的区域呈现出的阴影倾向。在一种可能的情况下,若确定目标阴影分区灰度阈值为128,则可以确定在中间阴影贴图中灰度值小于128的像素点在三维模型上对应的区域会更不易呈现出阴影,而在中间阴影贴图中灰度值大于128的像素点在三维模型上对应的区域会更容易呈现出阴影。
75.此处,目标阴影分区灰度阈值是可以被调节的。具体地,可以响应于接收对目标阴影分区灰度阈值对应的输入框的输入指令或者对调节旋钮的操作指令,确定阴影范围调整指令,具体可以根据实际情况控制可调节的范围和调节后确定的目标阴影分区灰度阈值的大小,具体在此不再进行赘述。
76.在利用目标阴影分区灰度阈值对中间阴影贴图进行分区处理时,可以将中间阴影贴图中对应灰度值大于或者等于目标阴影分区灰度阈值的像素点归为第一分区,并将中间阴影贴图中对应灰度值小于目标阴影分区灰度阈值的像素点归为第二分区。利用上述说明的不同区域应当呈现出的阴影倾向,可以对第一分区和第二分区分别进行阴影深度的第一校正处理,得到在目标阴影分区灰度阈值下的目标阴影贴图。
77.这样,由于得到的光照模型可以反应当前的光照方向下三维模型的多个顶点分别对应的阴影程度信息,因此利用光照模型对为三维模型确定的原始阴影贴图进行在光照方向上的校正处理,这样得到的目标阴影贴图相较于原始阴影贴图而言,可以灵活的依据光照方向进行调整。从而在利用得到的目标阴影贴图在对三维模型进行渲染后,可以使得二次元对象能够表达出在当前光照方向下的阴影效果。
78.针对上述s103,在获取到目标阴影贴图后,还可以利用阴影倾向贴图对目标阴影贴图进行光影映射处理,得到三维模型对应的阴影颜色贴图。
79.在具体实施中,具体进行光影映射处理时,可以采用重映射的方式进行。例如,可以将阴影倾向贴图重映射至目标阴影贴图上,以得到是哪位模型的阴影颜色贴图。此处,在对贴图进行重映射处理时,具体可以采用线性插值的计算方式。
80.对于得到的阴影颜色贴图,由于具体采用了重映射的方式获得,因此可以保留目标阴影贴图的特征,也即具备有在一定光照方向下的阴影特征,另外也可以保留阴影倾向贴图的特征,从而使得阴影颜色贴图在渲染后的阴影部分也具有次表面散射的光影效果,从而提高对二次元对象渲染的光影效果的真实性。
81.在本公开另一实施例中,上述说明的三维模型的阴影颜色贴图,可以实际应用于得到三维模型的目标渲染模型。在具体实施中,例如可以获取所述三维模型的颜色贴图;利用所述颜色贴图对所述三维模型进行颜色渲染,生成的中间渲染模型;利用所述阴影颜色贴图对所述中间渲染模型进行阴影颜色渲染,得到目标渲染模型。
82.其中,颜色贴图上的不同区域具有不同的颜色,颜色贴图可以为目标对象对应的三维模型在渲染时添加颜色效果,也即实现对三维模型的着色处理。因此,利用颜色贴图对目标对象的三维模型进行渲染后,生成的中间渲染模型可以反映出五官、衣着等的图案和相应的颜色。在一种可能的情况下,若无需对目标对象进行其他形式的添加渲染,得到的中间渲染模型也可以直接用于渲染生成可以完整展示出目标对象的图像。
83.而利用上述说明的阴影颜色贴图,可以进一步地对中间渲染模型进行阴影颜色渲染,以使得到的目标渲染模型可以在具备颜色效果外,具有更加真实的阴影效果以及次表面散射的光影效果。
84.或者,在另一种可能的情况下,也可以获取三维模型对应的纹理贴图。其中,纹理贴图可以用于改变目标对象的外观,比如使目标对象的表面的某一属性表现出了各向异性,以使目标对象发生不局限于漫反射颜色、凹凸效果、高光、不透明度等的改变。
85.在具体实施中,在利用所述阴影颜色贴图对所述中间渲染模型进行阴影颜色渲染,得到目标渲染模型的情况下,具体还可以利用所述阴影颜色贴图对所述中间渲染模型进行阴影颜色渲染、以及利用所述纹理贴图对所述中间渲染模型进行纹理渲染,得到所述目标渲染模型。
86.其中,阴影颜色渲染的方式,可以参见上述说明,具体不再进行赘述。而对于纹理
渲染的部分,具体通过建立映射方法,将目标对象表面的属性和纹理贴图对应位置的数据进行对应的,然后利用纹理贴图对应位置的数据对目标对象表面进行属性改变,从而使得目标对象的表面外观发生纹理变化。
87.在本公开另一实施例中,在上述说明中得到的目标渲染模型,具体可以用于生成目标对象的目标渲染图像。示例性的,参见图6所示,为本公开实施例提供的一种目标渲染图像的示意图;其中,目标渲染图像具体对手部进行了渲染。其中,图6中(a)示出了未采用本公开实施例提供的贴图的生成方法在对目标对象进行渲染后得到的渲染图像,而图6中(b)示出了采用本公开实施例提供的贴图的生成方法在对手部进行渲染后得到的目标渲染图像。通过对比可以直观的看出,在图6中(b)示出的目标渲染图像中的区域62,相较于图6中(a)相对应的区域61,具有因为光照而呈现出次表面散射的效果,因此可以使手部更能够体现出“介质”的效果,也即更能够提升对二次元对象渲染的光影效果的真实性。
88.而实际上,由于本公开实施例提供的贴图的生成方法,具体涉及到的计算包括重映射、光影映射、阴影颜色渲染、以及纹理渲染等,在进行这些计算时,所需要的算力较小,因此本公开实施例提供的生成方法在能够使目标对象更具有真实性的基础上,对计算机设备的要求也较低,可以部署在移动设备等计算机设备中。
89.同时,由于本公开实施例提供的生成方法所需的算力较小,并且能够在对二次元对象进行渲染后表达出在当前光照方向下的阴影效果以及次表面散射效果,因此可以支持利用计算机设备为二次元对象生成连续的画面,比如生成动画画面或者的电影画面,相较于采用逐帧确定贴图进行渲染的方式,或者采用管线后处理的方式而言,效率也更高。
90.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
91.基于同一发明构思,本公开实施例中还提供了与贴图的生成方法对应的贴图的生成装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述贴图的生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
92.参照图7所示,为本公开实施例提供的一种贴图的生成装置的示意图,所述装置包括:第一获取模块71、第一处理模块72、第二处理模块73;其中,
93.第一获取模块71,用于获取目标对象的三维模型、所述三维模型对应的原始阴影贴图以及阴影倾向贴图;
94.第一处理模块72,用于基于与所述三维模型对应的光照方向,对所述原始阴影贴图进行校正处理,得到所述三维模型对应的目标阴影贴图;
95.第二处理模块73,用于利用所述阴影倾向贴图对所述目标阴影贴图进行光影映射处理,得到所述三维模型对应的阴影颜色贴图。
96.一种可选的实施方式中,所述第二处理模块73在利用所述阴影倾向贴图对所述目标阴影贴图进行光影映射处理,得到所述三维模型的阴影颜色贴图时,用于:将所述阴影倾向贴图重映射至所述目标阴影贴图,得到所述三维模型的阴影颜色贴图。
97.一种可选的实施方式中,所述生成装置还包括第二获取模块74,用于:获取所述三维模型的颜色贴图;利用所述颜色贴图对所述三维模型进行颜色渲染,生成的中间渲染模型;利用所述阴影颜色贴图对所述中间渲染模型进行阴影颜色渲染,得到目标渲染模型。
98.一种可选的实施方式中,所述第二获取模块74还用于:获取所述三维模型对应的纹理贴图;所述第二获取模块74在利用所述阴影颜色贴图对所述中间渲染模型进行阴影颜色渲染,得到目标渲染模型时,用于:利用所述阴影颜色贴图对所述中间渲染模型进行阴影颜色渲染、以及利用所述纹理贴图对所述中间渲染模型进行纹理渲染,得到所述目标渲染模型。
99.一种可选的实施方式中,所述第二获取模块74还用于:利用所述目标渲染模型,生成所述目标对象的目标渲染图像。
100.一种可选的实施方式中,所述第一处理模块72在基于与所述三维模型对应的光照方向,对所述原始阴影贴图进行校正处理,得到所述三维模型对应的目标阴影贴图时,用于:基于所述三维模型、以及与所述三维模型对应的光照方向,确定与所述三维模型对应的光照模型;所述光照模型用于表征所述三维模型的多个顶点分别对应的阴影程度信息;利用所述光照模型对所述原始阴影贴图进行光照方向的校正处理,得到所述目标人体三维模型的中间阴影贴图;响应于接收到阴影范围调整指令,基于所述阴影范围调整指令中携带的目标阴影分区灰度阈值,对所述中间阴影贴图进行分区处理,得到所述目标阴影贴图。
101.一种可选的实施方式中,所述第一处理模块72在基于所述三维模型、以及与所述三维模型对应的光照方向,确定与所述三维模型对应的光照模型时,用于:确定所述三维模型中多个顶点分别对应的法线方向;针对多个顶点中的每个顶点,对所述每个顶点对应的法线方向以及所述光照方向进行点积运算,得到所述每个顶点对应的阴影程度信息;基于多个所述顶点分别对应的阴影程度信息,得到所述光照模型。
102.一种可选的实施方式中,所述第一处理模块72在利用所述光照模型对所述原始阴影贴图进行光照方向的校正处理,得到所述目标人体三维模型的中间阴影贴图时,用于:利用所述光照模型中包括的多个顶点分别对应的阴影程度信息,对所述三维模型中各个顶点分别对应的原始阴影程度信息进行重映射处理,得到所述三维模型的中间阴影贴图。
103.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
104.本公开实施例还提供了一种计算机设备,如图8所示,为本公开实施例提供的计算机设备结构示意图,包括:
105.处理器10和存储器20;所述存储器20存储有处理器10可执行的机器可读指令,处理器10用于执行存储器20中存储的机器可读指令,所述机器可读指令被处理器10执行时,处理器10执行下述步骤:
106.获取目标对象的三维模型、所述三维模型对应的原始阴影贴图以及阴影倾向贴图;基于与所述三维模型对应的光照方向,对所述原始阴影贴图进行校正处理,得到所述三维模型对应的目标阴影贴图;利用所述阴影倾向贴图对所述目标阴影贴图进行光影映射处理,得到所述三维模型对应的阴影颜色贴图。
107.上述存储器20包括内存210和外部存储器220;这里的内存210也称内存储器,用于暂时存放处理器10中的运算数据,以及与硬盘等外部存储器220交换的数据,处理器10通过内存210与外部存储器220进行数据交换。
108.上述指令的具体执行过程可以参考本公开实施例中所述的贴图的生成方法的步骤,此处不再赘述。
109.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的贴图的生成方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
110.本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的贴图的生成方法的步骤,具体可参见上述方法实施例,在此不再赘述。
111.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
112.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
113.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
114.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
115.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
116.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1