三维模型生成方法、装置、计算机设备及存储介质与流程

未命名 07-27 阅读:89 评论:0


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


背景技术:

2.基于物理的渲染(physically based rendering,pbr)是基于与现实世界的物理原理基本相符的理论构成的渲染技;在rbr的渲染风格下,要求三维模型在各种光源下的渲染结果能够给人以视觉上的真实感,光影效果具有从明至暗的自然过度,接近于物体在真实世界中的光影效果。
3.卡通渲染风格是非写实渲染(non-photorealistic rendering,npr)中的一种,是不同于基于物理渲染(physically based rendering,pbr)的一种渲染风格;其最明显的特征,就是区别于prb的光源过渡效果及照明效果。在卡通风格渲染中,光源过度效果和照明效果会造成三维模型的阴影和非阴影部分存在明显的明暗对比关系。
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.图1示出了本公开一些实施例所提供的三维模型生成方法的流程图;
50.图2示出了本公开一些实施例所提供待处理虚拟角色的人脸三维模型的具体示例;
51.图3示出了本公开一些实施例所提供对人脸三维模型的不同渲染风格下的光影情况;
52.图4示出了本公开一些实施例所提供的在卡通风格下,光影分界线的具体示例;
53.图5示出了本公开一些实施例所提供的在卡通风格下光影比例关系的具体示例;
54.图6示出了本公开一些实施例所提供的人脸分区的具体示例;
55.图7示出了本公开一些实施例所提供的确定第三目标发现方向的具体方法的流程图;
56.图8示出了本公开一些实施例所提供的确定第一目标法线方向的具体方法的流程图;
57.图9示出了本公开一些实施例所提供的边界点和参考点之间位置关系的具体示例;
58.图10示出了本公开一些实施例所提供的伦勃朗三角区、以及鼻翼区域在人脸中具体位置的示例;
59.图11示出了本公开一些实施例所提供的三维模型生成装置的示意图;
60.图12示出了本公开一些实施例所提供的计算机设备的示意图。
具体实施方式
61.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
62.经研究发现,计算机中的三维模型通常包括位于虚拟场景中的多个顶点;顶点之间相互连接,构成面片(mesh),而mesh组合在一起,形成三维模型的表面。在虚拟场景中渲染三维模型时,会根据三维模型中各个顶点的法线方向、以及虚拟场景中的光照方向,确定各个顶点的受光程度;该受光程度能够表征三维模型各个顶点在受到光源照射时的阴影程度或者光照强度;而多个顶点的受光程度,即能够表示出三维模型在渲染时的光影效果。对三维模型进行卡通风格渲染时,能够根据虚拟场景中的光源变化,使得对三维模型的光影效果形成明显的明暗对比关系。
63.为了实现三维模型在卡通风格下的渲染,当前通常采用的方式为:
64.(1):对三维模型的顶点依次进行手动法线方向的调整,使得在基于法线方向对三维模型进行渲染时,能够呈现明暗对比明显的光影效果。
65.(2):设置三维模型对应的标准模型,并利用上述方式(1)的方式手动调整标准模型中各个顶点的法线方向;然后在手动调整好标准模型的基础上,通过模型法线映射的方式,通过标准模型的法线方向得到其他非标准模型的法线方向,以此来实现非标准模型在卡通风格下的光照效果。
66.(3):绘制三维模型在不同角度下的光照纹理图像,通过该光照纹理图像来对三维模型渲染过程进行插值处理,使得三维模型在渲染后能够呈现出在卡通风格下的光照效果。
67.上述方法中,方法(1)的制作过程较为繁琐,且每个三维模型都包括大量的顶点,对大量顶点依次进行法线方向的手动调整需要消耗大量的时间,效率低,且手动调整法线方向难以做到平滑的光影过度,造成光影渲染效果不佳的问题。
68.方法(2)虽然在一定程度上减少了手动调整法线方向的数量,但由于依赖于标准模型,因此三维模型和标准模型的差异不能过大,否则就会造成光影渲染效果调整不佳的问题。
69.方法(3)中,需要对每一个三维模型都绘制多张角度的光照纹理图像,所需要的工作量也比较大;且方法(3)仅支持单光源的渲染,而不支持多光源照明效果,渲染效果也较差。
70.基于上述研究,本公开提供了一种三维模型生成方法,通过与预设光照渲染风格对应的光影比例关系,对待处理虚拟角色的人脸三维模型中的多个顶点实现了对法线方向进行自动、高效率的调整,得到待处理虚拟角色的人脸三维模型中各个顶点的目标法线方向;在利用目标法线方向对人脸三维模型进行渲染时,能够得到鱼油预设光照渲染风格的光影效果,渲染效果更好。
71.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
72.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
73.为便于对本实施例进行理解,首先对本公开实施例所公开的一种三维模型生成方法进行详细介绍,本公开实施例所提供的三维模型生成方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该三维模型生成方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
74.在本公开实施例中,预设光照渲染风格例如包括卡通风格;还可以包括其他渲染风格;不同的光照渲染风格,可以对应于不同的光影比例关系。具体的光照渲染风格和对应的光影比例关系,可以根据实际的渲染需求来设定,本公开实施例不做限定。
75.下面以预设光照渲染风格为卡通风格为例,对本公开实施例提供的三维模型生成方法加以说明。
76.参见图1所示,为本公开实施例提供的三维模型生成方法的流程图,所述方法包括步骤s101~s103,其中:
77.s101:获取待处理虚拟角色的人脸三维模型;所述待处理虚拟角色的人脸三维模型包括多个顶点。
78.s102:基于与预设光照渲染风格对应的光影比例关系,对所述待处理虚拟角色的人脸三维模型中的多个所述顶点的进行法线方向调整,得到多个所述顶点分别对应的目标法线方向;其中,所述光影比例关系用于描述在预设光照渲染风格下,位于受光区域和背光区域分界线上的不同顶点分别对应的第一距离、和第二距离之间的比值关系;所述第一距离为所述分界线上的顶点和法线修正边界之间的距离;所述第二距离为所述分界线上的顶点和脸部中心面的距离。
79.s103:基于所述目标法线方向,生成目标人脸三维模型;所述目标法线方向用于对所述目标人脸三维模型进行所述预设光照渲染风格的光照渲染处理。
80.本公开实施例通过与预设光照渲染风格对应的光影比例关系,对待处理虚拟角色的人脸三维模型中的多个所述顶点的进行法线方向调整,得到多个所述顶点分别对应的目标法线方向,而光影比例关系用于描述在预设光照渲染风格下,位于受光区域和背光区域分界线上的不同顶点分别对应的第一距离、和第二距离之间的比值关系;其中,所述第一距离为所述分界线上的顶点和脸部边界之间的距离;所述第二距离为所述分界线上的顶点和脸部中心面的距离,然后基于目标法线方向,生成目标人脸三维模型。在对目标人脸三维模型进行渲染时,能够直接基于目标法线方向来实现,得到具有预设光照渲染风格的光影效果,进而实现了利用光照渲染风格对应的光影比例关系,对人脸三维模型中各个顶点的法线方向进行自动的调整,效率高,且渲染效果更加的自然。
81.下面对上述s101~s103分别加以详细说明。
82.针对上述s101,在具体实施中,本公开实施例中的待处理虚拟角色的人脸三维模型,例如可以是任何虚拟场景中的人脸三维模型,例如在制作三维动画的过程中,会创建虚拟动画场景;待处理虚拟角色的人脸三维模型为该虚拟动画场景中的虚拟动画人物对应的人脸三维模型;在游戏中,虚拟场景为游戏场景;待处理虚拟角色的人脸三维模型为游戏中的虚拟对象对应的人脸三维模型。另外,待处理虚拟角色的人脸三维模型还可以是其他场景下的人脸的三维模型,例如虚拟社区中的虚拟人物的三维模型,ar场景中虚拟人物的人脸三维模型等,具体的可以根据实际的应用需要确定。
83.待处理虚拟角色的人脸三维模型包括:多个顶点、以及不同顶点之间的连接关系;相互连接的顶点之间构成面片,面片形成与待处理虚拟角色的人脸三维模型对应的虚拟人脸的表面。如图2所示的示例中,提供了一个待处理虚拟角色的人脸三维模型的具体示例。在该示例中,待处理虚拟角色的人脸三维模型包括了多个原始顶点p,不同顶点之间相互连接,构成面片,从而形成人脸的表面。待处理三维模型在生成的时候,会为每个原始顶点p确定一原始顶点法线f;该原始顶点法线f的方向和以p所在的多个面片的朝向相关,p的原始顶点法线方向是原始顶点p所在的多个面片的法线方向的矢量和。按照待处理虚拟角色的人脸三维模型中各个顶点的原始法线方向对待处理虚拟角色的人脸三维模型渲染时,所得到的光影效果为在pbr风格下的光影效果。
84.如图3所示的示例中,如图3中a示出的利用原始顶点法线对三维人脸模型进行光影渲染时的写实光影效果;如图3中b示出了在卡通风格下对三维人脸模型进行光影渲染时明暗对比强烈的光影效果。
85.而为了实现对三维人脸模型进行卡通风格下的光影效果,则需要针对待处理虚拟角色的人脸三维模型中的部分顶点进行法线方向的调整。
86.针对上述s102:预设光照渲染风格例如包括卡通风格。在卡通风格下,对三维人脸模型的渲染,通常会在人脸三维模型的某个位置呈现一条明暗分明的光影交界线,该光影交界线的一侧为人脸的受光区域,另一侧为人脸的背光区域;该光影交界线即为受光区域和背光区域分界线。由于在卡通风格下,受光区域和背光区域之间的具有强烈的明暗对比,且对于人脸而言,所形成的分界线是沿着人脸弧度的一条较为规则的曲线,这样,可以将在同一光影交界位置处的顶点法线调整至相同或者近似相同。
87.如图4所示的示例中,提供了一个三维人脸模型在卡通风格下,在不同光照方向下,受光区域a和背光区域b、以及两者之间分界线c的具体示例。
88.由于卡通风格下的人脸三维模型在渲染时,存在强烈的明暗对比,如果将同一分界线上的不同顶点到人脸的法线修正边界(如脸的两侧边界)的第一距离、和到人脸脸部中心面的第二距离进行比较,可以得到一个近似的比例关系,如图5所示的示例中,三维人脸模型中,无论分界线所处的位置在哪里,基本上能够满足下述式(1)示出的光影比例关系:
[0089][0090]
其中,x1表示位于分界线l上的顶点a与法线修正边界之间的第一距离;x2表示位于分界线l上的顶点a与人脸脸部中心面之间的第二距离;y1表示位于分界线l上的顶点b与法线修正边界之间的第一距离;y2表示位于分界线l上的顶点a与人脸脸部中心面之间的第二距离。
[0091]
另外,也可以为三维人脸模型设置其他的光影比例关系,具体的可以根据实际的渲染需要来进行确定,本公开实施例中不做限定。
[0092]
待处理虚拟角色的人脸三维模型中包括多个顶点,例如包括:位于法线修正边界的第一顶点、位于所述脸部中心面的第二顶点、以及第三顶点。
[0093]
其中,根据人脸部位的不同,待处理虚拟角色的人脸三维模型可以划分为多个区域,例如包括面部区域、腮部区域、耳部区域等。由于卡通渲染风格的光影效果主要体现在面部区域,因此,本公开实施例中,可以将面部区域作为目标人脸区域,对面部人脸区域中的各个顶点进行法线方向的调整;而在目标人脸区域和其他人脸区域交界的位置,可以形成一法线修正边界,也即,以该法线修正边界为界,将需要进行法线修正的顶点,从待处理虚拟角色的人脸三维模型中限定出来。
[0094]
具体地,可以采用下述方式,确定法线修正边界:
[0095]
所述方法还包括:基于所述待处理虚拟角色的人脸三维模型中各个顶点对应的属性信息,从所述目标人脸模型的多个所述顶点中,确定位于目标人脸区域和非目标人脸区域的分隔线上的第一顶点;其中,所述属性信息用于描述各个所述顶点归属的人脸区域;基于所述第一顶点,构成所述法线修正边界。
[0096]
这里,属性信息例如用于指示待处理虚拟角色的人脸三维模型中的各个顶点所属的人脸区域。根据该标注,即可将要进行法线修正的目标人脸区域的多个顶点从待处理虚拟角色的人脸三维模型中确定出来。然后,从目标人脸区域的边界位置,确定和非目标人脸区域分隔的第一顶点,构成法线修正边界。
[0097]
如图6所示的示例中,提供一种待处理三维人脸模型的具体示例;在该示例中,待处理三维人脸模型中包括了三个人脸区域,分别为面部区域s1、腮部区域s2、以及耳侧区域s3。其中,位于不同人脸区域的顶点,具有不同的语义属性,基于该语义属性,能够将发现修正边界标识出来,然后对面部区域的一侧的边界顶点(也即法线修正边界上的顶点)进行统计,并构成由第一顶点构成的顶点集合array
edge
,已获得在不同高度下,边界顶点位置。
[0098]
脸部中心面例如包括:额头的中部、鼻尖、下巴的中部连线所在的面,待处理虚拟角色的人脸三维模型沿该脸部中心面对称。在待处理虚拟角色的人脸三维模型上、且位于该脸部中心面上的顶点,即为第二顶点。
[0099]
第三顶点:包括目标人脸区域中除第一顶点、和第二顶点外的其他顶点。
[0100]
参见图7所示,本公开实施例还提供一种基于与预设光照渲染风格对应的光影比例关系,对所述待处理虚拟角色的人脸三维模型中的多个所述顶点的进行法线方向调整,得到多个所述顶点分别对应的目标法线方向的具体示例,包括:
[0101]
s701:基于所述第一顶点在与所述待处理虚拟角色的人脸三维模型对应的模型坐标系的第一位置信息、和参考点在所述模型坐标系中的参考位置信息,确定多个所述第一顶点对应的第一目标法线方向;其中,所述参考点位于所述中心面上,且所述参考位置信息和所述第一位置信息相关。
[0102]
在具体实施中,待处理虚拟角色的人脸三维模型对应的模型坐标系,例如如图2所示的示例中,所示出的坐标系,该坐标系的原点位于待处理虚拟角色的人脸三维模型中,以位于眉心中部的顶点为坐标系原点,以人脸的高度方向为z轴,以人脸的宽度方向为x轴,并以人脸的深度方向为y轴。
[0103]
针对每个第一顶点,其在模型坐标系中的第一位置信息为(x,y,z)。
[0104]
脸部中心面,即为y轴和z轴所在的平面。
[0105]
参考点是位于面部中心面上的位置点。参考点的参考位置信和第一位置信息相关,例如是指每个第一顶点都对应一个参考点;该参考点在z轴上的坐标值,和对应第一位置点在z轴上的坐标值相同。
[0106]
如图8所示,本公开实施例提供一种基于所述第一顶点在与所述待处理虚拟角色的人脸三维模型对应的模型坐标系的第一位置信息、和参考点在所述模型坐标系中的参考位置信息,确定多个所述第一顶点对应的第一目标法线方向的具体方式,包括:
[0107]
s801:基于所述第一位置信息,确定多个所述第一顶点分别到所述脸部中心面的距离。
[0108]
s802:基于多个所述第一顶点分别到所述中心面之间的距离,从多个第一顶点中确定目标第一顶点。
[0109]
s803:基于所述目标第一顶点在所述模型坐标系中的第一位置信息,确定与所述目标第一顶点对应的参考点在所述模型坐标系中的参考位置信息;所述参考位置信息表征的人脸高度和所述第一位置信息所表征的人脸高度相同。
[0110]
s804:基于所述目标第一顶点在所述模型坐标系中的第一位置信息、以及与所述目标第一顶点对应的参考点在所述模型坐标系中的参考位置信息,确定所述目标第一顶点对应的第一目标法线方向。
[0111]
s805:将所述目标第一顶点对应的第一目标法线方向,确定为多个所述第一顶点分别对应的第一目标法线方向。
[0112]
在具体实施中,以上述示例所示出的模型坐标系为例,针对每个第一顶点,其在模型坐标系中的第一位置信息为(x,y,z),且由于脸部中心面为y轴和z轴所在的平面,进而每个第一顶点和脸部中心面之间的距离为该第一顶点对应的第一位置信息在x轴上的坐标值,也即该距离为:x。
[0113]
然后,对多个第一定的概念分别和脸部中心面之间的距离进行排序,从中确定最大距离,并将最大距离所对应的第一顶点,确定为目标第一顶点,该顶点也即最大边界位置对应的第一顶点。
[0114]
示例性的,假设以position.xyz表示目标第一顶点在模型坐标系中的第一位置信息,其包含目标第一顶点分别在模型坐标系的三个坐标轴x轴、y轴和z轴上的坐标值,分别为:position.x、position.z以及position.z,
[0115]
当目标第一定点在模型坐标系中的第一位置信息确定后,即可确定其对应的参考点在模型坐标系终端的参考位置信息。该参考位置信息表示为:float3(0,y
standard
,position.z);其中,y
standard
表示美术输入参数,用于确定边界位置的法线朝向侧面的偏转值,如果令y
standard
=position.y,则目标第一顶点的法线就会直接朝向垂直于脸部中心面的方向,也即直接朝向脸部的侧面。根据不同的脸型、以及投影的需求,可以为y
standard
设置不同的值。float3表示三维向量;此处,表示参考位置信息为通过三个坐标值表示的一个三维向量。
[0116]
此时,目标第一顶点对应的第一目标法线方向normal
dri
满足下述公式(1):
[0117]
normal
dri
=normalize(position.xyz-float3(0,y
standard
,position.z))
ꢀꢀꢀꢀ
(1)
[0118]
normalize表示适量单位化运算。
[0119]
之后,将该目标第一顶点对应的第一目标法线方向确定为所有第一顶点对应的目标法线方向,从而实现了对第一目标顶点的法线反向的调整。
[0120]
如图9所示,提供一种参考点、边界点(目标第一顶点)、以及第一目标发现方向的具体示例。
[0121]
s702:基于待处理虚拟角色的人脸三维模型在模型坐标系中的朝向,为所述第二顶点确定第二目标法线方向。
[0122]
该s702和上述s701并无执行的先后顺序。
[0123]
在具体实施中,以上述实施例提供的模型坐标系为例,由于第二顶点位于脸部中心面上,位于脸部中心面上的所有第二顶点的法线方向要调整至和模型坐标系的y轴平行,进而,第二顶点对应的第二目标法线方向满足:float3(0,-1,0)。
[0124]
其中,这里的float3表示第二顶点对应的第二目标法线方向为一个三维向量。
[0125]
此外,模型坐标系并非上述是海水里提供的模型坐标系,则第二顶点对应的第二目标法线方向可以根据模型坐标系具体确定,本公开实施例不做限定。
[0126]
s703:基于所述第一顶点对应的第一位置信息、和所述第三顶点在所述模型坐标系中的第三位置信息,确定所述第三顶点对应的第一距离;以及基于所述中心面在所述模型坐标系中的第二位置信息、和所述第三位置信息,确定所述第三顶点对应的第二距离。
[0127]
在具体实施中,在确定第三顶点对应的第一距离时,例如可以采用下述方式:
[0128]
基于多个所述第一顶点分别对应的第一位置信息所表征的人脸高度、和所述第三位置信息所表征的人脸高度,从多个所述第一顶点中,确定表征的人脸高度和所述第三位置信息最接近的第一位置信息对应的参考第一顶点;
[0129]
基于所述参考第一顶点对应的第一位置信息、以及所述第三顶点对应的所述第三位置信息,确定所述第三顶点对应的第一距离。
[0130]
在具体实施中,例如可以遍历多个第三顶点,并针对遍历到的p,假设该顶点在模型坐标系中的第三位置信息表示为:position
p
,且该第三位置信息在模型坐标系的x轴、y轴以及z轴三个坐标轴上的坐标值分别为:position
p
.x、position
p
.y以及position
p
.z,则根据其在z轴(也即人脸高度方向)的分量position
p
.z,查询顶点集合array
edge
中各个第一顶点在z轴的坐标值,即可确定在z轴上,坐标值和position
p
.z最接近的两个参考第一顶点。假设两个参考第一顶点分别为:p1以及p2,则根据相似三角形,即可求得该高度下的边界距离,也即该第三顶点p对应的第一距离distance1满足下述公式(2):
[0131]
distance=abs(position
p1
.x)*scale+abs(position
p2
.x)*(1-scale)
ꢀꢀꢀꢀꢀꢀ
(2)
[0132]
其中,abs(

)表示求绝对值;position
p1
.x表示参考第一顶点p1在x轴的坐标值;position
p2
.x表示参考第一顶点p2在x轴的坐标值。
[0133]
scale满足下述公式(3):
[0134][0135]
同时,该第三顶点p和脸部中心面之间的第二距离例如满足:abs(position
p
.x)。
[0136]
s704:基于所述第一距离、所述第二距离以及所述光影比例关系,确定所述第三顶点对应的第三目标法线方向。
[0137]
此处,在确定第三顶点对应的第三目标法线反向时,例如可以采用下述方式:
[0138]
按照所述光影比例关系,基于所述第一距离、和所述第二距离,确定法线调整系数;
[0139]
基于所述法线调整系数,对所述第一目标法线、和所述第二目标法线进行插值处理,得到所述第三顶点对应的第三目标法线方向。
[0140]
在具体实施中,法线调整系数scale
normal
例如满足下述公式(4):
[0141][0142]
则第三顶点p对应的第三目标法线方向normal
p
满足下述公式(5):
[0143]
normal
p
=normalize(normal
dir
*scale
normal
+float3(0,-1,0)*(1-scale
normal
)) (5)
[0144]
其中,normal
dir
表示第一目标法线、float3(0,-1,0)表示第二目标法线。
[0145]
通过上述方式,即可以确定位于目标人脸区域内的所有第一顶点、第二顶点以及第三顶点的目标法线。
[0146]
在本公开另一实施例中,针对目标人脸区域,可以根据人脸的实际受光情况,将目标人脸区域划分为三个区域:伦勃朗光面部三角区,鼻翼区域,以及除了伦勃朗光面部三角区和鼻翼区域外的其他区域;其中,伦勃朗光面部三角区是由一个高角度的前侧光,造成鼻侧的阴影以及脸颊的倒三角亮区。鼻翼区域则属于鼻翼所在位置的区域。伦勃朗光面部三角区和鼻翼区域在受光后,所形成的光影情况,在实际上是和目标人脸区域中,出该两个区域外的其他区域不同的。
[0147]
如图10所示的示例中,示出了目标人脸区域的具体示例,其中,包括:伦勃朗光面部三角区s11,鼻翼区域s12以及其他区域s13。
[0148]
因此,在本公开实施例中,在利用光影比例关系,对目标人脸区域中的各个顶点的法线方向进行调整后,再分别针对伦勃朗光面部三角区、以及鼻翼区域的顶点进行针对应的法线方向调整,以使得对目标人脸区域进行光影渲染时,光影效果更佳。
[0149]
具体地,为了实现对伦勃朗光面部三角区中顶点的法线方向的调整,具体可以采用下述方式:
[0150]
基于所述待处理人脸上三维模型中各个第三顶点对应的属性信息,从多个所述第三顶点中,确定位于伦勃朗三角区的第四顶点;
[0151]
基于预设第一调整系数,对所述第四顶点对应的第三目标法线方向、所述第二顶点对应的第二目标法线方向进行插值处理,得到所述第四顶点对应的第四目标法线方向。
[0152]
此处,待处理虚拟角色的人脸三维模型中,可以预先以属性信息形式,标注各个顶点分别对应的人脸区域,根据该属性信息,从第三顶点中,将位于伦勃朗三角区的第四顶点筛选出来。
[0153]
该第一调整系数,例如表示为:scale
art1
,其可以根据实际的需要进行设定,该scale
art1
越大,则表示伦勃朗三角区的第四顶点的法线方向和脸部中心面上的顶点的法线方向接近,所表现出来的人脸越“平”;该scale
art1
越小,则表示伦勃朗三角区的第四顶点的法线方向和脸部中心面上的顶点的法线方向远离,所表现出来的人脸越“立体”。
[0154]
则此时,第四顶点对应的第四目标法线方向normal
rembrandt
满足下述公式(6):
[0155]
normal
rembrandt
=normalize(float3(0,-1,0)*scale
art1
+normal
p

*(1-scale
art1
)) (6)
[0156]
此处,normal
p

