一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2022-05-26 18:50:27 来源:中国专利 TAG:


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.图1示出了本公开实施例所提供的一种阴影贴图的生成方法的流程图;
34.图2示出了本公开实施例所提供的一种目标对象的三维模型的示意图;
35.图3示出了本公开实施例所提供的一种原始阴影贴图的示意图;
36.图4示出了本公开实施例所提供的一种确定光照方向的示意图;
37.图5示出了本公开实施例所提供的一种可以反应阴影程度信息的球体的示意图;
38.图6示出了本公开实施例所提供的一种对阴影效果进行调节时的展示界面的示意图;
39.图7示出了本公开实施例所提供的一种对目标对象进行阴影渲染后得到的渲染图像的示意图;
40.图8示出了本公开实施例所提供的一种阴影贴图的生成装置的示意图;
41.图9示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
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.针对上述s102,利用上述s101中确定的三维模型,以及与三维模型对应的光照方向,可以确定在光照下三维模型对应的光照模型。此处,得到的光照模型用于表征三维模型的多个顶点对应的阴影程度信息。
59.首先,对确定光照模型的具体方式进行说明。在具体实施中,具体可以采用下述方式确定光照模型:确定所述三维模型中多个顶点分别对应的法线方向;针对多个顶点中的每个顶点,对所述每个顶点对应的法线方向以及所述光照方向进行点积运算,得到所述每个顶点对应的阴影程度信息;基于多个所述顶点分别对应的阴影程度信息,得到所述光照模型。
60.其中,对于三维模型中的多个顶点以及多个顶点对应的法线方向,参见图2所示,在示出的三维模型中标注了部分顶点,以及在该顶点处对应的法线方向。由于三维模型可以确定,因此可以在三维模型上的外轮廓上确定多个顶点,并根据多个顶点分别在三维模型上的位置,确定各个顶点分别对应的法线方向。具体确定的法线方向的方式在此不再赘述。
61.对于光照方向而言,在本公开另一实施例中,还提供了一种确定光照方向的具体方式。具体地,可以确定目标光源在于所述三维模型对应的模型坐标系中的光源位置信息,然后基于所述光源位置信息,确定与所述三维模型对应的光照方向。
62.其中,目标光源可以包括虚拟光源。在确定目标光源的光照方向时,由于光照方向具体影响三维模型,因此涉及到目标光源与三维模型之间的相对位置关系。这样,为了更为准确地确定光照方向,可以以三维模型为基准建立对应的模型坐标系,并在该模型坐标系下确定目标光源的光源位置信息。这样,对于在同一模型坐标系下的目标光源和三维模型,可以准确地确定目标光源与三维模型之间的相对位置关系,从而能够确定与三维模型对应
的光照方向。
63.示例性的,参见图4所示,为本公开实施例提供的一种确定光照方向的示意图。在利用三维模型建立模型坐标系时,可以以三维模型的中轴线为z轴,建立如图4中示出的模型坐标系。目标光源41的光源位置信息也可以以模型坐标系中的坐标值表示,例如(x1,y1,z1)。根据确定的光源位置信息,可以知道目标光源对三维模型的左侧靠上方具有光照,确定的光照方向在图4中也相应的进行了标注。
64.在确定光照方向的情况下,针对多个顶点中的每个顶点,可以利用每个顶点对应的法线方向以及光照方向进行点积运算,得到每个顶点对应的阴影程度信息,这样通过确定多个顶点分别对应的阴影程度信息,即可以得到光照模型。此处,光照模型反应的各个顶点对应的阴影程度信息,具体可以反映各个顶点在渲染显示后是否出现在阴影区域,以及若存在的顶点在渲染显示后出现在阴影区域,对应的阴影颜色偏深暗色或者是偏浅亮色。
65.下面,对确定光照模型的原理进行说明。参见图5所示,为本公开实施例提供的一种可以反应阴影程度信息的球体的示意图。其中,利用简单的球体51代替三维模型进行说明,在图5中还示出了目标光源52。对于球体51,可以确定球面上的多个顶点,并确定每个顶点分别对应的法向量。在图中,对三个特殊的顶点a1、a2以及a3进行了标注,对应的法向量分别表示为n1、n2以及n3。对于目标光源52,对应的光照方向表示为l。
66.这样,根据图5中示出球体表达出的阴影效果可以知道,顶点a1对应的法向量n1和l的方向相反,顶点a1处呈现出无阴影的效果;顶点a2对应的法向量n2和l的方向垂直,顶点a1处呈现出灰色阴影的效果。对于对应的法向量与l之间的夹角大于90度且小于180度的顶点,则呈现出不同的灰度下阴影的效果,且随着夹角的角度增大,而呈现出颜色更深的灰色阴影。而顶点a3对应的法向量n3和l的方向相同,顶点a3处呈现出黑色,并且对于对应的法向量与l之间的夹角小于90度的顶点,均呈现出黑色。根据上述推论可以知道,在确定光照方向l以及各个顶点a对应的法向量na的情况下,即可以确定出各个顶点a是否处于阴影区域、以及在阴影区域中应当呈现出的阴影颜色。
67.因此,针对上述s103,对于原始阴影贴图而言,可以利用光照模型对其进行在光照方向下的校正处理,以得到三维模型的第一目标阴影贴图。在具体实施中,具体可以采用下述方式:利用所述光照模型中包括的多个顶点分别对应的阴影程度信息,对所述三维模型中各个顶点分别对应的原始阴影程度信息进行重映射处理,得到所述三维模型的第一目标阴影贴图。
68.其中,重映射处理具体包括对原始阴影程度信息进行在灰度值范围上的重映射,具体可以采用线性插值的计算方式。这样,可以利用能够反映出光照方向的光照模型下多个顶点分别对应的阴影程度信息,经过重映射的计算使原始阴影贴图下的原始阴影程度信息同样具备有在光照方向下的影响,以得到可以反应出被光照方向所影响的目标对象模型的第一目标阴影贴图。
69.在本公开另一实施例中,对于第一目标阴影贴图的阴影范围,还可以进行阴影的分区处理,以实现双侧阴影调整,用于在对三维模型记性渲染显示后呈现出具有层次的、可以反映出遮挡关系的阴影。
70.在具体实施中,例如可以响应于接收到阴影范围调整指令,对第一目标阴影贴图进行阴影范围调整处理。其中,阴影范围调整指令中携带有目标阴影分区灰度阈值。此处,
目标阴影分区灰度阈值为一个灰度值,这个灰度值可以用于控制第一目标阴影贴图中各个像素点在三维模型上对应的区域呈现出的阴影倾向。在一种可能的情况下,若确定目标阴影分区灰度阈值为128,则可以确定在第一目标阴影贴图中灰度值小于128的像素点在三维模型上对应的区域会更不易呈现出阴影,而在第一目标阴影贴图中灰度值大于128的像素点在三维模型上对应的区域会更容易呈现出阴影。
71.此处,阴影范围调整指令中例如携带有目标阴影分区灰度阈值,也即目标阴影分区灰度阈值是可以被调节的。具体地,可以响应于接收对目标阴影分区灰度阈值对应的输入框的输入指令或者对调节旋钮的操作指令,确定阴影范围调整指令。参见图6所示,为本公开实施例提供的一种对阴影效果进行调节时的展示界面的示意图,其中标注有“目标阴影分区灰度阈值”的表格中具有调节钮,通过左右滑动的操作,可以更改目标阴影分区灰度阈值的数值。通过调节钮的滑动操作,可以生成阴影范围调整指令。另外,在进行滑动操作后,在旁边的表格中还会以具体数值的形式展示出当前设定的目标阴影分区灰度阈值,例如示出的“128”。
72.在利用目标阴影分区灰度阈值对第一目标阴影贴图进行分区处理时,可以将第一目标阴影贴图中对应灰度值大于或者等于目标阴影分区灰度阈值的像素点归为第一分区,并将第一目标阴影贴图中对应灰度值小于目标阴影分区灰度阈值的像素点归为第二分区。利用上述说明的不同区域应当呈现出的阴影倾向,可以对第一分区和第二分区分别进行阴影深度的第一校正处理,得到在目标阴影分区灰度阈值下的第二目标阴影贴图。
73.另外,由于目标阴影分区灰度阈值是可以被调节的,因此在确定第二目标阴影贴图的情况下,还可以通过在一定取值范围下对目标阴影分区灰度阈值进行调节,以灵活地对第二目标阴影贴图进行调整。
74.具体地,对目标阴影分区灰度阈值的取值范围进行限制,可以采用下述方式进行:接收对所述目标阴影分区灰度阈值对应的第一取值范围调整指令;基于所述第一取值范围调整指令,确定所述目标阴影分区灰度阈值的第一目标取值范围;所述阴影范围调整指令中携带的所述目标阴影分区灰度阈值位于所述第一目标取值范围内。
75.示例性的,参见图6所示,在标注有“取值范围”的表格中也具有调节钮,响应于对该调节钮的滑动操作,可以确定对所述目标阴影分区灰度阈值对应的第一取值范围调整指令。此处,确定的第一取值范围也即上述说明的目标阴影分区灰度阈值在调节时的可选范围。比如,对于图6中示出的“区域范围”,可以确定当前的第一目标取值范围为150,表示目标阴影分区灰度阈值最大可以选取到150,也即对于“目标阴影分区灰度阈值”表格中的调节钮,对该调节钮滑动至最大时,可以选取到的灰度阈值为150。
76.在本公开另一实施例中,还可以对三维模型显示出的阴影颜色进行调整。在具体实施中,例如可以采用下述方式:获取阴影颜色调整指令;所述阴影颜色调整指令中携带有颜色灰度阈值;利用所述颜色灰度阈值,对所述第一目标阴影贴图进行阴影颜色的第二校正处理,得到第三目标阴影贴图。
77.其中,参见图6所示,在标注有“阴影颜色”的表格中对应有阴影颜色的取色按钮,以及当前选取的阴影颜色的色卡。响应于取色操作,可以得到阴影颜色调整指令,阴影颜色调整指令中携带有当前取色操作下确认的颜色灰度阈值,例如图6中“阴影颜色”的表格内色卡显示出的阴影颜色。利用确定的颜色灰度阈值,可以对确定的阴影颜色进行第二校正
处理,比如选取的颜色灰度阈值较高,则相应的反应将第一目标阴影贴图调整至阴影显示较浅;若选取的颜色灰度阈值较低,则相应的反应将第一目标阴影贴图调整至阴影显示较深。
78.另外,与上述说明的目标阴影分区灰度阈值相似的,对于阴影颜色而言,也可以通过确定阴影颜色调整范围的方式限定可以阴影颜色的选取范围。在具体实施中,可以接收对所述颜色灰度阈值对应的第二取值范围调整指令;基于所述第二取值范围调整指令,确定所述颜色灰度阈值的第二目标取值范围;所述阴影颜色调整指令中携带的颜色灰度阈值位于所述第二目标取值范围内。
79.参见图6所示,在标注有“阴影颜色调整范围”的表格中,对应有调节阴影颜色调整范围的取色按钮。响应于利用该取色按钮对阴影颜色调整范围的选取,可以确定对颜色灰度阈值对应的第二取值范围调整指令,从而可以确定阴影颜色可选的第二目标取值范围。比如,图6中示出的阴影颜色调整范围对应的色卡,即为阴影颜色可以选取呈现出的最深程度的阴影颜色。
80.上述为目标阴影分区灰度阈值、以及阴影颜色设置两项调整范围的方式,在多人协同工作的场景下,可以通过限制第一目标取值范围和第二目标取值范围的方式,使多人对目标阴影贴图进行阴影深度和/或阴影颜色的调整过程中,将可以调节的程度限制在一定范围内,能够减少由于个人风格或者喜好的差异导致的阴影过深或者过暗的情况。
81.本公开实施例提供的阴影贴图的生成方法,得到的阴影贴图,相较于直接采用人工绘制的方式确定的阴影贴图而言,由于在阴影深度、阴影颜色上可以灵活调整,并且可以根据光照方向进行矫正处理,因此利用得到的阴影贴图对目标对象进行渲染时,阴影效果更加可控。示例性的,参见图7所示,为本公开实施例提供的一种对目标对象进行阴影渲染后得到的渲染图像的示意图,其中,图7中(a)示出了直接利用人工绘制的方式确定的阴影贴图在对目标对象进行渲染后的渲染图像,相较于图7中(b)示出的采用本公开实施例提供的阴影贴图的生成方法得到的阴影贴图渲染后的渲染图像而言,在阴影表达上并不自然,图7中(b)示出的渲染图像在阴影表达上更符合现实中的光照逻辑,因此更自然,也更能够提升目标对象的真实性。
82.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
83.基于同一发明构思,本公开实施例中还提供了与阴影贴图的生成方法对应的阴影贴图的生成装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述阴影贴图的生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
84.参照图8所示,为本公开实施例提供的一种阴影贴图的生成装置的示意图,所述装置包括:获取模块81、第一确定模块82、第一处理模块83;其中,
85.获取模块81,用于获取目标对象的三维模型、以及与所述三维模型对应的原始阴影贴图;
86.第一确定模块82,用于基于所述三维模型、以及与所述三维模型对应的光照方向,确定与所述三维模型对应的光照模型;所述光照模型用于表征所述三维模型的多个顶点分别对应的阴影程度信息;
87.第一处理模块83,用于利用所述光照模型对所述原始阴影贴图进行光照方向的校正处理,得到所述三维模型的第一目标阴影贴图。
88.一种可选的实施方式中,所述第一确定模块82在基于所述三维模型、以及与所述三维模型对应的光照方向,确定与所述三维模型对应的光照模型时,用于:确定所述三维模型中多个顶点分别对应的法线方向;针对多个顶点中的每个顶点,对所述每个顶点对应的法线方向以及所述光照方向进行点积运算,得到所述每个顶点对应的阴影程度信息;基于多个所述顶点分别对应的阴影程度信息,得到所述光照模型。
89.一种可选的实施方式中,所述生成装置还包括第二确定模块84,用于:确定目标光源在于所述三维模型对应的模型坐标系中的光源位置信息;基于所述光源位置信息,确定与所述三维模型对应的光照方向。
90.一种可选的实施方式中,所述原始阴影贴图包括:所述三维模型中各个顶点分别对应的原始阴影程度信息;所述第一处理模块83在利用所述光照模型对所述原始阴影贴图进行光照方向的校正处理,得到所述三维模型的第一目标阴影贴图时,用于:利用所述光照模型中包括的多个顶点分别对应的阴影程度信息,对所述三维模型中各个顶点分别对应的原始阴影程度信息进行重映射处理,得到所述三维模型的第一目标阴影贴图。
91.一种可选的实施方式中,所述生成装置还包括第二处理模块85,用于:响应于接收到阴影范围调整指令,对所述第一目标阴影贴图进行阴影范围调整处理。
92.一种可选的实施方式中,所述阴影范围调整指令中携带有目标阴影分区灰度阈值;所述第二处理模块85在响应于接收到阴影范围调整指令,对所述第一目标阴影贴图进行阴影范围调整处理时,用于:响应于接收到阴影范围调整指令,基于所述阴影范围调整指令中携带的目标阴影分区灰度阈值,对所述第一目标阴影贴图进行分区处理,得到第一分区以及第二分区;对所述第一分区、以及第二分区分别进行阴影深度的第一校正处理,得到第二目标阴影贴图。
93.一种可选的实施方式中,所述第二处理模块85还用于:接收对所述目标阴影分区灰度阈值对应的第一取值范围调整指令;基于所述第一取值范围调整指令,确定所述目标阴影分区灰度阈值的第一目标取值范围;所述阴影范围调整指令中携带的所述目标阴影分区灰度阈值位于所述第一目标取值范围内。
94.一种可选的实施方式中,所述生成装置还包括第三处理模块86,用于:获取阴影颜色调整指令;所述阴影颜色调整指令中携带有颜色灰度阈值;利用所述颜色灰度阈值,对所述第一目标阴影贴图进行阴影颜色的第二校正处理,得到第三目标阴影贴图。
95.一种可选的实施方式中,所述第三处理模块86还用于:接收对所述颜色灰度阈值对应的第二取值范围调整指令;基于所述第二取值范围调整指令,确定所述颜色灰度阈值的第二目标取值范围;所述阴影颜色调整指令中携带的颜色灰度阈值位于所述第二目标取值范围内。
96.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
97.本公开实施例还提供了一种计算机设备,如图9所示,为本公开实施例提供的计算机设备结构示意图,包括:
98.处理器10和存储器20;所述存储器20存储有处理器10可执行的机器可读指令,处
理器10用于执行存储器20中存储的机器可读指令,所述机器可读指令被处理器10执行时,处理器10执行下述步骤:
99.获取目标对象的三维模型、以及与所述三维模型对应的原始阴影贴图;基于所述三维模型、以及与所述三维模型对应的光照方向,确定与所述三维模型对应的光照模型;所述光照模型用于表征所述三维模型的多个顶点分别对应的阴影程度信息;利用所述光照模型对所述原始阴影贴图进行光照方向的校正处理,得到所述三维模型的第一目标阴影贴图。
100.上述存储器20包括内存210和外部存储器220;这里的内存210也称内存储器,用于暂时存放处理器10中的运算数据,以及与硬盘等外部存储器220交换的数据,处理器10通过内存210与外部存储器220进行数据交换。
101.上述指令的具体执行过程可以参考本公开实施例中所述的阴影贴图的生成方法的步骤,此处不再赘述。
102.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的阴影贴图的生成方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
103.本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的阴影贴图的生成方法的步骤,具体可参见上述方法实施例,在此不再赘述。
104.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
105.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
106.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
107.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
108.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件
产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
109.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献