1.本技术涉及图像渲染技术领域,特别涉及虚拟场
景中光照
探针的生成方法。本技术同时涉及虚拟场景中光照探针的生成装置,一种计算设备,以及一种计算机可读存储介质。
背景技术:
2.光照探针是一种光照渲染技术,可以用来收集从四周各个方向接收到的光照信息,然后将光照信息作用到被渲染物体上,从而影响被渲染物体的最终光照效果。
3.在虚拟场景中的光照会被分为两部分进行计算,直接光照和间接光照,直接光照为光线照射在物体表面的光照强度,间接光照为光线照射到物体后经过多次反弹的光线强度,间接光照对游戏画面的光照效果提升有很重要的影响,使用光照探针记录间接光照信息是现有场景处理间接光照的技术方案之一,该方案的性能开销较低,应用场景较为广泛,在大规模的虚拟场景中,通常会根据场景中物件的密度对光照探针进行分布,但是在实际应用中,大世界场景下物件的类型和规格差异较大,很难对整个世界的物件去定义密度的划分维度,目前的光照探针工具不能灵活布局,随着虚拟场景的规模越来越大,场景中的物件越来越多,亟需一种更为合理的光照探针分布方法,提升光照探针分布的合理和准确,从而提升间接光照效果的丰富度。
技术实现要素:
4.有鉴于此,本技术实施例提供了虚拟场景中光照探针的生成方法。本技术同时涉及虚拟场景中光照探针的生成装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的上述问题。
5.根据本技术实施例的第一方面,提供了一种虚拟场景中光照探针的生成方法,包括:
6.接收针对
目标虚拟场景的光照探针生成指令;
7.响应于
所述光照探针生成指令,基于所述目标虚拟场景的地平面生成第一光照探针集合;
8.在所述目标虚拟场景中确定目标虚拟资源,并基于所述目标虚拟资源生成第二光照探针集合;
9.基于所述第一光照探针集合和所述第二光照探针集合生成初始光照探针集合;
10.根据预设的探针优化规则剔除所述初始光照探针集合中的无效探针,获得所述目标虚拟场景对应的目标光照探针集合。
11.根据本技术实施例的第二方面,提供了一种虚拟场景中光照探针的生成装置,包括:
12.接收模块,被配置为接收针对目标虚拟场景的光照探针生成指令;
13.第一生成模块,被配置为响应于所述光照探针生成指令,基于所述目标虚拟场景
的地平面生成第一光照探针集合;
14.第二生成模块,被配置为在所述目标虚拟场景中确定目标虚拟资源,并基于所述目标虚拟资源生成第二光照探针集合;
15.合成模块,被配置为基于所述第一光照探针集合和所述第二光照探针集合生成初始光照探针集合;
16.剔除模块,被配置为根据预设的探针优化规则剔除所述初始光照探针集合中的无效探针,获得所述目标虚拟场景对应的目标光照探针集合。
17.根据本技术实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述虚拟场景中光照探针的生成方法的步骤。
18.根据本技术实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现所述虚拟场景中光照探针的生成方法的步骤。
19.本技术提供的虚拟场景中光照探针的生成方法,接收针对目标虚拟场景的光照探针生成指令;响应于所述光照探针生成指令,基于所述目标虚拟场景的地平面生成第一光照探针集合;在所述目标虚拟场景中确定目标虚拟资源,并基于所述目标虚拟资源生成第二光照探针集合;基于所述第一光照探针集合和所述第二光照探针集合生成初始光照探针集合;根据预设的探针优化规则剔除所述初始光照探针集合中的无效探针,获得所述目标虚拟场景对应的目标光照探针集合。
20.本技术一实施例实现了从多个维度生成光照探针,对探针进行合理和精准的分布,确保光照探针使用的有效性,提高了光照探针的精度,同时根据探针优化规则进行探针优化,减少了无效光照探针的冗余,减轻了计算资源的消耗。在渲染时,可以提升间接光照的丰富度,提升用户的使用体验。
附图说明
21.图1是本技术一实施例提供的一种虚拟场景中光照探针的生成方法的流程图;
22.图2是本技术一实施例提供的第一光照探针集合的示意图;
23.图3是本技术一实施例提供的目标资源范围的示意图;
24.图4是本技术一实施例提供的第三光照探针集合的示意图;
25.图5是本技术一实施例提供的第四光照探针集合的示意图;
26.图6是本技术一实施例提供的一种应用于游戏场景的虚拟场景中光照探针的生成方法的处理流程图;
27.图7本技术一实施例提供的一种虚拟场景中光照探针的生成装置的结构示意图;
28.图8本技术一实施例提供的一种计算设备的结构框图。
具体实施方式
29.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
30.在本技术一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而
非旨在限制本技术一个或多个实施例。在本技术一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本技术一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
31.应当理解,尽管在本技术一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
32.首先,对本技术一个或多个实施例涉及的名词术语进行解释。
33.光照探针:lightprobes,是一种光照渲染技术,提供一种方法用于捕获和使用穿过场景中空白空间的光的信息,所以通常通过在虚拟场景中摆放一定数量的光照探针,烘焙光照探针来自各个方向的光照信息,运行时查虚拟物体附近的光照探针,对应在场景中生成虚拟物体的光照信息。
34.在虚拟画面中光照会被分为两部分进行计算,直接光照和间接光照,直接光照为光线照射在物体表面的光照强度,间接光照为光线照射到物体后经过多次反弹的光照强度。
35.间接光照对虚拟画面的光照效果提升有重要的影响,现有的场景间接光照的技术方案一般有两种,一种是使用体素存储间接光照的信息,一种是使用光照探针记录间接光照的信息。使用体素存储光照信息并实时计算间接光照,这种方案有较高的性能开销,在低端设备上无法使用。一般情况下使用光照探针的性能开销可被接收,场景中的动态物件、静态植被、静态小物件可使用探针上的光照信息计算间接光照。通常在小规模场景中手动分布光照探针,在大型场景中根据场景中物件的密度来分布探针,密度较高的区域探针密度高,密度较低的区域探针密度低,对于大世界场景来说,物件的类型和规格差异较大,很难对整个世界的物件去定义密度的划分维度,现有的自动分布光照探针工具并不能灵活的进行布局,而且,技术人员也无法将所有的虚拟物件都加载出来参与分布计算。
36.随着虚拟场景的规模越来越大,虚拟场景中的物件越来越多,亟需一种方法,对探针进行合理和精准的分布,确保探针使用的有效性,在提高精度的同时,减少冗余。基于此,在本技术中,提供了虚拟场景中光照探针的生成方法,本技术同时涉及虚拟场景中光照探针的生成装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
37.图1示出了根据本技术一实施例提供的一种虚拟场景中光照探针的生成方法的流程图,具体包括以下步骤:
38.步骤102:接收针对目标虚拟场景的光照探针生成指令。
39.光照探针:lightprobes,是一种光照渲染技术,提供一种方法用于捕获和使用穿过场景中空白空间的光的信息,所以通常通过在虚拟场景中摆放一定数量的光照探针,烘焙光照探针来自各个方向的光照信息,运行时查虚拟物体附近的光照探针,对应在场景中生成虚拟物体的光照信息。
40.目标虚拟场景具体是指在终端的显示界面上显示的虚拟场景,例如游戏场景、动
画场景、电影虚拟场景等等。
41.在渲染生成目标虚拟场景的过程中,需要模拟真实的光照环境,从而使得渲染生成的目标虚拟场景更加的贴近真实的生活环境,在模拟真实的光照环境时,分为直接光照和间接光照,间接光照为光线照射到物体后经过多次反弹的光照强度,在需要对目标虚拟场景进行渲染时,需要预先创建目标虚拟场景中的光照探针,此时,接收到针对目标虚拟场景的光照探针生成指令。用户的终端响应于该光照探针生成指令在目标虚拟场景中生成光照探针。
42.步骤104:响应于所述光照探针生成指令,基于所述目标虚拟场景的地平面生成第一光照探针集合。
43.其中,地平面可以理解为目标虚拟场景中的水平面,在目标虚拟场景中,所有的虚拟物品都是基于地平面创建的。第一光照探针集合具体是指在基于虚拟场景的地平面生成的全局光照探针分布集合。
44.通常情况下,可以将虚拟场景划分为多个网格区域,在每个网格区域内按照预设的距离间隔来分布光照探针,但是在实际应用中,会有更多的虚拟物品分布在靠近虚拟场景的地平面上,例如建筑物、山坡、河流等等虚拟资源,越远离地平面的地方,虚拟资源越少,因此,在生成第一光照探针集合的过程中,随着距离地平面的高度的增加,可以适当减少光照探针的密度,从而减少一些计算资源。
45.基于此,在本技术提供的虚拟场景中光照探针的生成方法中,基于所述目标虚拟场景的地平面生成第一光照探针集合,包括:
46.基于所述目标虚拟场景的地平面生成高度探测针;
47.根据所述高度探测针确定第一光照探针集合的探针密度,其中,所述探针密度随着高度探测针的增加而减少;
48.根据所述探针密度,生成第一光照探针集合。
49.在本技术提供的方法中,可以基于地平面的高度,自定义生成每一层探针的高度,做到距离地面的距离越近,光照探针的密度越大,距离地面的距离越远,光照探针的密度越小。
50.具体的,可以在确定了目标虚拟场景的地平面之后,基于该地平面生成高度探测针,高度探针用于确定距离地平面的高度距离,距离地平面越近的地方,高度探针的值越小,距离地平面越远的地方,高度探针的值越大。
51.根据第一光照探针生成规则和高度探测针可以确定第一光照探针集合的探针密度,其中,第一光照探针生成规则具体是指预先设定的生成第一光照探针的密度规则,例如,第一光照探针生成规则可以设置为(1米、2米、4米、8米、16米
……
),代表,距离地平面1米的高度设置一层光照探针,距离地平面2米的高度设置一层光照探针,距离地平面4米的高度设置一层光照探针
……
依次类推。需要注意的是,在本技术提供的方法中,探针密度随着高度探测针的值的增加而减少,即高度探针的值越小,探针密度越大,高度探针的值越大,探针密度越小。
52.需要注意的是,在本技术中提及的探针密度,不仅仅是指高度上的,还可以包括水平面上的密度,例如在距离地平面1米的高度处设置第一层光照探针,第一层光照探针间的距离为1米;在距离地平面2米的高度处设置第二层光照探针,第二层光照探针间的距离为2
米
……
。
53.在确定第一光照探针集合的探针密度之后,根据该探针密度,即可生成第一光照探针集合。例如,探针密度为“第一层:高度1米,间距1米;第二层:高度2米,间距2米;第三层:高度4米,间距4米;第四层:高度8米,间距8米
……”
。
54.参见图2,图2示出了本技术一实施例提供的第一光照探针集合的示意图,如图2所示,在目标虚拟场景中,距离地平面越近的位置,分布的光照探针的密度越大;距离地平面越远的位置,分布的光照探针的密度越小。
55.步骤106:在所述目标虚拟场景中确定目标虚拟资源,并基于所述目标虚拟资源生成第二光照探针集合。
56.其中,目标虚拟资源可以理解为在目标虚拟场景中生成的虚拟资源,在实际应用中,目标虚拟资源可以是在虚拟场景中根据需求自动生成的人文虚拟资源,如虚拟建筑、河流等等。
57.目标虚拟资源在目标虚拟场景中是需要进行重点处理渲染的部分,对于此部分的资源,需要布置更多的光照探针,每增加光照探针的密度,从而使得渲染生成的画面更加真实细腻,因此,可以基于目标虚拟资源生成第二光照探针集合。
58.具体的,基于所述目标虚拟资源生成第二光照探针集合,包括:
59.确定所述目标虚拟资源对应的目标资源范围;
60.在所述目标资源范围内生成第二光照探针集合。
61.在实际应用中,可以根据目标虚拟资源在目标虚拟环境中生成一个包围盒,包围盒用于将目标虚拟资源包围起来,包围盒的区域即可视为目标资源范围。参见图3,图3示出了本技术一实施例提供的目标资源范围的示意图,如图3所示,几个厂房可以视为目标虚拟资源,通过本技术提供的方法,可以用一个包围盒将目标虚拟资源包围,包围盒内对应的区域范围可以作为几个厂房对应的目标资源范围。
62.在确定了目标资源范围之后,即可基于该目标资源范围为光照探针的分布区域,并在该目标资源范围内再设置第二光照探针集合,需要注意的是,第二光照探针集合与第一光照探针集合之间并不冲突,在目标资源范围内生成第二光照探针集合。
63.步骤108:基于所述第一光照探针集合和所述第二光照探针集合生成初始光照探针集合。
64.在获得第一光照探针集合和第二光照探针集合之后,即可将两个集合进行合并,从而生成初始光照探针集合,其中,初始光照探针集合具体是指在光照探针布局完成之后获得的未经过处理的光照探针的集合。
65.例如,在第一光照探针集合中有500个光照探针,在第二光照探针集合中有300个光照探针,则根据两者结合,可以获得800个光照探针的初始光照探针集合。
66.在实际应用中,在虚拟场景中,基于虚拟场景中的除了主光源之外,还可能会有其他的发光源,当有其他的发光源时也会对光源周围的物体产生影响,基于此,在本技术提供的方法中,所述方法还包括:
67.识别所述目标虚拟场景中的光源信息;
68.基于所述光源信息生成第三光照探针集合;
69.基于所述第一光照探针集合、所述第二光照探针集合和所述第三光照探针集合生
成初始光照探针集合。
70.其中,所述光源信息具体是指在目标虚拟场景中除去主光源之外的光源信息,主光源可以理解为在虚拟场景中的太阳、月亮等发光源。光源信息是指在目标虚拟场景中除去太阳、月亮等其他的发光源,例如篝火、灯、萤火虫、手机屏幕、电视屏幕等等。
71.在确定了光源信息之后,即可在光源的方向上生成光照探针,从而生成第三光照探针集合,参见图4,图4示出了本技术一实施例提供的第三光照探针集合的示意图,在实际应用中,可以配置光照射线的数量、光线辐射的范围,根据光照射线的数量和光线辐射的范围来生成第三光照探针集合。
72.在实际应用中,如果在目标虚拟场景中还包括有第三光照探针集合,则在生成初始光照探针集合的过程中,除了第一光照探针集合和第二光照探针集合外,还需要添加第三光照探针集合。
73.在本技术提供的另一具体实施方式中,有一些区域可能是技术人员认为需要进行进一步加强的,因此,本技术提供的方法,还可以接收到技术人员发送的探针布局指令,根据该探针布局指令可以在目标虚拟场景中生成光照探针集合。具体的,所述方法还包括:
74.接收探针布局指令;
75.响应于所述探针布局指令生成第四光照探针集合。
76.其中,探针布局指令具体是指技术人员发出的自定义光照探针指令,具体的,可以由技术人员在目标虚拟场景中圈定一个自定义区域,该自定义区域的范围不限,可以为圆形、矩形、或其他的不规则形状,在确定了自定义区域之后,即可根据自定义的光照探针分布设置在该自定义区域内生成第四光照探针集合。
77.参见图5,图5示出了本技术一实施例提供的第四光照探针集合的示意图,如图5所示的目标虚拟场景,技术人员圈定了一个矩形区域,在该矩形区域内可以根据预设的探针密度配置,生成第四光照探针集合。
78.在生成了第四光照探针集合后,即可将其加入到初始光照探针集合中,用于后续的处理,需要注意的是,在实际应用中,第三光照探针集合和第四光照探针集合之间没有必然的关联关系,两者可以只有任意一个,也可以同时存在,即在实际应用中,如果存在第三光照探针集合的情况下,则可以基于第一光照探针集合、第二光照探针集合、第三光照探针集合和第四光照探针集合生成初始光照探针集合;如果不存在第三光照探针集合,则可以基于第一光照探针集合、第二光照探针集合和第四光照探针集合生成初始光照探针集合
79.至此,完成了在目标虚拟场景中布局生成光照探针集合的过程,即可在目标虚拟场景中生成初始光照探针集合,用于后续的进一步处理。
80.步骤110:根据预设的探针优化规则剔除所述初始光照探针集合中的无效探针,获得所述目标虚拟场景对应的目标光照探针集合。
81.其中,预设的探针优化规则具体是指将初始光照探针集合中的一些无效探针进行提出的规则,从而获得目标虚拟场景对应的目标光照探针集合。目标光照探针集合可以理解为在目标虚拟场景中最终生成获得的光照探针的集合。
82.具体的,根据预设的探针优化规则剔除所述初始光照探针集合中的无效探针,包括:
83.对所述初始光照探针集合中的初始光照探针进行烘焙,获得每个初始光照探针对
应的探针球;
84.根据每个探针球和预设的探针优化规则确定无效探针;
85.在所述初始光照探针集合中剔除所述无效探针。
86.在本技术提供的方法中,需要先将光照探针集合中的光照探针进行烘焙后再进行优化和提出,对光照探针进行烘焙具体是指将光与光能传递的效果,在光照探针中存储了有关场景中的光照的烘焙信息,对每个光照探针进行烘焙后,可以生成每个初始光照探针对应的探针球,在探针球中存储有烘焙后的灯光信息。
87.在获得了每个探针球之后,即可根据预设的探针优化规则来确定有哪些探针是无效探针,从而在初始光照探针集合中将无效探针剔除出去,从而获得最终的目标关照探针集合。
88.具体的,根据每个探针球和预设的探针优化规则确定无效探针,包括:
89.提取每个探针球的光照信息;
90.基于每个探针球的光照信息和预设的探针优化规则确定无效探针。
91.在实际应用中,每个探针球中存储有对应的光照信息,提取每个探针球中的光照信息,并根据每个探针球的光照信息和预设的优化规则来进一步确定哪些光照探针是无效探针。
92.具体的,预设的探针优化规则包括:
93.光照信息满足预设光照规则;
94.单位空间内探针球的数量小于预设密度阈值;或
95.相邻两个探针球间的距离大于预设距离阈值。
96.具体的,预设的探针优化规则可以包括多种方案,例如:
97.1、剔除位于虚拟资源内部的探针,例如光照探针的坐标位于虚拟资源内部时、光照探针与物体表面的距离小于预设阈值时,该光照探针可以确定为无效探针。
98.2、剔除位于指定平面以下的探针,比如当光照探针的坐标低于指定平面以下预设距离时,确定该光照探针为无效探针,在本技术提供的方法中,可以根据技术人员的指令来确定写平面可以参与优化。
99.3、剔除颜阈值范围以外的探针,在本方法中,获取到了每个探针球中存储的灯光信息,当某个灯光信息中的颜不满足指定的颜阈值区间时,则可以确定该光照探针为无效探针。
100.4、剔除探针间距离小于阈值的探针,例如,确定一个目标光照探针,若该目标光照探针与参考光照探针间的距离小于或等于预设距离阈值,则确定参考光照探针为无效探针。
101.5、剔除密度过高的探针,例如,预设的光照探针的数量为3个,在一个单位区域内,实际存在5个光照探针,则可以确定其中的2个光照探针为无效探针。
102.6、剔除同一平面的探针,例如确定一个目标光照探针,搜索该目标光照探针在指定距离内的其他4个光照探针是否能组成一个四面体,若不能组成,则确定该目标光照探针为无效探针,若能组成,则需要进一步判断这几个光照探针间的距离是否满足预设距离阈值。
103.需要注意的是,上述的几种探针优化规则之间可以任意组合使用,在本技术中,对
探针优化规则的具体的组合方式不做限定。在确定了探针优化规则后,根据每个探针球的光照信息依次匹配探针优化规则,从而对光照探针进行筛选和剔除,减少无效探针的数量,减少资源消耗。
104.在本技术提供的另一具体实施方式中,还包括:
105.根据所述目标光照探针集合渲染生成所述目标虚拟场景,其中,所述目标光照探针集合中包括每个光照探针对应的光照信息。
106.在获得了目标光照探针集合之后,即可根据目标光照探针集合中保存的光照信息来渲染生成目标虚拟场景,具体的,在渲染目标虚拟场景的过程中,在渲染每个部分时,读取该部分对应的光照信息,在渲染时结合光照信息进行渲染计算,生成目标虚拟场景。
107.在通常情况下,探针光照渲染器从场景内周围的光照探针之间的某个光照探针中获取光照信息进行渲染。因此虚拟场景中的虚拟对象在整个表面上具有恒定的环境光照,此光照使用球谐函数,因此具有旋转渐变,但是没有空间渐变,在更大的游戏对象或粒子系统中,这一点更加明显。虚拟对象上的光照与锚点出的光照匹配,如果虚拟对象跨越光照渐变,游戏对象的某些部分可能看起来不正确。
108.基于此,本技术提供的方法还可以使用光照探针代理(light probe porxy volume,lppv),lppv组件在包围体内生成插值光照探针的3d网格,可以在该组件的ui(userinterface,用户界面)中指定此网络的分辨率,插值光照探针的球谐函数系数将上传到3d纹理中,随后在渲染时会对包含球谐函数的3d纹理进行采样以便计算对漫射环境光照的影响,这会向探针光照游戏对象添加空间渐变。光照探针代理,与光照探针的生成和光照探针的烘焙无关,用于虚拟物体读取更高精度的探针信息,使用了一个代理,代理得到更多的插值探针,密度越高,物体读取的光照信息越丰富。
109.本技术提供的虚拟场景中光照探针的生成方法,接收针对目标虚拟场景的光照探针生成指令;响应于所述光照探针生成指令,基于所述目标虚拟场景的地平面生成第一光照探针集合;在所述目标虚拟场景中确定目标虚拟资源,并基于所述目标虚拟资源生成第二光照探针集合;基于所述第一光照探针集合和所述第二光照探针集合生成初始光照探针集合;根据预设的探针优化规则剔除所述初始光照探针集合中的无效探针,获得所述目标虚拟场景对应的目标光照探针集合。通过本方法,可以从多个维度生成光照探针,对探针进行合理和精准的分布,确保光照探针使用的有效性,提高了光照探针的精度,同时根据探针优化规则进行探针优化,减少了无效光照探针的冗余,减轻了计算资源的消耗。在渲染时,可以提升间接光照的丰富度,提升用户的使用体验。
110.其次,随着虚拟场景渲染方案进行数据切分,支持流式加载,同时对光照精度有较高要求的虚拟资源使用光照探针代理的方式,进一步提升间接光照的丰富度。
111.下述结合附图6,以本技术提供的虚拟场景中光照探针的生成方法在游戏场景的应用为例,对所述虚拟场景中光照探针的生成方法进行进一步说明。其中,图6示出了本技术一实施例提供的一种应用于游戏场景的虚拟场景中光照探针的生成方法的处理流程图,具体包括以下步骤:
112.步骤602:接收针对目标游戏场景的光照探针生成指令。
113.步骤604:基于目标游戏场景的地平面,生成第一光照探针集合。
114.在本技术提供的实施方式中,基于目标游戏场景的地平面的高度,共生成5层光照
探针,每层平面分布有35*35个光照探针,区域的高度为100米,在距离地面2米的位置分布第一层探针,在距离地面10米的位置分布第二层探针,在距离地面25米的位置分布第三层探针,在距离地面50米的位置分布第四层探针,在距离地面90米的位置分布第五层探针,超过100米的位置不再布局探针。这样,在距离地面的高度上分布了5层探针,但是每层探针在高度上是非线性分布的,在距离地面越近的位置密度越高,在空旷的高空中探针密度越低。
115.步骤606:识别目标游戏场景中的目标游戏资源,并基于目标游戏资源生成第二光照探针集合。
116.在本技术提供的实施方式中,识别游戏场景中的虚拟建筑物、高山等游戏资源,并用包围盒将目标游戏资源包围起来,需要注意的是,包围盒可以为1个,也可以为多个,例如当目标游戏资源间的距离小于阈值时,可以用一个包围盒将多个游戏资源包围起来;当目标游戏资源间的距离大于或等于阈值时,可以分别用不同的包围盒将不同的游戏资源包围起来。包围盒框中的区域可以作为目标游戏资源的目标范围区域,并在目标范围区域内生成第二光照探针集合。
117.步骤608:识别目标游戏场景中的光源信息,并基于光源信息生成第三光照探针集合。
118.在本技术提供的实施方式中,可以识别目标游戏场景中的光源,并根据预设的光源信息,生成第三光照探针集合。
119.步骤610:接收用户发送的手动标记指令,基于手动标记指令标注的区域生成第四光照探针集合。
120.步骤612:基于第一光照探针集合、第二光照探针集合、第三光照探针集合和第四光照探针集合生成初始光照探针集合。
121.步骤614:对初始光照探针集合中的光照探针进行烘焙,获得每个光照探针对应的光照信息。
122.步骤616:基于预设的探针优化规则和每个光照探针对应的光照信息在初始光照探针集合中确定无效探针。
123.步骤618:在所述初始光照探针集合中剔除无效探针,获得目标光照探针集合。
124.步骤620:基于目标光照探针集合渲染生成目标游戏场景。
125.本技术提供方法,可以从多个维度生成光照探针,对探针进行合理和精准的分布,确保光照探针使用的有效性,提高了光照探针的精度,同时根据探针优化规则进行探针优化,减少了无效光照探针的冗余,减轻了计算资源的消耗。在渲染时,可以提升间接光照的丰富度,提升用户的使用体验。
126.其次,随着虚拟场景渲染方案进行数据切分,支持流式加载,同时对光照精度有较高要求的虚拟资源使用光照探针代理的方式,进一步提升间接光照的丰富度。
127.与上述虚拟场景中光照探针的生成方法实施例相对应,本技术还提供了虚拟场景中光照探针的生成装置实施例,图7示出了本技术一实施例提供的一种虚拟场景中光照探针的生成装置的结构示意图。如图7所示,该装置包括:
128.接收模块702,被配置为接收针对目标虚拟场景的光照探针生成指令;
129.第一生成模块704,被配置为响应于所述光照探针生成指令,基于所述目标虚拟场景的地平面生成第一光照探针集合;
130.第二生成模块706,被配置为在所述目标虚拟场景中确定目标虚拟资源,并基于所述目标虚拟资源生成第二光照探针集合;
131.合成模块708,被配置为基于所述第一光照探针集合和所述第二光照探针集合生成初始光照探针集合;
132.剔除模块710,被配置为根据预设的探针优化规则剔除所述初始光照探针集合中的无效探针,获得所述目标虚拟场景对应的目标光照探针集合。
133.可选的,所述装置还包括:
134.识别模块,被配置为识别所述目标虚拟场景中的光源信息;
135.第三生成模块,被配置为基于所述光源信息生成第三光照探针集合;
136.所述合成模块708,进一步被配置为基于所述第一光照探针集合、所述第二光照探针集合和所述第三光照探针集合生成初始光照探针集合。
137.可选的,所述装置还包括:
138.指令接收模块,被配置为接收探针布局指令;
139.第四生成模块,被配置为响应于所述探针布局指令生成第四光照探针集合;
140.所述合成模块708,进一步被配置为基于所述第一光照探针集合、所述第二光照探针集合、所述第三光照探针集合和所述第四光照探针集合生成初始光照探针集合。
141.可选的,所述装置还包括:
142.指令接收模块,被配置为接收探针布局指令;
143.第四生成模块,被配置为响应于所述探针布局指令生成第四光照探针集合;
144.所述合成模块708,进一步被配置为基于所述第一光照探针集合、所述第二光照探针集合和所述第四光照探针集合生成初始光照探针集合。
145.可选的,所述第一生成模块704,进一步被配置为:
146.基于所述目标虚拟场景的地平面生成高度探测针;
147.根据所述高度探测针确定第一光照探针集合的探针密度,其中,所述探针密度随着高度探测针的增加而减少;
148.根据所述探针密度,生成第一光照探针集合。
149.可选的,所述第二生成模块706,进一步被配置为:
150.确定所述目标虚拟资源对应的目标资源范围;
151.在所述目标资源范围内生成第二光照探针集合。
152.可选的,所述剔除模块710,进一步被配置为:
153.对所述初始光照探针集合中的初始光照探针进行烘焙,获得每个初始光照探针对应的探针球;
154.根据每个探针球和预设的探针优化规则确定无效探针;
155.在所述初始光照探针集合中剔除所述无效探针。
156.可选的,所述剔除模块710,进一步被配置为:
157.提取每个探针球的光照信息;
158.基于每个探针球的光照信息和预设的探针优化规则确定无效探针。
159.可选的,预设的探针优化规则包括:
160.光照信息满足预设光照规则;
161.单位空间内探针球的数量小于预设密度阈值;或
162.相邻两个探针球间的距离大于预设距离阈值。
163.可选的,所述装置还包括:
164.渲染模块,被配置为根据所述目标光照探针集合渲染生成所述目标虚拟场景,其中,所述目标光照探针集合中包括每个光照探针对应的光照信息。
165.本技术提供的虚拟场景中光照探针的生成装置,接收针对目标虚拟场景的光照探针生成指令;响应于所述光照探针生成指令,基于所述目标虚拟场景的地平面生成第一光照探针集合;在所述目标虚拟场景中确定目标虚拟资源,并基于所述目标虚拟资源生成第二光照探针集合;基于所述第一光照探针集合和所述第二光照探针集合生成初始光照探针集合;根据预设的探针优化规则剔除所述初始光照探针集合中的无效探针,获得所述目标虚拟场景对应的目标光照探针集合。通过本装置,可以从多个维度生成光照探针,对探针进行合理和精准的分布,确保光照探针使用的有效性,提高了光照探针的精度,同时根据探针优化规则进行探针优化,减少了无效光照探针的冗余,减轻了计算资源的消耗。在渲染时,可以提升间接光照的丰富度,提升用户的使用体验。
166.其次,随着虚拟场景渲染方案进行数据切分,支持流式加载,同时对光照精度有较高要求的虚拟资源使用光照探针代理的方式,进一步提升间接光照的丰富度。
167.上述为本实施例的一种虚拟场景中光照探针的生成装置的示意性方案。需要说明的是,该虚拟场景中光照探针的生成装置的技术方案与上述的虚拟场景中光照探针的生成方法的技术方案属于同一构思,虚拟场景中光照探针的生成装置的技术方案未详细描述的细节内容,均可以参见上述虚拟场景中光照探针的生成方法的技术方案的描述。
168.图8示出了根据本技术一实施例提供的一种计算设备800的结构框图。该计算设备800的部件包括但不限于存储器810和处理器820。处理器820与存储器810通过总线830相连接,数据库850用于保存数据。
169.计算设备800还包括接入设备840,接入设备840得计算设备800由一个或多个网络860这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备840括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
170.在本技术的一个实施例中,计算设备800部件以及图8未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图8示的计算设备结构框图仅仅是出于示例的目的,而不是对本技术范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
171.计算设备800任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备800是移动式或静止式的服务器。
172.其中,处理器820计算机指令时实现所述的虚拟场景中光照探针的生成方法的步骤。
173.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技
术方案与上述的虚拟场景中光照探针的生成方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述虚拟场景中光照探针的生成方法的技术方案的描述。
174.本技术一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现如前所述虚拟场景中光照探针的生成方法的步骤。
175.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的虚拟场景中光照探针的生成方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述虚拟场景中光照探针的生成方法的技术方案的描述。
176.上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
177.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
178.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
179.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
180.以上公开的本技术优选实施例只是用于帮助阐述本技术。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本技术的内容,可作很多的修改和变化。本技术选取并具体描述这些实施例,是为了更好地解释本技术的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本技术。本技术仅受权利要求书及其全部范围和等效物的限制。
技术特征:
1.一种虚拟场景中光照探针的生成方法,其特征在于,包括:接收针对目标虚拟场景的光照探针生成指令;响应于所述光照探针生成指令,基于所述目标虚拟场景的地平面生成第一光照探针集合;在所述目标虚拟场景中确定目标虚拟资源,并基于所述目标虚拟资源生成第二光照探针集合;基于所述第一光照探针集合和所述第二光照探针集合生成初始光照探针集合;根据预设的探针优化规则剔除所述初始光照探针集合中的无效探针,获得所述目标虚拟场景对应的目标光照探针集合。2.如权利要求1所述的方法,其特征在于,所述方法还包括:识别所述目标虚拟场景中的光源信息;基于所述光源信息生成第三光照探针集合;基于所述第一光照探针集合、所述第二光照探针集合和所述第三光照探针集合生成初始光照探针集合。3.如权利要求2所述的方法,其特征在于,所述方法还包括:接收探针布局指令;响应于所述探针布局指令生成第四光照探针集合;基于所述第一光照探针集合、所述第二光照探针集合、所述第三光照探针集合和所述第四光照探针集合生成初始光照探针集合。4.如权利要求1所述的方法,其特征在于,所述方法还包括:接收探针布局指令;响应于所述探针布局指令生成第四光照探针集合;基于所述第一光照探针集合、所述第二光照探针集合和所述第四光照探针集合生成初始光照探针集合。5.如权利要求1所述的方法,其特征在于,基于所述目标虚拟场景的地平面生成第一光照探针集合,包括:基于所述目标虚拟场景的地平面生成高度探测针;根据所述高度探测针确定第一光照探针集合的探针密度,其中,所述探针密度随着高度探测针的增加而减少;根据所述探针密度,生成第一光照探针集合。6.如权利要求1所述的方法,其特征在于,基于所述目标虚拟资源生成第二光照探针集合,包括:确定所述目标虚拟资源对应的目标资源范围;在所述目标资源范围内生成第二光照探针集合。7.如权利要求1所述的方法,其特征在于,根据预设的探针优化规则剔除所述初始光照探针集合中的无效探针,包括:对所述初始光照探针集合中的初始光照探针进行烘焙,获得每个初始光照探针对应的探针球;根据每个探针球和预设的探针优化规则确定无效探针;
在所述初始光照探针集合中剔除所述无效探针。8.如权利要求7所述的方法,其特征在于,根据每个探针球和预设的探针优化规则确定无效探针,包括:提取每个探针球的光照信息;基于每个探针球的光照信息和预设的探针优化规则确定无效探针。9.如权利要求8所述的方法,其特征在于,预设的探针优化规则包括:光照信息满足预设光照规则;单位空间内探针球的数量小于预设密度阈值;或相邻两个探针球间的距离大于预设距离阈值。10.如权利要求1所述的方法,其特征在于,还包括:根据所述目标光照探针集合渲染生成所述目标虚拟场景,其中,所述目标光照探针集合中包括每个光照探针对应的光照信息。11.一种虚拟场景中光照探针的生成装置,其特征在于,包括:接收模块,被配置为接收针对目标虚拟场景的光照探针生成指令;第一生成模块,被配置为响应于所述光照探针生成指令,基于所述目标虚拟场景的地平面生成第一光照探针集合;第二生成模块,被配置为在所述目标虚拟场景中确定目标虚拟资源,并基于所述目标虚拟资源生成第二光照探针集合;合成模块,被配置为基于所述第一光照探针集合和所述第二光照探针集合生成初始光照探针集合;剔除模块,被配置为根据预设的探针优化规则剔除所述初始光照探针集合中的无效探针,获得所述目标虚拟场景对应的目标光照探针集合。12.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述计算机指令时实现权利要求1-10任意一项所述方法的步骤。13.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-10任意一项所述方法的步骤。
技术总结
本申请提供虚拟场景中光照探针的生成方法及装置,其中所述虚拟场景中光照探针的生成方法包括:接收针对目标虚拟场景的光照探针生成指令;响应于所述光照探针生成指令,基于所述目标虚拟场景的地平面生成第一光照探针集合;在所述目标虚拟场景中确定目标虚拟资源,并基于所述目标虚拟资源生成第二光照探针集合;基于所述第一光照探针集合和所述第二光照探针集合生成初始光照探针集合;根据预设的探针优化规则剔除所述初始光照探针集合中的无效探针,获得所述目标虚拟场景对应的目标光照探针集合。通过本方法,提供多维度的光照探针布局方式,提升光照探针分布的合理和准确,从而提升间接光照效果的丰富度。而提升间接光照效果的丰富度。而提升间接光照效果的丰富度。
技术研发人员:
何文雅 李明皓 相宛升 孟岩 杨林
受保护的技术使用者:
珠海金山数字网络科技有限公司
技术研发日:
2022.09.23
技术公布日:
2022/12/30