表示第四顶点对应的第三目标法线方向。
[0157]
为了实现对鼻翼区域顶点的法线方向的调整,具体可以采用下述方式:
[0158]
基于所述待处理人脸上三维模型中各个第三顶点对应的属性信息,从多个所述第三顶点中,确定位于鼻翼区域的第五顶点;
[0159]
将所述第五顶点在所述模型坐标系中的原始法线方向,确定为所述第五顶点对应的第五目标法线方向;
[0160]
基于第二预设调整系数,对所述第五顶点在所述模型坐标系中的原始法线方向、和所述第五顶点对应的第三目标法线方向进行插值处理,得到所述第五顶点对应的第五目标法线方向。
[0161]
此处,确定第五顶点的具体方式和上述确定第四顶点的方式类似,在此不再赘述。
[0162]
第五顶点对应的第五目标法线方向normal
nose
满足下述公式(7):
[0163]
normal
nose
=normalize(normal
original
*scale
art2
+normal
p

*(1-scale
art2
))
ꢀꢀ
(7)
[0164]
其中,normal
original
表示第五顶点在所述模型坐标系中的原始法线方向;normal
p

表示第五顶点在对应的第三目标发现方向。
[0165]
这样,通过上述过程,实现了对伦勃朗光面部三角区和鼻翼区域的法线方向的调整。
[0166]
本公开上述实施例提供的三维模型生成方法中,不会存在人脸脸型的限制,可以匹配任意形状的脸型。针对不同的脸型,可以设置不同的光影比例关系,以实现对不同脸型对应的人脸三维模型进行法线方向的调整。
[0167]
其次,所产生的光影交界线能够有顺滑的过度效果,具有更好的渲染效果。
[0168]
再次,由于是在顶点法线层级的调整,因此可以支持任意灯光数量、以及灯光方向的渲染效果。
[0169]
最后,通过调整光影比例关系,可以方便的调整法线修正的效果,以实现更加多样化的渲染。
[0170]
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0171]
基于同一发明构思,本公开实施例中还提供了与三维模型生成方法对应的三维模型生成装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述三维模型生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0172]
参照图11所示,为本公开实施例提供的一种三维模型生成装置的示意图,所述装置包括:
[0173]
获取模块111,用于获取待处理虚拟角色的人脸三维模型;所述待处理虚拟角色的人脸三维模型包括多个顶点;
[0174]
调整模块112,用于基于与预设光照渲染风格对应的光影比例关系,对所述待处理虚拟角色的人脸三维模型中多个所述顶点的进行法线方向调整,得到多个所述顶点分别对应的目标法线方向;其中,所述光影比例关系用于描述在预设光照渲染风格下,位于受光区域和背光区域分界线上的不同顶点分别对应的第一距离、和第二距离之间的比值关系;其中,所述第一距离为所述分界线上的顶点和法线修正边界之间的距离;所述第二距离为所
述分界线上的顶点和脸部中心面的距离;
[0175]
生成模块113,用于基于所述目标法线方向,生成目标人脸三维模型;所述目标法线方向用于对所述目标人脸三维模型进行所述预设光照渲染风格的光照渲染处理。
[0176]
一种可能的实施方式中,多个所述顶点包括:位于法线修正边界的第一顶点、位于所述脸部中心面的第二顶点、以及第三顶点;
[0177]
所述调整模块112,在基于与预设光照渲染风格对应的光影比例关系,对所述待处理虚拟角色的人脸三维模型中的多个所述顶点的进行法线方向调整,得到多个所述顶点分别对应的目标法线方向时,用于:
[0178]
基于所述第一顶点在与所述待处理虚拟角色的人脸三维模型对应的模型坐标系的第一位置信息、和参考点在所述模型坐标系中的参考位置信息,确定多个所述第一顶点对应的第一目标法线方向;其中,所述参考点位于所述中心面上,且所述参考位置信息和所述第一位置信息相关;以及
[0179]
基于所述待处理虚拟角色的人脸三维模型在所述模型坐标系中的朝向,为所述第二顶点确定第二目标法线方向;
[0180]
基于所述第一顶点对应的第一位置信息、和所述第三顶点在所述模型坐标系中的第三位置信息,确定所述第三顶点对应的第一距离;以及基于所述中心面在所述模型坐标系中的第二位置信息、和所述第三位置信息,确定所述第三顶点对应的第二距离;
[0181]
基于所述第一距离、所述第二距离以及所述光影比例关系,确定所述第三顶点对应的第三目标法线方向。
[0182]
一种可能的实施方式中,所述调整模块112,还用于:基于所述待处理虚拟角色的人脸三维模型中各个顶点对应的属性信息,从所述目标人脸模型的多个所述顶点中,确定位于目标人脸区域和非目标人脸区域的分隔线上的第一顶点;其中,所述属性信息用于描述各个所述顶点归属的人脸区域;
[0183]
基于所述第一顶点,构成所述法线修正边界。
[0184]
一种可能的实施方式中,所述调整模块112,在基于所述第一顶点在与所述待处理虚拟角色的人脸三维模型对应的模型坐标系的第一位置信息、和参考点在所述模型坐标系中的参考位置信息,确定多个所述第一顶点对应的第一目标法线方向时,用于:
[0185]
基于所述第一位置信息,确定多个所述第一顶点分别到所述脸部中心面的距离;
[0186]
基于多个所述第一顶点分别到所述中心面之间的距离,从多个第一顶点中确定目标第一顶点;
[0187]
基于所述目标第一顶点在所述模型坐标系中的第一位置信息,确定与所述目标第一顶点对应的参考点在所述模型坐标系中的参考位置信息;所述参考位置信息表征的人脸高度和所述第一位置信息所表征的人脸高度相同;
[0188]
基于所述目标第一顶点在所述模型坐标系中的第一位置信息、以及与所述目标第一顶点对应的参考点在所述模型坐标系中的参考位置信息,确定所述目标第一顶点对应的第一目标法线方向;
[0189]
将所述目标第一顶点对应的第一目标法线方向,确定为多个所述第一顶点分别对应的第一目标法线方向。
[0190]
一种可能的实施方式中,所述调整模块112,在基于所述第一顶点对应的第一位置
信息、和所述第三顶点在所述模型坐标系中的第三位置信息,确定所述第三顶点对应的第一距离时,用于:
[0191]
基于多个所述第一顶点分别对应的第一位置信息所表征的人脸高度、和所述第三位置信息所表征的人脸高度,从多个所述第一顶点中,确定表征的人脸高度和所述第三未知信息最接近的第一位置信息对应的参考第一顶点;
[0192]
基于所述参考第一顶点对应的第一位置信息、以及所述第三顶点对应的所述第三位置信息,确定所述第三顶点对应的第一距离。
[0193]
一种可能的实施方式中,所述调整模块112,在基于所述第一距离、所述第二距离以及所述光影比例关系,确定所述第三顶点对应的第三目标法线方向时,用于:
[0194]
按照所述光影比例关系,基于所述第一距离、和所述第二距离,确定法线调整系数;
[0195]
基于所述法线调整系数,对所述第一目标法线、和所述第二目标法线进行插值处理,得到所述第三顶点对应的第三目标法线方向。
[0196]
一种可能的实施方式中,所述调整模块112,还用于基于所述待处理人脸上三维模型中各个第三顶点对应的属性信息,从多个所述第三顶点中,确定位于伦勃朗三角区的第四顶点;
[0197]
基于预设第一调整系数,对所述第四顶点对应的第三目标法线方向、所述第二顶点对应的第二目标法线方向进行插值处理,得到所述第四顶点对应的第四目标法线方向。
[0198]
一种可能的实施方式中,所述调整模块112,还用于基于所述待处理人脸上三维模型中各个第三顶点对应的属性信息,从多个所述第三顶点中,确定位于鼻翼区域的第五顶点;
[0199]
将所述第五顶点在所述模型坐标系中的原始法线方向,确定为所述第五顶点对应的第五目标法线方向;
[0200]
或者,
[0201]
基于第二预设调整系数,对所述第五顶点在所述模型坐标系中的原始法线方向、和所述第五顶点对应的第三目标法线方向进行插值处理,得到所述第五顶点对应的第五目标法线方向。
[0202]
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
[0203]
本公开实施例还提供了一种计算机设备,如图12所示,为本公开实施例提供的计算机设备结构示意图,包括:
[0204]
处理器121和存储器122;所述存储器122存储有处理器121可执行的机器可读指令,处理器121用于执行存储器122中存储的机器可读指令,所述机器可读指令被处理器121执行时,处理器121执行下述步骤:
[0205]
获取待处理虚拟角色的人脸三维模型;所述待处理虚拟角色的人脸三维模型包括多个顶点;
[0206]
基于与预设光照渲染风格对应的光影比例关系,对所述待处理虚拟角色的人脸三维模型中多个所述顶点的进行法线方向调整,得到多个所述顶点分别对应的目标法线方向;其中,所述光影比例关系用于描述在预设光照渲染风格下,位于受光区域和背光区域分
界线上的不同顶点分别对应的第一距离、和第二距离之间的比值关系;其中,所述第一距离为所述分界线上的顶点和法线修正边界之间的距离;所述第二距离为所述分界线上的顶点和脸部中心面的距离;
[0207]
基于所述目标法线方向,生成目标人脸三维模型;所述目标法线方向用于对所述目标人脸三维模型进行所述预设光照渲染风格的光照渲染处理。
[0208]
上述存储器122包括内存1221和外部存储器1222;这里的内存1221也称内存储器,用于暂时存放处理器121中的运算数据,以及与硬盘等外部存储器1222交换的数据,处理器121通过内存1221与外部存储器1222进行数据交换。
[0209]
上述指令的具体执行过程可以参考本公开实施例中所述三维模型生成方法的步骤,此处不再赘述。
[0210]
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的三维模型生成方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
[0211]
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的三维模型生成方法的步骤,具体可参见上述方法实施例,在此不再赘述。
[0212]
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
[0213]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0214]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0215]
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0216]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所
述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0217]
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

