一种虚拟对象的渲染方法、装置、电子设备及存储介质与流程
未命名
09-01
阅读:138
评论:0

1.本公开涉及渲染技术领域,尤其涉及一种虚拟对象的渲染方法、装置、电子设备及存储介质。
背景技术:
2.在游戏场景中,例如经常存在由于脸部区域的阴影精度较低,对于移动端甚至没有独立的脸部阴影,那么会大量存在角色脸部细小区域,例如眼睑、嘴唇的漏光现象,从而影响整体的渲染质量和效果。灯光或者背光打下角色的时候,即使存在脸部阴影,但是由于精度不足,仍存在眼睑、嘴唇这部分漏光。
技术实现要素:
3.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种虚拟对象的渲染方法、装置、电子设备及存储介质。
4.根据本公开实施例的一个方面,提供了一种虚拟对象的渲染方法,包括:
5.获取虚拟对象模型,其中,所述虚拟对象模型包括待渲染对象;
6.获取所述待渲染对象的权重信息,其中,所述权重信息包括至少一个目标权重值;
7.将所述待渲染对象中配置有目标权重值的区域确定为目标区域,并利用所述目标权重值确定所述目标区域对应的胶囊体法线向量,其中,所述胶囊体法线向量是所述待渲染对象所绑定胶囊体的法线向量;
8.利用所述胶囊体法线向量计算所述目标区域的直接光遮蔽信息,并利用各个所述目标区域的直接光遮蔽信息对所述待渲染对象进行渲染。
9.根据本公开实施例的另一方面,还提供了一种虚拟对象的渲染装置,包括:
10.第一获取模块,用于获取虚拟对象模型,其中,所述虚拟对象模型包括待渲染对象;
11.第二获取模块,用于获取所述待渲染对象的权重信息,其中,所述权重信息包括至少一个目标权重值;
12.确定模块,用于将所述待渲染对象中配置有目标权重值的区域确定为目标区域,并利用所述目标权重值确定所述目标区域对应的胶囊体法线向量,其中,所述胶囊体法线向量是所述待渲染对象所绑定胶囊体的法线向量;
13.计算模块,用于利用所述胶囊体法线向量计算所述目标区域的直接光遮蔽信息,并利用各个所述目标区域的直接光遮蔽信息对所述待渲染对象进行渲染。
14.根据本公开实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
15.根据本公开实施例的另一方面,还提供了一种电子装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上
述方法中的步骤。
16.本公开实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
17.本公开实施例提供的上述技术方案与现有技术相比具有如下优点:本公开实施例提供的方法通过利用权重信息确定待渲染对象中的需要遮蔽直接光的目标区域以及目标区域的胶囊体法线向量,并利用胶囊体法线向量计算直接光遮蔽信息,最终利用直接光遮蔽信息对待渲染对象进行渲染,以此能够对待渲染对象中局部区域进行直接光遮蔽,例如:眼睑、嘴唇、耳朵等局部区域,在一定程度上克服渲染光照不够真实或者漏光的问题,进而提升光照渲染的效果。
附图说明
18.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
19.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
20.图1为本公开一些实施例提供的虚拟对象的渲染方法的流程图;
21.图2为本公开一些实施例提供的虚拟对象模型的示意图;
22.图3为本公开一些实施例提供的对象权重图的示意图;
23.图4为本公开一些实施例提供的对象权重图的示意图;
24.图5为本公开一些实施例提供的虚拟对象的渲染装置的框图;
25.图6为本公开一些实施例提供的电子设备的结构示意图。
具体实施方式
26.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
27.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个类似的实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
28.本公开实施例提供了一种虚拟对象的渲染方法、装置、电子设备及存储介质。本发明实施例所提供的方法可以应用于任意需要的电子设备,例如,可以为服务器、终端等电子设备,在此不做具体限定,为描述方便,后续简称为电子设备。
29.根据本公开实施例的一方面,提供了一种虚拟对象的渲染方法的方法实施例。图1为本公开实施例提供的一种虚拟对象的渲染方法的流程图,如图1所示,该方法包括:
30.步骤s11,获取虚拟对象模型,其中,虚拟对象模型包括待渲染对象。
31.本公开实施例提供的方法应用于智能设备,智能设备可以为本地设备。以游戏为例,智能设备存储有游戏程序并用于呈现游戏画面。智能设备用于通过图形用户界面与用户进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该智能设备将图形用户界面提供给用户的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给用户。举例而言,智能设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
32.在本公开实施例中,智能设备中存储有多个虚拟对象模型,用户可以基于智能设备进行渲染操作,具体的,智能设备首先接收用户触发的获取指令,获取指令可以是智能设备根据用户输入的需求生成的,输入的需求可以理解为用户当前需要获取哪一个虚拟对象模型。其次,智能设备响应获取指令,获取用户的输入信息,从输入信息中提取用户当前的渲染需求,再者,利用渲染需求确定虚拟对象模型中的待渲染对象。最终,可以在智能设备的图形界面上展示相应的虚拟对象模型,虚拟对象模型包括待渲染对象。
33.作为一个示例,如图2所示,虚拟对象模型可以是虚拟场景中的虚拟人物角色,待渲染对象可以是虚拟人物角色的头部。基于此,在对其进行渲染的过程中,首先获取虚拟任务角色,同时在虚拟人物角色的头部骨骼下绑定一个胶囊体(即胶囊体中x坐标轴,y坐标轴构成的坐标系与角色骨骼绑定),以此便于胶囊体能跟随角色骨骼动画进行运动。
34.需要说明的是,虚拟对象是虚拟场景中可以进行交互的各种人和物的形象,或在虚拟场景中的可活动对象;该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在虚拟场景中显示的人物、动物、植物、油桶、墙壁、石块等。另外,虚拟对象可以是该虚拟场景中的一个虚拟的用于代表用户的虚拟形象,虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。虚拟对象是基于虚拟对象模型渲染出的。
35.步骤s12,获取待渲染对象的权重信息,其中,权重信息包括至少一个目标权重值。
36.在本公开实施例中,获取待渲染对象的权重信息,包括以下步骤a1-a2:
37.步骤a1,获取预先绘制的待渲染对象的对象权重图。
38.在本公开实施例中,用户可以按照渲染需求绘制一张对象权重图,并将对象权重图上传至智能设备。具体的,智能设备可以检测用户的上传操作,得到对象权重图。如图3所示,对象权重图中可以包括多个需要对直接光进行遮蔽的区域,各个区域需要进行直接光遮蔽的力度不同,基于此,可以通过各个区域颜色的深浅程度确定区域的权重值,区域颜色越深则表示该区域的权重越大,说明该区域需要加强直接光遮蔽的力度。区域颜色越浅则表示该区域的权重越小,说明该区域进行直接光遮蔽的力度较小。需要说明的是,需要对直接光进行遮蔽的区域为待渲染对象的细小区域,例如:眼睑、嘴唇、耳朵。
39.作为一个示例,对象权重图中配置有目标权重值的区域有:眼睑,嘴唇,鼻子以及耳朵。另外,由于眼睑和鼻子的颜色深度最深,嘴唇和耳朵的颜色深度最浅,所以待渲染对象的眼睑和鼻子的权重最大,而嘴唇和耳朵的权重最小。
40.步骤a2,从对象权重图中读取待渲染对象中各个区域的目标权重值,得到权重信息。
41.在本公开实施例中,智能终端在获取到对象权重图后,可以识别出对象权重图中配置有权重值的区域,然后通过区域的颜色深度确定目标权重值,最终基于每个区域的目标权重值,例如:可以利用颜色的颜色深度与权重之间的对应关系,确定该区域的目标权重值。最终,基于每个区域的权重值得到待渲染对象的权重信息。
42.另外,为了保证权重读取的精度,还可以将读取出的目标权重值进行显示,检测是否有对于目标权重值的编辑操作。如果检测到编辑操作,则响应于编辑操作,获取编辑后的目标权重值,并利用编辑后的目标权重值更新待渲染对象的权重信息。以此通过将目标权重值进行显示的方式,便于用户可以按照渲染需求对目标权重值进行实时更新。
43.步骤s13,将待渲染对象中配置有目标权重值的区域确定为目标区域,并利用目标权重值确定目标区域对应的胶囊体法线向量,其中,胶囊体法线向量是待渲染对象所绑定胶囊体的法线向量。
44.在本公开实施例中,由于权重信息中的每个目标权重值对应一个区域,所以可以直接将待渲染对象中配置有目标权重值对应的区域确定为需要进行直接光遮蔽的目标区域。然后利用目标权重值的大小确定目标区域对应的胶囊体法线向量。
45.具体地,获取预设目标权重值与直接光遮蔽需求之间的对应关系,需要说明的是,不同的权重值其对应的直接光遮蔽需求不同,权重值越大,直接光遮蔽需求越高,直接光遮蔽需求包括:向量大小以及向量方向。例如:权重值越大,向量大小越大。基于对应关系,确定目标权重值对应的直接光遮蔽需求,利用直接光遮蔽需求生成相应的胶囊体法线向量。需要说明的是,胶囊体法线向量是待渲染对象所绑定胶囊体的法线向量,之所以使用胶囊体法线向量而不使用对象模型的法线向量,目的是后续可以更精准的计算出直接光遮蔽信息。
46.在本公开实施例中,在得到各个目标区域的胶囊体法线向量以及目标权重值后,将目标权重值以及胶囊体法线向量输入至几何缓冲区(g-buffer),如图4所示,利用几何缓冲区(g-buffer)的世界空间坐标记录待渲染对象中各个目标区域的胶囊体法线向量,同时几何缓冲区(g-buffer)的w通道计算待渲染对象中各个目标区域的目标权重值。以此便于后续渲染时,可以直接从集合缓冲区读取目标权重值以及胶囊体法线向量。
47.步骤s14,利用胶囊体法线向量计算待渲染对象的直接光遮蔽信息,并利用直接光遮蔽信息对待渲染对象进行渲染。
48.在本公开实施例中,利用胶囊体法线向量计算待渲染对象的直接光遮蔽信息,包括以下步骤b1-b4:
49.步骤b1,基于胶囊体法线向量计算待渲染对象的阴影遮蔽值。
50.在本公开实施例中,基于胶囊体法线向量计算待渲染对象的阴影遮蔽值,包括以下步骤b101-b102:
51.步骤b101,获取待渲染对象当前对应的光照方向向量。
52.在本公开实施例中,光照方向向量为方向与世界空间坐标下的光照方向一致,且模长为1的向量。
53.步骤b102,计算光照参数与胶囊体法线向量之间的乘积,并将乘积确定为待渲染
对象的阴影遮蔽值。
54.在本公开实施例中,获取直接光相对于待渲染对象的光照参数,然后计算光照参数与胶囊体法线向量之间乘积,并将该乘积确定为待渲染对象的阴影遮蔽值。需要说明的是,为了实现对待渲染对象的细小区域进行精准的遮光处理,所以需要利用待渲染对象中各个目标区域的胶囊体法线向量与光照参数计算阴影遮蔽值。
55.步骤b2,获取待渲染对象中像素点的当前阴影值。
56.在本公开实施例中,获取待渲染对象中像素点的当前阴影值,包括:获取待渲染对象的阴影贴图;确定目标区域在阴影贴图中的目标贴图,并对目标贴图进行采样,得到目标贴图中像素点的当前阴影值。
57.在本公开实施例中,首先从虚拟对象模型中提取待渲染对象的阴影贴图(shadow map),并确定目标区域在阴影贴图中的目标贴图,例如:目标贴图可以是眼睑在阴影贴图中所在位置的贴图。其次,对目标贴图进行采样,得到目标贴图中像素点的当前阴影值。
58.具体的采样的过程包括:对目标贴图采样,得到目标贴图的图像深度,将得到的图像深度与预设图像深度进行对比,确定像素点是否被遮挡,从而得到像素点的当前阴影值,当前阴影值的取值范围为[0,1]。
[0059]
需要说明的是,如果预设图像深度大于采样得到的图像深度,且二者之间的差值超过阈值,则说明像素点当前被遮挡,此时像素点的当前阴影值为0。如果预设图像深度小于采样得到的图像深度,则说明像素点当前未被遮挡,此时像素点的当前阴影值为1。如果预设图像深度大于采样得到的图像深度,且二者之间的差值未超过阈值,说明像素点当前未被遮挡,此时像素点的当前阴影值在[0,1]之间,即处于半影状态。
[0060]
步骤b3,对比阴影遮蔽值以及像素点的当前阴影值,并将阴影遮蔽值与像素点的当前阴影值之间最小的值确定为目标值。
[0061]
在本公开实施例,对比阴影遮蔽值以及像素点的当前阴影值,确定阴影遮蔽值以及像素点的当前阴影值二者之间的最小值,并将最小值确定为目标值。其中,在像素点的目标值为0的情况下,表示该像素点处于阴影内(被遮挡),在像素点对应的目标值为1的情况下,表示该像素点不处于阴影内(未被遮挡)。在像素点对应的目标值在0到1之间的数值情况下,表示该像素点处于半影(未被完全遮挡)。后续可以根据该目标值的大小渲染对应的阴影颜色,例如,该目标值越大,颜色可以越深,该目标值越小,颜色可以越浅。
[0062]
需要说明的是,由于性能收到限制,阴影贴图(shadow map)的分辨率较小,无法满足待渲染对象的细小区域的遮光处理精度。因此单独利用当前阴影值进行处理,并不能解决细小区域直接光漏光的问题,仍需要利用法线遮蔽防漏光。同样,胶囊体法线向量和光照参数之间的乘积(阴影遮蔽值)也不能单独使用。例如:当前像素点就在阴影内(被遮挡),当前像素阴影值是0,如果此时计算出的阴影遮蔽值大于像素点的当前阴影值,直接使用阴影遮蔽值进行后续处理,则会影响后续对直接光的处理精度。
[0063]
所以本公开实施例通过选择二者中的最小值作为目标值,目的是利用目标值进行后续的渲染,相比分别单独利用当前阴影值以及阴影遮蔽值能够提高后续遮光处理的精度。
[0064]
步骤b4,利用目标值,像素点的当前阴影值以及权重信息进行计算,得到计算结果。
[0065]
在本公开实施例中,利用目标值,像素点的当前阴影值以及权重信息进行lerp计算,得到像素点的最终阴影值,并将最终阴影值作为直接光遮蔽信息。
[0066]
步骤b5,将计算结果确定为直接光遮蔽信息。
[0067]
在本公开实施例中,利用直接光遮蔽信息对待渲染对象进行渲染,包括:获取当前光照参数;基于直接光遮蔽信息以及当前光照参数计算,得到渲染参数;利用渲染参数对待渲染对象进行渲染。
[0068]
在本公开实施例中,在计算出直接光遮蔽信息后可以将该直接光遮蔽信息作为系数与当前光照参数相乘后渲染在待渲染对象上,使得待渲染对象具有真实的光照效果。
[0069]
本公开实施例提供的方法通过利用权重信息确定待渲染对象中的需要遮蔽直接光的目标区域以及目标区域的胶囊体法线向量,并利用胶囊体法线向量计算直接光遮蔽信息,最终利用直接光遮蔽信息对待渲染对象进行渲染,以此能够对待渲染对象中局部区域进行直接光遮蔽,例如:眼睑、嘴唇、耳朵等局部区域,在一定程度上克服渲染光照不够真实或者漏光的问题,进而提升光照渲染的效果。
[0070]
图5为本公开实施例提供的一种虚拟对象的渲染装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,该装置包括:
[0071]
第一获取模块41,用于获取虚拟对象模型,其中,虚拟对象模型包括待渲染对象;
[0072]
第二获取模块42,用于获取待渲染对象的权重信息,其中,权重信息包括至少一个目标权重值;
[0073]
确定模块43,用于将待渲染对象中配置有目标权重值的区域确定为目标区域,并利用目标权重值确定目标区域对应的胶囊体法线向量,其中,胶囊体法线向量是待渲染对象所绑定胶囊体的法线向量;
[0074]
计算模块44,用于利用胶囊体法线向量计算目标区域的直接光遮蔽信息,并利用各个目标区域的直接光遮蔽信息对待渲染对象进行渲染。
[0075]
在本公开实施例中,第二获取模块42,具体用于获取预先绘制的待渲染对象的对象权重图;从对象权重图中读取待渲染对象中各个区域的目标权重值,得到权重信息。
[0076]
在本公开实施例中,确定模块43,具体用于获取预设目标权重值与直接光遮蔽需求之间的对应关系;基于对应关系,确定目标权重值对应的直接光遮蔽需求;利用直接光遮蔽需求生成相应的胶囊体法线向量。
[0077]
在本公开实施例中,渲染模块44,具体用于基于胶囊体法线向量计算目标区域的阴影遮蔽值;获取目标区域中像素点的当前阴影值;对比阴影遮蔽值以及像素点的当前阴影值,并将阴影遮蔽值与像素点的当前阴影值之间最小的值确定为目标值;利用目标值,像素点的当前阴影值以及权重信息进行计算,得到计算结果;将计算结果确定为直接光遮蔽信息。
[0078]
在本公开实施例中,渲染模块44,具体用于获取待渲染对象当前对应的光照方向向量;计算光照方向向量与胶囊体法线向量之间的乘积,并将乘积确定为目标区域的阴影遮蔽值。
[0079]
在本公开实施例中,渲染模块44,具体用于获取待渲染对象的阴影贴图;确定目标区域在阴影贴图中的目标贴图,并对目标贴图进行采样,得到目标贴图中像素点的当前阴影值。
[0080]
在本公开实施例中,渲染模块44,获取当前光照参数;基于直接光遮蔽信息以及当前光照参数计算,得到渲染参数;利用渲染参数对待渲染对象进行渲染。
[0081]
本公开实施例还提供一种电子设备,如图6所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
[0082]
存储器1503,用于存放计算机程序;
[0083]
处理器1501,用于执行存储器1503上所存放的计算机程序时,实现上述实施例的步骤。
[0084]
上述终端提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0085]
通信接口用于上述终端与其他设备之间的通信。
[0086]
存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0087]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0088]
在本公开提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的虚拟对象的渲染方法。
[0089]
在本公开提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的虚拟对象的渲染方法。
[0090]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk)等。
[0091]
以上所述仅为本公开的较佳实施例而已,并非用于限定本公开的保护范围。凡在
本公开的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本公开的保护范围内。
[0092]
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
技术特征:
1.一种虚拟对象的渲染方法,其特征在于,包括:获取虚拟对象模型,其中,所述虚拟对象模型包括待渲染对象;获取所述待渲染对象的权重信息,其中,所述权重信息包括至少一个目标权重值;将所述待渲染对象中配置有目标权重值的区域确定为目标区域,并利用所述目标权重值确定所述目标区域对应的胶囊体法线向量,其中,所述胶囊体法线向量是所述待渲染对象所绑定胶囊体的法线向量;利用所述胶囊体法线向量计算所述目标区域的直接光遮蔽信息,并利用各个所述目标区域的直接光遮蔽信息对所述待渲染对象进行渲染。2.根据权利要求1所述的方法,其特征在于,所述获取所述待渲染对象的权重信息,包括:获取预先绘制的所述待渲染对象的对象权重图;从所述对象权重图中读取所述待渲染对象中各个区域的目标权重值,得到所述权重信息。3.根据权利要求2所述的方法,其特征在于,所述利用所述目标权重值确定所述目标区域对应的胶囊体法线向量,包括:获取预设目标权重值与直接光遮蔽需求之间的对应关系;基于所述对应关系,确定所述目标权重值对应的直接光遮蔽需求;利用所述直接光遮蔽需求生成相应的所述胶囊体法线向量。4.根据权利要求1所述的方法,其特征在于,所述利用所述胶囊体法线向量计算所述目标区域的直接光遮蔽信息,包括:基于所述胶囊体法线向量计算所述目标区域的阴影遮蔽值;获取所述目标区域中像素点的当前阴影值;对比所述阴影遮蔽值以及所述像素点的当前阴影值,并将所述阴影遮蔽值与所述像素点的当前阴影值之间最小的值确定为目标值;利用所述目标值,所述像素点的当前阴影值以及所述权重信息进行计算,得到计算结果;将所述计算结果确定为所述直接光遮蔽信息。5.根据权利要求4所述的方法,其特征在于,所述基于所述胶囊体法线向量计算所述目标区域的阴影遮蔽值,包括:获取待渲染对象当前对应的光照方向向量;计算所述光照方向向量与所述胶囊体法线向量之间的乘积,并将所述乘积确定为所述目标区域的阴影遮蔽值。6.根据权利要求4所述的方法,其特征在于,所述获取所述目标区域中像素点的当前阴影值,包括:获取所述待渲染对象的阴影贴图;确定所述目标区域在所述阴影贴图中的目标贴图,并对所述目标贴图进行采样,得到所述目标贴图中像素点的当前阴影值。7.根据权利要求1所述的方法,其特征在于,所述利用各个所述目标区域的直接光遮蔽信息对所述待渲染对象进行渲染,包括:
获取当前光照参数;基于所述直接光遮蔽信息以及所述当前光照参数计算,得到渲染参数;利用所述渲染参数对所述待渲染对象进行渲染。8.一种虚拟对象的渲染装置,其特征在于,包括:第一获取模块,用于获取虚拟对象模型,其中,所述虚拟对象模型包括待渲染对象;第二获取模块,用于获取所述待渲染对象的权重信息,其中,所述权重信息包括至少一个目标权重值;确定模块,用于将所述待渲染对象中配置有目标权重值的区域确定为目标区域,并利用所述目标权重值确定所述目标区域对应的胶囊体法线向量,其中,所述胶囊体法线向量是所述待渲染对象所绑定胶囊体的法线向量;计算模块,用于利用所述胶囊体法线向量计算所述目标区域的直接光遮蔽信息,并利用各个所述目标区域的直接光遮蔽信息对所述待渲染对象进行渲染。9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7中任一项所述的方法步骤。10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行权利要求1至7中任一项所述的方法步骤。
技术总结
本公开公开了一种虚拟对象的渲染方法、装置、电子设备及存储介质。包括:获取虚拟对象模型,虚拟对象模型包括待渲染对象;获取待渲染对象的权重信息,权重信息包括至少一个目标权重值;将待渲染对象中配置有目标权重值的区域确定为目标区域,并利用目标权重值确定目标区域对应的胶囊体法线向量;利用胶囊体法线向量计算目标区域的直接光遮蔽信息,并利用各个目标区域的直接光遮蔽信息对待渲染对象进行渲染。本公开通过利用权重信息确定待渲染对象的目标区域以及目标区域的胶囊体法线向量,并利用胶囊体法线向量计算直接光遮蔽信息,最终利用直接光遮蔽信息渲染待渲染对象,以此能够对待渲染对象中局部区域进行直接光遮蔽,提升了光照渲染的效果。光照渲染的效果。光照渲染的效果。
技术研发人员:陈晓威
受保护的技术使用者:北京字跳网络技术有限公司
技术研发日:2023.05.12
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/