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

虚拟物体显示方法、装置、电子设备及存储介质与流程

2022-03-08 22:09:56 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,尤其涉及一种虚拟物体显示方法、装置、电子设备及存储介质。


背景技术:

2.随着计算机技术的发展,在电子游戏或虚拟现实等领域通常会显示虚拟物体,为了使虚拟物体的显示效果更加自然,需要在虚拟物体表面添加贴图,以模拟虚拟物体表面被虚拟光源照射的效果。
3.在显示虚拟物体时,会先获取虚拟物体的漫反射参数,该漫反射参数可以反映虚拟物体表面的亮暗程度,确定与该漫反射参数匹配的目标贴图,将目标贴图添加到虚拟物体表面,从而显示添加目标贴图后的虚拟物体。
4.但是,上述方案仅考虑了虚拟物体的漫反射参数,漫反射参数的数据量较少,导致确定的目标贴图不够准确,进而导致虚拟物体的显示效果不佳。


技术实现要素:

5.本公开提供了一种虚拟物体显示方法、装置、电子设备及存储介质,提高了虚拟物体的显示效果。
6.根据本公开实施例的一方面,提供一种虚拟物体显示方法,所述方法包括:
7.获取虚拟物体的物体参数,所述物体参数至少包括虚拟物体表面上的多个位置点的法线向量及光照向量,所述位置点的光照向量为所述位置点的光线照射方向上的向量;
8.根据所述多个位置点的法线向量及光照向量,获取所述虚拟物体的漫反射参数及反光参数,所述漫反射参数与所述反光参数呈负相关关系;
9.确定与所述漫反射参数及所述反光参数匹配的目标贴图;
10.在所述虚拟物体表面添加所述目标贴图,显示添加所述目标贴图后的所述虚拟物体。
11.在一种可能实现方式中,所述虚拟物体的漫反射参数包括所述多个位置点的漫反射子参数,所述虚拟物体的反光参数包括所述多个位置点的反光子参数;
12.所述根据所述多个位置点的法线向量及光照向量,获取所述虚拟物体的漫反射参数及反光参数,包括:
13.对于每个位置点,根据所述位置点的法线向量及光照向量,获取所述位置点的漫反射子参数;
14.对所述漫反射子参数进行取反处理,得到所述位置点的第一反光子参数;
15.根据预先设置的第一调整参数,调整所述第一反光子参数,得到所述位置点的第二反光子参数;
16.将所述多个位置点的漫反射子参数进行组合,得到所述漫反射参数;
17.将所述多个位置点的第二反光子参数进行组合,得到所述反光参数。
18.在另一种可能实现方式中,所述根据所述位置点的法线向量及光照向量,获取所述位置点的漫反射子参数,包括:
19.将所述法线向量与所述光照向量的点积,作为第一数值;
20.将所述第一数值和0中较大的数值,确定为所述位置点的漫反射子参数。
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.在另一种可能实现方式中,所述根据所述多个位置点的法线向量、光照向量及视角向量,获取所述虚拟物体的高光参数,包括:
50.对于每个位置点,将所述位置点的视角向量与光照向量的和向量与所述位置点的法线向量的点积,作为第二数值;
51.将所述第二数值和0中较大的数值与所述光照向量的乘积,作为第一高光子参数;
52.根据预先设置的第二调整参数,调整所述第一高光子参数,得到第二高光子参数。
53.在另一种可能实现方式中,所述确定与所述漫反射参数及所述反光参数匹配的目标贴图之后,所述方法还包括:
54.将每个位置点沿着对应的法线方向延伸预设距离,在所述虚拟物体的表面外侧形成延伸区域,将参考颜色填充至所述延伸区域;
55.所述在所述虚拟物体表面添加所述目标贴图,显示添加所述目标贴图后的所述虚拟物体,包括:
56.在所述虚拟物体表面添加所述目标贴图,显示添加所述目标贴图后的所述虚拟物体及所述虚拟物体的表面外侧的延伸区域。
57.根据本公开实施例的再一方面,提供一种虚拟物体显示装置,所述装置包括:
58.第一参数获取单元,被配置为执行获取虚拟物体的物体参数,所述物体参数至少包括虚拟物体表面上的多个位置点的法线向量及光照向量,所述位置点的光照向量为所述位置点的光线照射方向上的向量;
59.第二参数获取单元,被配置为执行根据所述多个位置点的法线向量及光照向量,获取所述虚拟物体的漫反射参数及反光参数,所述漫反射参数与所述反光参数呈负相关关系;
60.目标贴图确定单元,被配置为执行确定与所述漫反射参数及所述反光参数匹配的目标贴图;
61.虚拟物体显示单元,被配置为执行在所述虚拟物体表面添加所述目标贴图,显示添加所述目标贴图后的所述虚拟物体。
62.在一种可能实现方式中,所述虚拟物体的漫反射参数包括所述多个位置点的漫反射子参数,所述虚拟物体的反光参数包括所述多个位置点的反光子参数;
63.所述第二参数获取单元,被配置为执行:
64.对于每个位置点,根据所述位置点的法线向量及光照向量,获取所述位置点的漫反射子参数;
65.对所述漫反射子参数进行取反处理,得到所述位置点的第一反光子参数;
66.根据预先设置的第一调整参数,调整所述第一反光子参数,得到所述位置点的第二反光子参数;
67.将所述多个位置点的漫反射子参数进行组合,得到所述漫反射参数;
68.将所述多个位置点的第二反光子参数进行组合,得到所述反光参数。
69.在另一种可能实现方式中,所述第二参数获取单元,被配置为执行:
70.将所述法线向量与所述光照向量的点积,作为第一数值;
71.将所述第一数值和0中较大的数值,确定为所述位置点的漫反射子参数。
72.在另一种可能实现方式中,所述虚拟物体的漫反射参数包括所述多个位置点的漫反射子参数,所述虚拟物体的反光参数包括所述多个位置点的反光子参数;所述目标贴图确定单元,包括:
73.亮度子参数获取子单元,被配置为执行根据每个位置点的漫反射子参数及反光子参数,分别获取所述每个位置点的亮度子参数;
74.权重获取子单元,被配置为执行根据所述每个位置点的亮度子参数和多个备选贴图的序号,分别获取所述多个备选贴图的权重,所述备选贴图的序号为所述多个备选贴图按照亮度从大到小依次排列之后确定的,所述备选贴图的序号表征所述备选贴图的亮度,不同备选贴图的序号不同;
75.贴图确定子单元,被配置为执行按照所述每个位置点对应的多个备选贴图的权重,确定所述目标贴图。
76.在另一种可能实现方式中,所述亮度子参数获取子单元,被配置为执行:
77.对于每个位置点,将所述位置点的漫反射子参数与反光子参数相加,得到所述位置点的第一亮度子参数;
78.将所述第一亮度子参数与所述备选贴图的数量相乘,得到所述位置点的第二亮度子参数。
79.在另一种可能实现方式中,所述权重获取子单元,被配置为执行:
80.对于每个位置点,根据所述位置点的亮度子参数与每个备选贴图的序号之间的差值,确定所述每个备选贴图的匹配参数,所述匹配参数表征所述备选贴图的亮度与所述位置点的亮度之间的匹配程度;
81.将相邻的任两个备选贴图的匹配参数之间的差值,作为所述任两个备选贴图中的第一个备选贴图的权重,且将最后一个备选贴图的匹配参数,作为所述最后一个备选贴图的权重,所述相邻的任两个备选贴图是指按照亮度从大到小依次排列的多个备选贴图中相邻的两个备选贴图。
82.在另一种可能实现方式中,所述装置还包括:
83.贴图融合单元,被配置为执行按照所述多个备选贴图的序号,依次将序号相邻的备选贴图进行融合,得到至少一个融合贴图,所述融合贴图的红色通道、绿色通道或蓝色通道中的至少一个通道对应一个备选贴图;
84.所述权重获取子单元,被配置为执行:
85.获取每个融合贴图的序号矩阵,所述融合贴图的序号矩阵包括所述融合贴图中每个备选贴图的序号;
86.获取亮度子参数矩阵,所述亮度子参数矩阵包括多个所述亮度子参数,且多个所述亮度子参数的数量等于所述融合贴图中包含的备选贴图的数量;
87.获取所述亮度子参数矩阵与所述每个融合贴图的序号矩阵之间的差值,确定匹配参数矩阵,所述匹配参数矩阵包括所述每个备选贴图的匹配参数。
88.在另一种可能实现方式中,所述权重获取子单元,被配置为执行:
89.响应于所述差值大于第一参考数值,将所述第一参考数值作为所述备选贴图的匹配参数;或者,
90.响应于所述差值小于第二参考数值,将所述第二参考数值作为所述备选贴图的匹配参数;或者,
91.响应于所述差值不大于所述第一参考数值,且不小于所述第二参考数值,将所述差值作为所述备选贴图的匹配参数。
92.在另一种可能实现方式中,所述贴图确定子单元,被配置为执行:
93.将最大的权重对应的备选贴图作为所述目标贴图;或者,
94.按照所述每个备选贴图的权重,对所述多个备选贴图进行加权融合,将融合后的贴图作为所述目标贴图。
95.在另一种可能实现方式中,所述物体参数还包括所述多个位置点的视角向量,所述位置点的视角向量为虚拟摄像机相对于所述位置点的方向上的向量;
96.所述装置还包括:
97.第三参数获取单元,被配置为执行根据所述多个位置点的法线向量、光照向量及视角向量,获取所述虚拟物体的高光参数,所述高光参数表征所述虚拟物体表面上最亮的位置点;
98.所述虚拟物体显示单元,被配置为执行在所述虚拟物体表面添加所述目标贴图,根据所述高光参数显示添加所述目标贴图后的所述虚拟物体。
99.在另一种可能实现方式中,所述第三参数获取单元,被配置为执行:
100.对于每个位置点,将所述位置点的视角向量与光照向量的和向量与所述位置点的法线向量的点积,作为第二数值;
101.将所述第二数值和0中较大的数值与所述光照向量的乘积,作为第一高光子参数;
102.根据预先设置的第二调整参数,调整所述第一高光子参数,得到第二高光子参数。
103.在另一种可能实现方式中,所述装置还包括:
104.延伸区域获取单元,被配置为执行将每个位置点沿着对应的法线方向延伸预设距离,在所述虚拟物体的表面外侧形成延伸区域,将参考颜色填充至所述延伸区域;
105.所述虚拟物体显示单元,被配置为执行在所述虚拟物体表面添加所述目标贴图,显示添加所述目标贴图后的所述虚拟物体及所述虚拟物体的表面外侧的延伸区域。
106.根据本公开实施例的再一方面,提供了一种电子设备,所述电子设备包括:
107.一个或多个处理器;
108.用于存储所述一个或多个处理器可执行命令的易失性或非易失性存储器;
109.其中,所述一个或多个处理器被配置为执行上述方面所述的虚拟物体显示方法。
110.根据本公开实施例的再一方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述方面所述的虚拟物体显示方法。
111.根据本公开实施例的再一方面,提供一种计算机程序产品,当所述计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行上述方面所述的虚拟物体显示方法。
112.本公开实施例提供的虚拟物体显示方法、装置、电子设备及存储介质,能够获取虚拟物体的漫反射参数及反光参数,由于漫反射参数及反光参数均能够反映虚拟物体的亮度,因此与仅根据漫反射参数确定匹配的贴图相比,根据漫反射参数及反光参数确定匹配的目标贴图时,还考虑了反光现象对虚拟物体显示效果的影响,增加了信息量,使确定的目标贴图能够更加准确地反映该虚拟物体的亮度,从而显示添加目标贴图后的虚拟物体时,该虚拟物体更加逼真,提高了虚拟物体的显示效果。
113.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
114.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
115.图1是根据一示例性实施例示出的一种虚拟物体显示方法的流程图。
116.图2是根据一示例性实施例示出的另一种虚拟物体显示方法的流程图。
117.图3是根据一示例性实施例示出的一种位置点的物体参数的示意图。
118.图4是根据一示例性实施例示出的一种虚拟物体的示意图。
119.图5是根据一示例性实施例示出的一种备选贴图的示意图。
120.图6是根据一示例性实施例示出的一种融合贴图的示意图。
121.图7是根据一示例性实施例示出的一种高光现象的示意图。
122.图8是根据一示例性实施例示出的一种素描图像的示意图。
123.图9是根据一示例性实施例示出的一种虚拟物体的示意图。
124.图10是根据一示例性实施例示出的一种虚拟物体显示装置的框图。
125.图11是根据一示例性实施例示出的另一种虚拟物体显示装置的框图。
126.图12是根据一示例性实施例示出的一种终端的框图。
具体实施方式
127.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
128.需要说明的是,本公开的说明书和权利要求书及上述附图说明中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
129.需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等),均为经用户授权或者经过各方充分授权的信息。
130.为了便于理解本公开实施例的技术过程,下面对本公开实施例所涉及的名词进行解释:
131.实时渲染(ealtime rendering):是一种根据图形学算法将三维数据绘制到二维图像之中,并对二维图像进行实时显示的模型渲染技术,应用于虚拟现实、游戏应用中的虚拟场景中等。
132.光照模型(illumination model):光照模型也称为明暗模型,用于描述虚拟物体位置点处在光线与视角等影响下呈现的颜色值,光照模型包括基于物理的理论模型和基于经验的经验模型。例如光照模型包括phong(镜面反射)模型、blinn-phong(修正镜面反射)模型和cook-torrance(微表面)模型等。其中,blinn-phong模型是一种高光计算模型,可进行快速实时的渲染。
133.渲染通路(pass):一个渲染通路表示一次渲染操作,在显示虚拟物体时,通过多个渲染通路对虚拟物体进行渲染显示。
134.虚拟场景:虚拟场景是应用程序在终端上运行时显示(或提供)的虚拟场景。虚拟场景用于模拟一个三维虚拟空间,该三维虚拟空间是一个开放空间,或者该虚拟场景是对现实中真实环境进行仿真的虚拟场景,或者该虚拟场景是半仿真半虚构的虚拟场景,或者该虚拟场景是完全虚构的虚拟场景,虚拟场景是二维虚拟场景、2.5维虚拟场景和三维虚拟场景中的任意一种。例如,该虚拟场景中包括河流、草丛、陆地、建筑物等。
135.图1是根据一示例性实施例示出的一种虚拟物体显示方法的流程图,参见图1,该方法应用于终端中,包括以下步骤:
136.在步骤101中,获取虚拟物体的物体参数,物体参数至少包括虚拟物体表面上的多个位置点的法线向量及光照向量,位置点的光照向量为位置点的光线照射方向上的向量。
137.在步骤102中,根据多个位置点的法线向量及光照向量,获取虚拟物体的漫反射参数及反光参数,漫反射参数与反光参数呈负相关关系。
138.在步骤103中,确定与漫反射参数及反光参数匹配的目标贴图。
139.在步骤104中,在虚拟物体表面添加目标贴图,显示添加目标贴图后的虚拟物体。
140.本公开实施例提供的方法,能够获取虚拟物体的漫反射参数及反光参数,由于漫反射参数及反光参数均能够反映虚拟物体的亮度,因此与仅根据漫反射参数确定匹配的贴图相比,根据漫反射参数及反光参数确定匹配的目标贴图时,还考虑了反光现象对虚拟物体显示效果的影响,增加了信息量,使确定的目标贴图能够更加准确地反映该虚拟物体的亮度,从而显示添加目标贴图后的虚拟物体时,该虚拟物体更加逼真,提高了虚拟物体的显示效果。
141.在一种可能实现方式中,虚拟物体的漫反射参数包括多个位置点的漫反射子参数,虚拟物体的反光参数包括多个位置点的反光子参数;
142.根据多个位置点的法线向量及光照向量,获取虚拟物体的漫反射参数及反光参数,包括:
143.对于每个位置点,根据位置点的法线向量及光照向量,获取位置点的漫反射子参数;
144.对漫反射子参数进行取反处理,得到位置点的第一反光子参数;
145.根据预先设置的第一调整参数,调整第一反光子参数,得到位置点的第二反光子参数;
146.将多个位置点的漫反射子参数进行组合,得到漫反射参数;
147.将多个位置点的第二反光子参数进行组合,得到反光参数。
148.在另一种可能实现方式中,根据位置点的法线向量及光照向量,获取位置点的漫反射子参数,包括:
149.将法线向量与光照向量的点积,作为第一数值;
150.将第一数值和0中较大的数值,确定为位置点的漫反射子参数。
151.在另一种可能实现方式中,虚拟物体的漫反射参数包括多个位置点的漫反射子参数,虚拟物体的反光参数包括多个位置点的反光子参数;确定与漫反射参数及反光参数匹配的目标贴图,包括:
152.根据每个位置点的漫反射子参数及反光子参数,分别获取每个位置点的亮度子参数;
153.根据每个位置点的亮度子参数和多个备选贴图的序号,分别获取多个备选贴图的权重,备选贴图的序号为多个备选贴图按照亮度从大到小依次排列之后确定的,备选贴图的序号表征备选贴图的亮度,不同备选贴图的序号不同;
154.按照每个位置点对应的多个备选贴图的权重,确定目标贴图。
155.在另一种可能实现方式中,根据每个位置点的漫反射子参数及反光子参数,分别获取每个位置点的亮度子参数,包括:
156.对于每个位置点,将位置点的漫反射子参数与反光子参数相加,得到位置点的第一亮度子参数;
157.将第一亮度子参数与备选贴图的数量相乘,得到位置点的第二亮度子参数。
158.在另一种可能实现方式中,根据每个位置点的亮度子参数和多个备选贴图的序号,分别获取多个备选贴图的权重,包括:
159.对于每个位置点,根据位置点的亮度子参数与每个备选贴图的序号之间的差值,确定每个备选贴图的匹配参数,匹配参数表征备选贴图的亮度与位置点的亮度之间的匹配程度;
160.将相邻的任两个备选贴图的匹配参数之间的差值,作为任两个备选贴图中的第一个备选贴图的权重,且将最后一个备选贴图的匹配参数,作为最后一个备选贴图的权重,相邻的任两个备选贴图是指按照亮度从大到小依次排列的多个备选贴图中相邻的两个备选贴图。
161.在另一种可能实现方式中,方法还包括:
162.按照多个备选贴图的序号,依次将序号相邻的备选贴图进行融合,得到至少一个融合贴图,融合贴图的红色通道、绿色通道或蓝色通道中的至少一个通道对应一个备选贴图;
163.根据位置点的亮度子参数与每个备选贴图的序号之间的差值,确定每个备选贴图的匹配参数,包括:
164.获取每个融合贴图的序号矩阵,融合贴图的序号矩阵包括融合贴图中每个备选贴图的序号;
165.获取亮度子参数矩阵,亮度子参数矩阵包括多个亮度子参数,且多个亮度子参数的数量等于融合贴图中包含的备选贴图的数量;
166.获取亮度子参数矩阵与每个融合贴图的序号矩阵之间的差值,确定匹配参数矩阵,匹配参数矩阵包括每个备选贴图的匹配参数。
167.在另一种可能实现方式中,根据位置点的亮度子参数与备选贴图的序号的差值,确定备选贴图的匹配参数,包括:
168.响应于差值大于第一参考数值,将第一参考数值作为备选贴图的匹配参数;或者,
169.响应于差值小于第二参考数值,将第二参考数值作为备选贴图的匹配参数;或者,
170.响应于差值不大于第一参考数值,且不小于第二参考数值,将差值作为备选贴图的匹配参数。
171.在另一种可能实现方式中,按照每个备选贴图对应的权重,确定目标贴图,包括:
172.将最大的权重对应的备选贴图作为目标贴图;或者,
173.按照每个备选贴图的权重,对多个备选贴图进行加权融合,将融合后的贴图作为目标贴图。
174.在另一种可能实现方式中,物体参数还包括多个位置点的视角向量,位置点的视角向量为虚拟摄像机相对于位置点的方向上的向量;
175.在虚拟物体表面添加目标贴图,显示添加目标贴图后的虚拟物体之前,方法还包括:
176.根据多个位置点的法线向量、光照向量及视角向量,获取虚拟物体的高光参数,高光参数表征虚拟物体表面上最亮的位置点;
177.在虚拟物体表面添加目标贴图,显示添加目标贴图后的虚拟物体,包括:
178.在虚拟物体表面添加目标贴图,根据高光参数显示添加目标贴图后的虚拟物体。
179.在另一种可能实现方式中,根据多个位置点的法线向量、光照向量及视角向量,获取虚拟物体的高光参数,包括:
180.对于每个位置点,将位置点的视角向量与光照向量的和向量与位置点的法线向量的点积,作为第二数值;
181.将第二数值和0中较大的数值与光照向量的乘积,作为第一高光子参数;
182.根据预先设置的第二调整参数,调整第一高光子参数,得到第二高光子参数。
183.在另一种可能实现方式中,确定与漫反射参数及反光参数匹配的目标贴图之后,方法还包括:
184.将每个位置点沿着对应的法线方向延伸预设距离,在虚拟物体的表面外侧形成延伸区域,将参考颜色填充至延伸区域;
185.在虚拟物体表面添加目标贴图,显示添加目标贴图后的虚拟物体,包括:
186.在虚拟物体表面添加目标贴图,显示添加目标贴图后的虚拟物体及虚拟物体的表面外侧的延伸区域。
187.本公开实施例提供的虚拟物体显示方法能够应用于多种场景下。
188.例如,应用于游戏场景下。
189.在游戏应用中会创建虚拟场景,虚拟场景中设置有虚拟光源,在虚拟场景中显示虚拟物体时,需要考虑在虚拟光源的照射对虚拟物体的影响,采用本技术实施例提供的方法显示虚拟物体,能够考虑在虚拟光源照射下虚拟物体表面产生的漫反射效果和反光效果,使得显示的虚拟物体更加真实,从而提高了虚拟物体的显示效果。
190.又例如,应用于虚拟现实场景下。
191.用户能够使用终端的摄像头拍摄实际场景的画面,并在该画面中添加虚拟物体,在添加虚拟物体时,需要考虑虚拟光源的照射对虚拟物体的影响,采用本技术实施例提供的方法显示虚拟物体,能够考虑在光源照射下虚拟物体表面产生的漫反射效果和反光效果,从而提高了虚拟物体的显示效果。
192.图2是根据一示例性实施例示出的另一种虚拟物体显示方法的流程图,参见图2,该方法应用于终端中,该终端为便携式、袖珍式、手持式等多种类型的终端,如手机、计算机、平板电脑等,该方法包括以下步骤:
193.201、终端获取虚拟物体的物体参数。
194.本公开实施例中,为了使虚拟物体的显示效果更加自然,在虚拟物体表面添加贴图,在选择贴图时,考虑虚拟物体在光源照射下虚拟物体表面的亮度,以选择亮度与虚拟物体表面的亮度匹配的贴图,将贴图添加至虚拟物体表面上,以模拟出虚拟物体表面在光源照射下的效果,提高虚拟物体的显示效果。
195.虚拟物体是指虚拟场景中设置的物体,可选地,该虚拟物体为人物、动物、植物等动态物体,或者为桌、椅等静态物体。虚拟物体的物体参数为在虚拟场景中显示虚拟物体时所需的参数,根据虚拟物体的物体参数,能够确定虚拟物体在虚拟光源照射下的产生的各项参数,该各项参数用于描述虚拟物体在虚拟光源照射下显示效果应该满足的条件。后续即可根据各项参数选择对应的贴图,以使选择的贴图添加至虚拟物体表面时达到的显示效果满足条件。
196.在一种可能实现方式中,由于虚拟物体表面包括多个位置点,每个位置点有对应的物体参数,则虚拟物体的物体参数包括多个位置点处的法线向量及光照向量。其中,任一位置点处的法线向量为该位置点的法线方向上的向量,即与该位置点所在的虚拟物体表面
垂直的方向上的向量,任一位置点处的光照向量为该位置点的光线照射方向上的向量。
197.例如,参见图3所示的位置点示意图,位置点a为球体表面上的一个位置点,向量n为该位置点a处的法线向量,向量l为该位置点a处的光照向量。
198.202、终端根据多个位置点的法线向量及光照向量,获取虚拟物体的漫反射参数及反光参数。
199.本公开实施例中,由于在光源的照射下,物体表面会产生漫反射现象以及反光现象,因此为了使虚拟物体的显示效果更加逼真,获取虚拟物体表面的漫反射参数及反光参数,漫反射参数用于描述虚拟物体在虚拟光源照射下应该满足的漫反射条件,反光参数用于描述虚拟物体在虚拟光源照射下应该满足的反光条件,以根据该漫反射参数及反光参数显示虚拟物体。
200.由于虚拟物体在虚拟场景中除了受到虚拟光源的照射之外,还会受到虚拟场景中其他虚拟物体的反射光的照射,其他虚拟物体的反射光的照射会对虚拟物体表面上较暗的部位产生影响,即虚拟物体表面上较暗的部位在受到其他虚拟物体的反射光的照射时,亮度会提高一些。即虚拟物体受到虚拟光源照射时产生的漫反射参数越小,虚拟物体表面越暗,此时再受到其他虚拟物体的反射光的照射时,该反射光对虚拟物体表面上的亮度的影响较大,产生的反光参数越大,因此,虚拟物体的漫反射参数与反光参数呈负相关关系。
201.也就是说,虚拟物体的漫反射参数与反光参数受到光照强度的影响,光照强度越大,虚拟物体表面越亮,漫反射参数越大,受到反射光的影响越小,反光参数越小;光照强度越小,虚拟物体表面越暗,漫反射参数越小,受到反射光的影响越大,反光参数越大。
202.虚拟物体的漫反射参数包括虚拟物体表面上多个位置点的漫反射子参数,虚拟物体的反光参数包括虚拟物体表面上多个位置点的反光子参数。由于虚拟物体表面上包括多个位置点,获取虚拟物体的漫反射参数及反光参数时,需要分别获取每个位置点的漫反射子参数及反光子参数,将多个位置点的漫反射子参数进行组合,得到虚拟物体的漫反射参数,将多个位置点的反光子参数进行组合,得到虚拟物体的反光参数。例如,虚拟物体的漫反射参数为矩阵,则每个位置点的漫反射子参数为矩阵中的每个元素。
203.本公开实施例以获取任一位置点的漫反射子参数及反光子参数为例进行说明。
204.在一种可能实现方式中,由于漫反射现象是指光线照射到粗糙的物体表面,物体表面每个位置点处的法线方向不一致,导致光线向不同的方向反射的现象,因此终端根据位置点的法线向量及光照向量,获取该位置点的漫反射子参数。
205.可选地,终端采用(0,1)表示虚拟物体表面上位置点的亮度,0表示最亮,1表示最暗。由于两个向量的点积存在小于0的情况,因此终端将法线向量与光照向量的点积,作为第一数值,将该第一数值和0中较大的数值,确定为该位置点的漫反射子参数。即如果点积小于0,将0作为漫反射子参数,如果点积不小于0,将第一数值作为漫反射子参数。
206.例如,采用下述公式,获取位置点的漫反射子参数:
207.d=max(0,dot(n,l));
208.其中,d表示位置点的漫反射子参数,n表示位置点的法线向量,l表示位置点的光照向量,dot(n,l)表示求取n与l的点积。
209.由于虚拟物体表面的亮度不仅受到虚拟光源的影响,还受到其他虚拟物体的反射光的影响,因此,终端还需要获取每个位置点的反光子参数。
210.在一种可能实现方式中,终端对漫反射子参数进行取反处理,得到该位置点的第一反光子参数,根据预先设置的第一调整参数,调整第一反光子参数,得到该位置点的第二反光子参数,该第二反光子参数表示该位置点受到其他虚拟物体的反射光照射时的亮度。
211.其中,对漫反射子参数进行取反处理是为了确定位置点处受到其他虚拟物体的反射光的照射时,对该位置点的亮度的影响。可选地,1表示最亮,0表示最暗,取反处理是将1与漫反射子参数相减。例如,位置点的漫反射子参数为0,则该位置点的亮度最低,即最暗,那么对0进行取反处理,得到第一反光子参数1,1表示该位置点受到其他虚拟物体的反射光照射时亮度会提高较多。
212.如果将取反处理得到的第一反光子参数作为位置点的反光子参数,那么对漫反射子参数和反光子参数相加之后,得到的值为0,位置点对光线没有反射效果,因此根据第一调整参数对第一反光子参数进行调整,得到调整后的第二反光子参数,以便采用漫反射子参数和调整后的第二反光子参数相加之后的参数来准确反映位置点的亮度。其中,第一调整参数用于表示反射光对虚拟物体的影响程度,根据其他虚拟物体的反射光的强度进行设置,如果其他虚拟物体的反射光较强,即其他虚拟物体的反射光对该虚拟物体的影响较大,则第一调整参数为一个较大的参数,如果其他虚拟物体的反射光较弱,即其他虚拟物体的反射光对该虚拟物体的影响较小,则第一调整参数为一个较小的参数,该第一调整参数大于0小于1。
213.例如,参见图4所示的虚拟物体,在虚拟光源位于右上方的情况下,图4中左图的虚拟物体在虚拟光源照射下,右侧较亮,左下角较暗,但是其他虚拟物体的反射光线的照射在虚拟物体中产生的亮度与虚拟光源的照射产生的亮度相反,如图4中右图的虚拟物体,右侧较暗,左下角较亮。
214.203、终端确定与漫反射参数及反光参数匹配的目标贴图。
215.本公开实施例中,由于终端在显示虚拟物体时,需要在虚拟物体表面上添加贴图,用户看到的虚拟物体是添加贴图后的虚拟物体。但是贴图的选择对虚拟物体显示的效果有较大的影响,例如,虚拟物体的某一位置点没有光线照射,那么,该位置点较暗,需要的贴图应该是较暗的贴图,如果采用较亮的贴图会导致该位置点的显示效果与实际情况不相符,显示效果会较差。由于漫反射参数及反光参数均是用于表示虚拟物体表面的亮度,因此,根据漫反射参数及反光参数确定匹配的目标贴图,以使将目标贴图添加至虚拟物体表面后呈现出较好的显示效果。
216.在一种可能实现方式中,终端在确定与漫反射参数及反光参数匹配的目标贴图之前,需要先获取多个备选贴图,由于虚拟物体在显示时,在虚拟光源照射下,虚拟物体的不同部分的亮度不同,因此该多个备选贴图的亮度也不同,以使该多个备选贴图能够满足虚拟物体显示的不同亮度的要求。
217.将该多个备选贴图按照亮度从大到小依次排序之后,确定每个备选贴图的序号,其中,备选贴图的序号表征备选贴图的亮度,不同备选贴图的序号不同,即不同备选贴图的亮度不同,序号越小表示备选贴图的亮度越亮,序号越大表示备选贴图的亮度越暗。其中,目标贴图为该多个备选贴图中的任一备选贴图,或者为多个备选贴图融合之后的贴图。
218.本公开实施例是为了根据虚拟物体表面上位置点的亮度,获取能够反映该位置点的亮度的贴图,以使将贴图添加至虚拟物体后,虚拟物体的显示效果与实际的显示效果相
符合。
219.在一种可能实现方式中,素描图像由线条构成,若要在虚拟物体的图像中显示出素描效果,则获取的备选贴图为线条图,备选贴图中线条的分布越稀疏,则备选贴图越亮,备选贴图中线条的分布越紧密,则备选贴图越暗。例如,参见图5所示的备选贴图,从左至右,这6个备选贴图的亮度依次降低,第一个备选贴图的序号为0,第二个备选贴图的序号为1,直至最后一个贴图的序号为5。
220.另外,备选贴图的数量越多,对亮度的划分越精细,终端能够选择的备选贴图越多,显示效果越好。
221.在另一种可能实现方式中,如果虚拟物体显示的是除素描效果以外的其他效果,那么根据其他效果获取相应类型的贴图。例如,为了模拟点阵的效果,则备选贴图为由多个点构成。
222.在一种可能实现方式中,终端确定与漫反射参数及反光参数匹配的目标贴图,包括:终端根据每个位置点的漫反射子参数及反光子参数,分别获取每个位置点的亮度子参数;根据每个位置点的亮度子参数和多个备选贴图的序号,分别获取多个备选贴图的权重;按照每个位置点对应的多个备选贴图的权重,确定目标贴图。
223.在确定虚拟物体的目标贴图时,由于虚拟物体中包括多个位置点,且每个位置点受到的光照不同,即每个位置点的亮度不同,因此,为了使虚拟物体的目标贴图更加符合实际的光照,需要分别确定每个位置点对应的目标贴图,将每个位置点对应的目标贴图组合在一起,得到虚拟物体的目标贴图。
224.其中,漫反射子参数及反光子参数均用于反映位置点对应的亮度,如果仅根据漫反射子参数获取亮度子参数,那么显示的虚拟物体中体现不出虚拟物体的反光效果,导致显示的虚拟物体与实际情况不相符,显示效果较差,因此根据漫反射子参数及反光子参数,获取该位置点的亮度子参数,以使得到的亮度子参数能够更加准确地反映该位置点的亮度。
225.在一种可能实现方式中,终端根据每个位置点的漫反射子参数及反光子参数,分别获取每个位置点的亮度子参数,包括:终端对于每个位置点,将该位置点的漫反射子参数与反光子参数相加,得到位置点的第一亮度子参数;将第一亮度子参数与备选贴图的数量相乘,得到该位置点的第二亮度子参数,将该第二亮度子参数作为该位置点的亮度子参数。
226.在一种可能实现方式中,终端根据每个位置点的亮度子参数和多个备选贴图的序号,分别获取多个备选贴图的权重,包括:终端对于每个位置点,根据该位置点的亮度子参数与每个备选贴图的序号之间的差值,确定每个备选贴图的匹配参数;将相邻的任两个备选贴图的匹配参数之间的差值,作为该任两个备选贴图中的第一个备选贴图的权重,且将最后一个备选贴图的匹配参数,作为最后一个备选贴图的权重。其中,匹配参数表征备选贴图的亮度与位置点的亮度之间的匹配程度,相邻的任两个备选贴图是指按照亮度依次排列的多个备选贴图中相邻的两个备选贴图。
227.如果备选贴图的序号较小,该亮度子参数与备选贴图的序号之间的差值较大,如果备选贴图的序号较小,该亮度子参数与备选贴图的序号之间的差值较小,而匹配参数的取值范围是固定的,因此,响应于差值大于第一参考数据,将第一参考数值作为备选贴图的匹配参数;响应于差值小于第二参考数值,将第二参考数值作为备选贴图的匹配参数;响应
于差值不大于第一参考数值,且不小于第二参考数值,将差值作为备选贴图的匹配参数。其中,第一参考数值大于第二参考数值。
228.例如,有6个备选贴图,这六个备选贴图从亮到暗的序号依次为0、1、2、3、4和5,漫反射子参数与反光子参数相加为0.75,亮度子参数为4.5,则亮度子参数与六个备选贴图的序号之间的差值依次为4.5、3.5、2.5、1.5、0.5和-0.5,第一参考数值为1,第二参考数值为0,则得到六个备选贴图的匹配参数依次为1、1、1、1、0.5和0,从而得到六个备选贴图的权重依次为0、0、0、0.5、0.5和0。
229.在另一种可能实现方式中,如果对每个备选图像单独进行存储,则每个备选图像占用一个存储空间,总共需要占用加大的存储空间,则对多个备选图像进行融合,以减少需要存储的图像的数量,节省存储空间。因此,终端按照多个备选贴图的序号,依次将序号相邻的备选贴图进行融合,得到至少一个融合贴图。其中,融合贴图的红色通道、绿色通道或蓝色通道中的至少一个通道对应一个备选贴图,序号相邻的备选贴图是指序号相邻的两个或三个备选贴图。
230.例如,参见图5,有六个备选贴图,这六个备选贴图的序号依次为0、1、2、3、4和5,将序号相邻的三个备选贴图进行融合,参见图6,将序号为0、1和2的备选贴图进行融合,得到图6左边的融合贴图,该融合贴图的红色通道对应序号为0的备选贴图,绿色通道对应序号为1的备选贴图,蓝色通道对应序号为2的备选贴图,将序号为3、4和5的备选贴图进行融合,得到图6右边的融合贴图,该融合贴图的红色通道对应序号为3的备选贴图,绿色通道对应序号为4的贴图,蓝色通道对应序号为5的备选贴图。
231.那么,终端根据位置点的亮度子参数与每个备选贴图的序号之间的差值,确定每个备选贴图的匹配参数,包括:终端获取每个融合贴图的序号矩阵;获取亮度子参数矩阵;获取亮度子参数矩阵与每个融合贴图的序号矩阵之间的差值,确定匹配参数矩阵。其中,融合贴图的序号矩阵包括融合贴图中每个备选贴图的序号。
232.例如,融合贴图中包括三个备选贴图,每个备选贴图的序号依次为0、1和2,则序号矩阵为(0,1,2);亮度子参数矩阵包括多个亮度子参数,且多个亮度子参数的数量等于融合贴图中包含的备选贴图的数量,例如,亮度子参数为4.5,融合贴图中包括三个备选贴图,则亮度子参数矩阵为(4.5,4.5,4.5);匹配参数矩阵包括每个备选贴图的匹配参数,例如,亮度子参数矩阵为(4.5,4.5,4.5)与序号矩阵为(0,1,2)的差值为(4.5,3.5,2.5),则匹配参数矩阵为(1,1,1)。
233.终端得到每个融合贴图对应的匹配参数矩阵之后,将相邻的任两个备选贴图的匹配参数之间的差值,作为该任两个备选贴图中的第一个备选贴图的权重,且将最后一个备选贴图的匹配参数,作为最后一个备选贴图的权重。
234.例如,采用下述公式,获取每个备选贴图的权重:
235.weights=saturate((intensity*m)-(a1,a2,a3));
236.其中,weights表示融合贴图的匹配参数矩阵,intensity表示位置点的亮度子参数,m表示备选贴图的数量,a表示备选贴图的序号,saturate(
·
)表示将得到的每个匹配参数限制在0和1之间,即如果intensity*m-a1大于1,则intensity*m-a1的结果为1,如果intensity*m-a1小于0,则intensity*m-a1的结果为0。
237.上述采用亮度子参数矩阵和序号矩阵确定匹配参数矩阵的过程中,进行一次计算
即可得到两个或三个备选贴图的匹配参数,与分别计算每个备选贴图的匹配参数相比较,减小了计算量,提高了获取权重的速度。
238.另外,在对多个备选贴图进行融合时,如果备选贴图的数量为3的倍数,则将相邻的三个备选贴图融合为一个融合贴图;如果备选贴图的数量不是3的倍数,且剩余一个备选贴图时,直接将剩余的一个备选贴图作为一个融合贴图;如果备选贴图的数量不是3的倍数,且剩余两个备选贴图时,将剩余的两个备选贴图进行融合。
239.在一种可能实现方式中,终端按照每个备选贴图对应的权重,确定目标贴图,包括:终端将最大的权重对应的备选贴图作为目标贴图;或者,终端按照每个备选贴图的权重,对多个备选贴图进行加权融合,将融合后的贴图作为目标贴图。
240.204、终端根据多个位置点的法线向量、光照向量及视角向量,获取虚拟物体的高光参数。
241.可选地,物体参数还包括视角向量,位置点的视角向量为虚拟摄像机相对于位置点的方向上的向量。在虚拟场景中设置虚拟摄像机,虚拟摄像机对虚拟物体所在的场景进行拍摄得到的画面,即为终端显示的包括虚拟物体的画面。虚拟光源照射到虚拟物体表面的位置点后,如果该位置点直接将光线反射至虚拟摄像机所处的位置,既虚拟摄像机直接拍摄该位置点,那么此时该位置点即为最亮的位置点。
242.例如,参见图3所示的位置点的示意图,向量h为位置点a处的视角向量。
243.本公开实施例以获取一个位置点的高光子参数为例进行说明。高光参数表征虚拟物体表面上最亮的位置点。因此,根据位置点的法线向量、光照向量及视角向量,获取虚拟物体的高光参数。
244.在一种可能实现方式中,终端将位置点的视角向量与光照向量的和向量与位置点的法线向量的点积,作为第二数值;将第二数值和0中较大的数值与光照向量的乘积,作为第一高光子参数;根据预先设置的第二调整参数,调整第一高光子参数,得到第二高光子参数,将第二高光子参数作为位置点的高光子参数。其中,和向量为视角向量与光照向量相加得到的半角向量。
245.当高光子参数大于某一参考数值时,表示该高光子参数对应的位置点是最亮的位置点,后续现在虚拟物体时,该位置点最亮;当高光子参数小于某一预设参数时,表示该高光子参数对应的位置点不是最亮的位置点,后续在显示虚拟物体时,按照该位置点的目标贴图进行显示即可。例如,参见图7所示的虚拟物体,该虚拟物体的左上角的白色区域,该白色区域为虚拟物体中最亮的区域,该白色区域中包括高光参数指示的多个位置点。
246.其中,第二调整参数为任一大于0小于1的数值,例如,为0.1、0.2等数值。该第二调整参数越小,得到的高光子参数越小,相应的,虚拟物体中显示的高光范围越小;该第二调节参数越大,得到的高光子参数越大,相应的,虚拟物体中显示的高光范围越大。
247.例如,参见下述公式,获取位置点的高光子参数:
248.g=i*max(0,dot(n,h));
249.其中,g表示高光参数,i表示视角向量,n表示法线向量,h表示光照向量,dot(n,h)表示求取n与h的点积。
250.205、终端在虚拟物体表面添加目标贴图,根据高光参数显示添加目标贴图后的虚拟物体。
251.本公开实施例中,终端确定每个位置点的目标贴图之后,在虚拟物体表面的每个位置点添加对应的目标贴图,显示添加目标贴图后的虚拟物体,该目标贴图反映了虚拟物体表面上每个位置点的亮度,用户看到的虚拟物体更加符合现实中的物体。可选地,任两个位置点的目标贴图相同或者不同。
252.终端获取虚拟物体的高光参数之后,在显示的虚拟物体中添加高光效果,使虚拟物体的高光参数指示的位置点最亮,使用户能够看出虚拟物体中的高光部分。
253.以素描图像为例,参见图8所示的手绘的素描图像,素描图像中绘制的物体有反光和高光,本公开实施例就是为了使虚拟物体模拟出素描图像的显示效果。参见图9中左图所示的虚拟物体,该虚拟物体表面添加的贴图仅是根据漫反射参数确定的,该虚拟物体虽然在一定程度上模拟了素描图像的显示效果,但是,能够明显看出该虚拟物体中没有反光和高光。参见图9中右图所示的虚拟物体,该虚拟物体表面添加的贴图是根据漫反射参数及反光参数确定的,与左图的虚拟物体相比较,左图的虚拟物体的左下角,能够明显看出存在反光,且该右侧的虚拟物体的右上角有明显的高光,该右侧的虚拟物体模拟出了素描图像的显示效果。
254.另外,在一种可能实现方式中,对虚拟物体进行描边处理,即将每个位置点沿着对应的法线方向延伸预设距离,在虚拟物体的表面外侧形成延伸区域,该延伸区域即为虚拟物体的表面外侧显示的边缘,将参考颜色填充至延伸区域,填充的参考颜色即为虚拟物体显示时表面外侧的颜色。终端显示虚拟物体时,在虚拟物体表面添加目标贴图,显示添加目标贴图后的虚拟物体及虚拟物体的表面外侧的延伸区域,从而实现了将虚拟物体向外延伸的显示效果。
255.在一种可能实现方式中,终端获取虚拟物体的高光参数及延伸区域后,在虚拟物体表面添加目标贴图,显示虚拟物体的表面外侧的延伸区域,按照高光参数显示添加目标贴图后的虚拟物体及虚拟物体的表面外侧的延伸区域。
256.另外,对于呈现出素描效果的虚拟物体来说,为了使虚拟场景中的三维虚拟物体能够显示出二维的素描效果,在三维虚拟物体的表面上添加不同亮度的贴图,以使添加贴图后的三维虚拟物体显示出二维的素描效果,用户能够旋转三维虚拟物体,从多个角度查看虚拟物体,避免了从多个角度绘制二维虚拟物体。
257.需要说明的是,本公开实施例仅是以分别根据每个位置点的物体参数,获取该位置点对应的目标贴图,分别将多个位置点的目标贴图添加至虚拟物体表面为例进行说明,在另一实施例中,将多个位置点的物体参数作为一个整体,根据该多个位置点的物体参数,获取虚拟物体对应的目标贴图,将该目标贴图添加至虚拟物体表面。
258.本公开实施例提供的方法,能够获取虚拟物体的漫反射参数及反光参数,由于漫反射参数及反光参数均能够反映虚拟物体的亮度,因此与仅根据漫反射参数确定匹配的贴图相比,根据漫反射参数及反光参数确定匹配的目标贴图时,还考虑了反光现象对虚拟物体显示效果的影响,增加了信息量,使确定的目标贴图能够更加准确地反映该虚拟物体的亮度,从而显示添加目标贴图后的虚拟物体时,该虚拟物体更加逼真,提高了虚拟物体的显示效果。
259.并且,本公开实施例中,还会获取虚拟物体表面上多个位置点的视角向量,然后根据该多个位置点的法线向量、光照向量及视角向量,获取虚拟物体的高光参数,由于高光参
数能够指示虚拟物体中最亮的位置点,在显示添加目标贴图后的虚拟物体时,考虑高光对虚拟物体显示效果的影响,使虚拟物体更加逼真,进一步提高了虚拟物体的显示效果。
260.并且,本公开实施例中,设置有第一调整参数,以调整每个位置点的反光子参数,设置有第二调整参数,以调整每个位置点的高光子参数,由于第一调整参数和第二调整参数是由技术人员设置的,该第一调整参数和第二调整参数的大小能够调整,因此,灵活调整反光子参数和高光子参数,提高了灵活性,从而能够更加方便地调整虚拟物体的亮度,对显示效果进行调整。
261.并且,本公开实施例中,对序号相邻的备选贴图进行融合,得到融合贴图,不需要分别对每个备选贴图单独进行存储,直接存储融合贴图即可,减少了需要存储的备选贴图的数量,节省了存储空间,提高了设备的运行效率。
262.并且,采用亮度子参数矩阵和序号矩阵确定匹配参数矩阵的过程中,进行一次计算即可得到两个或三个备选贴图的匹配参数,与分别计算每个备选贴图的匹配参数相比较,减小了计算量,提高了获取权重的速度。
263.图10是根据一示例性实施例示出的一种虚拟物体显示装置的框图。参见图10,该装置包括:
264.第一参数获取单元1001,被配置为执行获取虚拟物体的物体参数,物体参数至少包括虚拟物体表面上的多个位置点的法线向量及光照向量,位置点的光照向量为位置点的光线照射方向上的向量;
265.第二参数获取单元1002,被配置为执行根据多个位置点的法线向量及光照向量,获取虚拟物体的漫反射参数及反光参数,漫反射参数与反光参数呈负相关关系;
266.目标贴图确定单元1003,被配置为执行确定与漫反射参数及反光参数匹配的目标贴图;
267.虚拟物体显示单元1004,被配置为执行在虚拟物体表面添加目标贴图,显示添加目标贴图后的虚拟物体。
268.本公开实施例提供的装置,能够获取虚拟物体的漫反射参数及反光参数,由于漫反射参数及反光参数均能够反映虚拟物体的亮度,因此与仅根据漫反射参数确定匹配的贴图相比,根据漫反射参数及反光参数确定匹配的目标贴图时,还考虑了反光现象对虚拟物体显示效果的影响,增加了信息量,使确定的目标贴图能够更加准确地反映该虚拟物体的亮度,从而显示添加目标贴图后的虚拟物体时,该虚拟物体更加逼真,提高了虚拟物体的显示效果。
269.在一种可能实现方式中,虚拟物体的漫反射参数包括多个位置点的漫反射子参数,虚拟物体的反光参数包括多个位置点的反光子参数;第二参数获取单元1002,被配置为执行:
270.对于每个位置点,根据位置点的法线向量及光照向量,获取位置点的漫反射子参数;
271.对漫反射子参数进行取反处理,得到位置点的第一反光子参数;
272.根据预先设置的第一调整参数,调整第一反光子参数,得到位置点的第二反光子参数;
273.将多个位置点的漫反射子参数进行组合,得到漫反射参数;
274.将多个位置点的第二反光子参数进行组合,得到反光参数。
275.在另一种可能实现方式中,第二参数获取单元1002,被配置为执行:
276.将法线向量与光照向量的点积,作为第一数值;
277.将第一数值和0中较大的数值,确定为位置点的漫反射子参数。
278.在另一种可能实现方式中,虚拟物体的漫反射参数包括多个位置点的漫反射子参数,虚拟物体的反光参数包括多个位置点的反光子参数;参见图11,目标贴图确定单元1003,包括:
279.亮度子参数获取子单元1013,被配置为执行根据每个位置点的漫反射子参数及反光子参数,分别获取每个位置点的亮度子参数;
280.权重获取子单元1023,被配置为执行根据每个位置点的亮度子参数和多个备选贴图的序号,分别获取多个备选贴图的权重,备选贴图的序号为多个备选贴图按照亮度从大到小依次排列之后确定的,备选贴图的序号表征备选贴图的亮度,不同备选贴图的序号不同;
281.贴图确定子单元1033,被配置为执行按照每个位置点对应的多个备选贴图的权重,确定目标贴图。
282.在另一种可能实现方式中,参加图11,亮度子参数获取子单元1013,被配置为执行:
283.对于每个位置点,将位置点的漫反射子参数与反光子参数相加,得到位置点的第一亮度子参数;
284.将第一亮度子参数与备选贴图的数量相乘,得到位置点的第二亮度子参数。
285.在另一种可能实现方式中,参见图11,权重获取子单元1023,被配置为执行:
286.对于每个位置点,根据位置点的亮度子参数与每个备选贴图的序号之间的差值,确定每个备选贴图的匹配参数,匹配参数表征备选贴图的亮度与位置点的亮度之间的匹配程度;
287.将相邻的任两个备选贴图的匹配参数之间的差值,作为任两个备选贴图中的第一个备选贴图的权重,且将最后一个备选贴图的匹配参数,作为最后一个备选贴图的权重,相邻的任两个备选贴图是指按照亮度从大到小依次排列的多个备选贴图中相邻的两个备选贴图。
288.在另一种可能实现方式中,参见图11,该装置还包括:
289.贴图融合单元1005,被配置为执行按照多个备选贴图的序号,依次将序号相邻的备选贴图进行融合,得到至少一个融合贴图,融合贴图的红色通道、绿色通道或蓝色通道中的至少一个通道对应一个备选贴图;
290.权重获取子单元1023,被配置为执行:
291.获取每个融合贴图的序号矩阵,融合贴图的序号矩阵包括融合贴图中每个备选贴图的序号;
292.获取亮度子参数矩阵,亮度子参数矩阵包括多个亮度子参数,且多个亮度子参数的数量等于融合贴图中包含的备选贴图的数量;
293.获取亮度子参数矩阵与每个融合贴图的序号矩阵之间的差值,确定匹配参数矩阵,匹配参数矩阵包括每个备选贴图的匹配参数。
unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
315.存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1201所执行以实现本技术中方法实施例提供的虚拟物体显示方法。
316.在一些实施例中,终端1200还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频电路1204、显示屏1205、摄像头组件1206、音频电路1207、定位组件1208和电源1209中的至少一种。
317.外围设备接口1203可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和外围设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和外围设备接口1203中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
318.射频电路1204用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1204包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1204可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路1204还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
319.显示屏1205用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1205是触摸显示屏时,显示屏1205还具有采集在显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1201进行处理。此时,显示屏1205还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1205可以为一个,设置在终端1200的前面板;在另一些实施例中,显示屏1205可以为至少两个,分别设置在终端1200的不同表面或呈折叠设计;在另一些实施例中,显示屏1205可以是柔性显示屏,设置在终端1200的弯曲表面上或折叠面上。甚至,显示屏1205还可以设置成非矩形的不规则图形,也即异形屏。显示屏1205可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
320.摄像头组件1206用于采集图像或视频。可选地,摄像头组件1206包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1206还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
321.音频电路1207可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1200的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还可以包括耳机插孔。
322.定位组件1208用于定位终端1200的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件1208可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
323.电源1209用于为终端1200中的各个组件进行供电。电源1209可以是交流电、直流电、一次性电池或可充电电池。当电源1209包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
324.在一些实施例中,终端1200还包括有一个或多个传感器1210。该一个或多个传感器1210包括但不限于:加速度传感器1211、陀螺仪传感器1212、压力传感器1213、指纹传感器1214、光学传感器1215以及接近传感器1216。
325.加速度传感器1211可以检测以终端1200建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1211可以用于检测重力加速度在三个坐标轴上的分量。处理器1201可以根据加速度传感器1211采集的重力加速度信号,控制显示屏1205以横向视图或纵向视图进行用户界面的显示。加速度传感器1211还可以用于游戏或者用户的运动数据的采集。
326.陀螺仪传感器1212可以检测终端1200的机体方向及转动角度,陀螺仪传感器1212可以与加速度传感器1211协同采集用户对终端1200的3d动作。处理器1201根据陀螺仪传感器1212采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
327.压力传感器1213可以设置在终端1200的侧边框和/或显示屏1205的下层。当压力传感器1213设置在终端1200的侧边框时,可以检测用户对终端1200的握持信号,由处理器1201根据压力传感器1213采集的握持信号进行左右手识别或快捷操作。当压力传感器1213
设置在显示屏1205的下层时,由处理器1201根据用户对显示屏1205的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
328.指纹传感器1214用于采集用户的指纹,由处理器1201根据指纹传感器1214采集到的指纹识别用户的身份,或者,由指纹传感器1214根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1201授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1214可以被设置在终端1200的正面、背面或侧面。当终端1200上设置有物理按键或厂商logo时,指纹传感器1214可以与物理按键或厂商logo集成在一起。
329.光学传感器1215用于采集环境光强度。在一个实施例中,处理器1201可以根据光学传感器1215采集的环境光强度,控制显示屏1205的显示亮度。具体地,当环境光强度较高时,调高显示屏1205的显示亮度;当环境光强度较低时,调低显示屏1205的显示亮度。在另一个实施例中,处理器1201还可以根据光学传感器1215采集的环境光强度,动态调整摄像头组件1206的拍摄参数。
330.接近传感器1216,也称距离传感器,通常设置在终端1200的前面板。接近传感器1216用于采集用户与终端1200的正面之间的距离。在一个实施例中,当接近传感器1216检测到用户与终端1200的正面之间的距离逐渐变小时,由处理器1201控制显示屏1205从亮屏状态切换为息屏状态;当接近传感器1216检测到用户与终端1200的正面之间的距离逐渐变大时,由处理器1201控制显示屏1205从息屏状态切换为亮屏状态。
331.本领域技术人员可以理解,图12中示出的结构并不构成对终端1200的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
332.在示例性实施例中,还提供了一种非临时性计算机可读存储介质,当存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述虚拟物体显示方法中终端所执行的步骤。
333.在示例性实施例中,还提供了一种计算机程序产品,当计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行上述虚拟物体显示方法中终端所执行的步骤。
334.本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
335.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

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

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

相关文献