技术特征:
1.一种三维模型生成方法,其特征在于,包括:获取待处理虚拟角色的人脸三维模型;所述待处理虚拟角色的人脸三维模型包括多个顶点;基于与预设光照渲染风格对应的光影比例关系,对所述待处理虚拟角色的人脸三维模型中多个所述顶点的进行法线方向调整,得到多个所述顶点分别对应的目标法线方向;其中,所述光影比例关系用于描述在预设光照渲染风格下,位于受光区域和背光区域分界线上的不同顶点分别对应的第一距离、和第二距离之间的比值关系;其中,所述第一距离为所述分界线上的顶点和法线修正边界之间的距离;所述第二距离为所述分界线上的顶点和脸部中心面的距离;基于所述目标法线方向,生成目标人脸三维模型;所述目标法线方向用于对所述目标人脸三维模型进行所述预设光照渲染风格的光照渲染处理。2.根据权利要求1所述的方法,其特征在于,多个所述顶点包括:位于法线修正边界的第一顶点、位于所述脸部中心面的第二顶点、以及第三顶点;所述基于与预设光照渲染风格对应的光影比例关系,对所述待处理虚拟角色的人脸三维模型中的多个所述顶点的进行法线方向调整,得到多个所述顶点分别对应的目标法线方向,包括:基于所述第一顶点在与所述待处理虚拟角色的人脸三维模型对应的模型坐标系的第一位置信息、和参考点在所述模型坐标系中的参考位置信息,确定多个所述第一顶点对应的第一目标法线方向;其中,所述参考点位于所述中心面上,且所述参考位置信息和所述第一位置信息相关;以及基于所述待处理虚拟角色的人脸三维模型在所述模型坐标系中的朝向,为所述第二顶点确定第二目标法线方向;基于所述第一顶点对应的第一位置信息、和所述第三顶点在所述模型坐标系中的第三位置信息,确定所述第三顶点对应的第一距离;以及基于所述中心面在所述模型坐标系中的第二位置信息、和所述第三位置信息,确定所述第三顶点对应的第二距离;基于所述第一距离、所述第二距离以及所述光影比例关系,确定所述第三顶点对应的第三目标法线方向。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:基于所述待处理虚拟角色的人脸三维模型中各个顶点对应的属性信息,从所述目标人脸模型的多个所述顶点中,确定位于目标人脸区域和非目标人脸区域的分隔线上的第一顶点;其中,所述属性信息用于描述各个所述顶点归属的人脸区域;基于所述第一顶点,构成所述法线修正边界。4.根据权利要求2所述的方法,其特征在于,所述基于所述第一顶点在与所述待处理虚拟角色的人脸三维模型对应的模型坐标系的第一位置信息、和参考点在所述模型坐标系中的参考位置信息,确定多个所述第一顶点对应的第一目标法线方向,包括:基于所述第一位置信息,确定多个所述第一顶点分别到所述脸部中心面的距离;基于多个所述第一顶点分别到所述中心面之间的距离,从多个第一顶点中确定目标第一顶点;基于所述目标第一顶点在所述模型坐标系中的第一位置信息,确定与所述目标第一顶
点对应的参考点在所述模型坐标系中的参考位置信息;所述参考位置信息表征的人脸高度和所述第一位置信息所表征的人脸高度相同;基于所述目标第一顶点在所述模型坐标系中的第一位置信息、以及与所述目标第一顶点对应的参考点在所述模型坐标系中的参考位置信息,确定所述目标第一顶点对应的第一目标法线方向;将所述目标第一顶点对应的第一目标法线方向,确定为多个所述第一顶点分别对应的第一目标法线方向。5.根据权利要求4所述的方法,其特征在于,所述基于所述第一顶点对应的第一位置信息、和所述第三顶点在所述模型坐标系中的第三位置信息,确定所述第三顶点对应的第一距离,包括:基于多个所述第一顶点分别对应的第一位置信息所表征的人脸高度、和所述第三位置信息所表征的人脸高度,从多个所述第一顶点中,确定表征的人脸高度和所述第三未知信息最接近的第一位置信息对应的参考第一顶点;基于所述参考第一顶点对应的第一位置信息、以及所述第三顶点对应的所述第三位置信息,确定所述第三顶点对应的第一距离。6.根据权利要求2所述的方法,其特征在于,所述基于所述第一距离、所述第二距离以及所述光影比例关系,确定所述第三顶点对应的第三目标法线方向,包括:按照所述光影比例关系,基于所述第一距离、和所述第二距离,确定法线调整系数;基于所述法线调整系数,对所述第一目标法线、和所述第二目标法线进行插值处理,得到所述第三顶点对应的第三目标法线方向。7.根据权利要求2-6任一项所述的方法,其特征在于,所述方法还包括:基于所述待处理人脸上三维模型中各个第三顶点对应的属性信息,从多个所述第三顶点中,确定位于伦勃朗三角区的第四顶点;基于预设第一调整系数,对所述第四顶点对应的第三目标法线方向、所述第二顶点对应的第二目标法线方向进行插值处理,得到所述第四顶点对应的第四目标法线方向。8.根据权利要求2-6任一项所述的方法,其特征在于,所述方法还包括:基于所述待处理人脸上三维模型中各个第三顶点对应的属性信息,从多个所述第三顶点中,确定位于鼻翼区域的第五顶点;将所述第五顶点在所述模型坐标系中的原始法线方向,确定为所述第五顶点对应的第五目标法线方向;或者,基于第二预设调整系数,对所述第五顶点在所述模型坐标系中的原始法线方向、和所述第五顶点对应的第三目标法线方向进行插值处理,得到所述第五顶点对应的第五目标法线方向。9.一种三维模型生成装置,其特征在于,包括:获取模块,用于获取待处理虚拟角色的人脸三维模型;所述待处理虚拟角色的人脸三维模型包括多个顶点;调整模块,用于基于与预设光照渲染风格对应的光影比例关系,对所述待处理虚拟角色的人脸三维模型中多个所述顶点的进行法线方向调整,得到多个所述顶点分别对应的目
标法线方向;其中,所述光影比例关系用于描述在预设光照渲染风格下,位于受光区域和背光区域分界线上的不同顶点分别对应的第一距离、和第二距离之间的比值关系;其中,所述第一距离为所述分界线上的顶点和法线修正边界之间的距离;所述第二距离为所述分界线上的顶点和脸部中心面的距离;生成模块,用于基于所述目标法线方向,生成目标人脸三维模型;所述目标法线方向用于对所述目标人脸三维模型进行所述预设光照渲染风格的光照渲染处理。10.一种计算机设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求1至8任一项所述的三维模型生成方法的步骤。11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行如权利要求1至8任意一项所述的三维模型生成方法的步骤。

技术总结
本公开提供了一种三维模型生成方法、装置、计算机设备及存储介质,其中,该方法包括:获取待处理虚拟角色的人脸三维模型;所述待处理虚拟角色的人脸三维模型包括多个顶点;基于与预设光照渲染风格对应的光影比例关系,对所述待处理虚拟角色的人脸三维模型中多个所述顶点的进行法线方向调整,得到多个所述顶点分别对应的目标法线方向;其中,所述光影比例关系用于描述在预设光照渲染风格下,位于受光区域和背光区域分界线上的不同顶点分别对应的第一距离、和第二距离之间的比值关系;基于所述目标法线方向,生成目标人脸三维模型;所述目标法线方向用于对所述目标人脸三维模型进行所述预设光照渲染风格的光照渲染处理。行所述预设光照渲染风格的光照渲染处理。行所述预设光照渲染风格的光照渲染处理。


技术研发人员:罗汉铭
受保护的技术使用者:北京字跳网络技术有限公司
技术研发日:2023.03.08
技术公布日:2023/7/25
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