光照贴图的生成方法和装置、存储介质及电子设备与流程
本发明涉及计算机领域,具体而言,涉及一种光照贴图的生成方法和装置、存储介质及电子设备。
背景技术:
1、在虚拟场景的渲染过程中,通常会依赖预先烘焙的光照贴图来模拟光照效果。
2、由于相关技术手段获取的光照贴图需要维持固定的长宽比例,当待烘焙对象数量不变时,贴图区域的占比保持恒定。这导致有效贴图区域占比低,造成存储效率低下。也就是说,现有的光照贴图存在信息存储效率较低的技术问题。
3、针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本发明实施例提供了一种光照贴图的生成方法和装置、存储介质及电子设备,以至少解决光照贴图的信息存储效率较低的技术问题。
2、根据本发明实施例的一个方面,提供了一种光照贴图的生成方法,包括:在当前虚拟场景中添加辅助虚拟对象,其中,上述虚拟场景中包括至少一个待烘焙的目标虚拟对象;对上述辅助虚拟对象和至少一个上述目标虚拟对象执行对象展开操作,得到第一虚拟平面,其中,上述第一虚拟平面包括与至少一个上述目标虚拟对象匹配的目标对象区域,以及与上述辅助虚拟对象匹配的辅助对象区域;在上述辅助对象区域满足目标条件的情况下,将上述第一虚拟平面中的上述目标对象区域确定为第二虚拟平面;根据上述第二虚拟平面确定目标光照贴图,其中,上述目标光照贴图用于在虚拟场景中对至少一个虚拟对象进行渲染。
3、根据本发明实施例的另一个方面,提供了一种虚拟对象的渲染方法,包括:获取与目标虚拟场景匹配的目标光照贴图,其中,上述目标光照贴图为根据第二虚拟平面确定的,上述第二虚拟平面为从第一虚拟平面中确定的目标对象区域,上述第一虚拟平面中包括上述目标对象区域和辅助对象区域,上述目标对象区域与至少一个目标虚拟对象相匹配,上述辅助对象区域与辅助虚拟对象相匹配;获取与上述目标光照贴图匹配的位置信息集合,其中,上述位置信息集合中包括与至少一个上述目标虚拟对象分别对应的目标偏移信息和目标缩放信息;在检测到对至少一个上述目标虚拟对象中的当前虚拟对象的渲染指令的情况下,根据与上述当前虚拟对象对应的上述目标偏移信息和上述目标缩放信息,从上述目标光照贴图确定出当前区域包围盒;根据上述当前区域包围盒所指示的光照信息,对虚拟场景中的上述当前虚拟对象进行渲染。
4、根据本发明实施例的另一方面,还提供了一种光照贴图的生成装置,包括:添加单元,用于在当前虚拟场景中添加辅助虚拟对象,其中,上述虚拟场景中包括至少一个待烘焙的目标虚拟对象;展开单元,用于对上述辅助虚拟对象和至少一个上述目标虚拟对象执行对象展开操作,得到第一虚拟平面,其中,上述第一虚拟平面包括与至少一个上述目标虚拟对象匹配的目标对象区域,以及与上述辅助虚拟对象匹配的辅助对象区域;确定单元,用于在上述辅助对象区域满足目标条件的情况下,将上述第一虚拟平面中的上述目标对象区域确定为第二虚拟平面;烘焙单元,用于根据上述第二虚拟平面确定目标光照贴图,其中,上述目标光照贴图用于在虚拟场景中对至少一个虚拟对象进行渲染。
5、可选地,上述添加单元,包括:获取模块,用于分别获取至少一个上述目标虚拟对象各自对应的表面积参数;确定模块,用于根据至少一个上述表面积参数的累加结果,确定参考表面积参数;添加模块,用于根据上述参考表面积参数在上述当前虚拟场景中添加目标形状的上述辅助虚拟对象,其中,上述辅助虚拟对象对应的当前表面积参数小于或等于上述参考表面积参数。
6、可选地,上述获取模块,用于以下之一:根据与上述目标虚拟对象对应的多个对象网格的网格面积,确定上述表面积参数;根据与上述目标虚拟对象对应的参考包围盒的包围盒面积,确定上述表面积参数,其中,上述参考包围盒用于承接与上述目标虚拟对象对应的多个上述对象网格。
7、可选地,上述添加模块,用于:获取目标尺寸信息,其中,上述目标尺寸信息用于指示上述目标对象区域的长宽比,上述目标对象区域为上述第一虚拟平面中的第一矩形区域;根据上述第一虚拟平面对应的贴图尺寸信息和上述目标尺寸信息,确定上述辅助对象区域的辅助尺寸信息,其中,上述辅助对象区域为上述第一虚拟平面中的第二矩形区域,上述目标对象区域和上述辅助对象区域组成长宽相等的上述第一虚拟平面;根据上述参考表面积参数在上述当前虚拟场景中添加上述目标形状的上述辅助虚拟对象,其中,上述辅助虚拟对象的上述目标形状与上述辅助尺寸信息相匹配。
8、可选地,上述光照贴图的生成装置,还包括:条件匹配单元,用于在上述辅助对象区域的长边与上述第一虚拟平面的贴图边相匹配,且上述目标对象区域与上述辅助对象区域的面积比大于或等于目标阈值的情况下,确定上述辅助对象区域满足上述目标条件,其中,上述目标阈值根据多次历史对象展开操作各自对应的历史比值确定;在上述辅助对象区域的长边与上述第一虚拟平面的贴图边相匹配,且上述目标对象区域与上述辅助对象区域的面积比小于上述目标阈值的情况下,确定上述辅助对象区域不满足上述目标条件;在上述辅助对象区域的长边与上述第一虚拟平面不匹配的情况下,确定上述辅助对象区域不满足上述目标条件。
9、可选地,上述光照贴图的生成装置,还用于:在上述辅助对象区域不满足上述目标条件的情况下,更新上述参考表面积参数,其中,更新后的上述参考表面积参数小于更新前的上述参考表面积参数;根据更新后的上述参考表面积参数在上述当前虚拟场景中添加上述目标形状的上述辅助虚拟对象;根据更新后的上述辅助虚拟对象确定上述目标光照贴图。
10、可选地,上述光照贴图的生成装置,还用于:获取第一虚拟场景中的至少一个第一虚拟对象各自对应的顶点集合;根据至少一个上述顶点集合分别确定至少一个上述第一虚拟对象各自对应的网格集合;确定至少一个上述网格集合中多个网格对象各自对应的网格法线;根据至少一个上述第一虚拟对象各自对应的上述顶点集合,上述网格集合,包括了多个网格法线的网格法线集合,确定上述当前虚拟场景。
11、可选地,上述烘焙单元,用于:在上述第二虚拟平面中有效对象区域对应的有效像素的数量的占比大于或等于目标数值的情况下,根据上述第一虚拟平面对上述当前虚拟场景执行烘焙操作,得到参考光照贴图;根据上述参考光照贴图中与上述第二虚拟平面匹配的贴图区域,确定上述目标光照贴图。
12、可选地,上述烘焙单元,还用于:获取目标像素数量;根据上述目标像素阈值确定多个候选贴图尺寸信息,其中,上述候选贴图尺寸信息所对应的候选光照贴图中包括的光照像素的数量小于或等于上述目标像素数量;确定与多个上述候选光照贴图尺寸各自对应的辅助尺寸信息,其中,上述辅助尺寸信息用于指示上述辅助对象区域的长宽比;根据多个上述辅助尺寸信息,确定多个候选虚拟场景各自对应的上述第二虚拟平面,其中,多个上述候选虚拟场景包括上述当前虚拟场景;根据多个上述第二虚拟平面各自对应的上述有效像素的数量,确定上述目标数值。
13、可选地,上述烘焙单元,还用于:获取上述第二虚拟平面中包括的多个虚拟网格的网格面积和;根据上述网格面积和,确定多个上述虚拟网格在上述第一虚拟平面中的第一面积占比;根据上述第一虚拟平面的第一虚拟面积,与上述第二虚拟平面的第二虚拟面积之间的比值,确定多个上述虚拟网格在上述第二虚拟平面中的第二面积占比;根据上述第二面积占比,以及与上述第二虚拟平面匹配的候选贴图尺寸信息,确定与上述第二虚拟平面对应的上述有效像素的数量。
14、可选地,上述光照贴图的生成装置,还包括:位置获取单元,用于根据上述第二虚拟平面中至少一个上述目标虚拟对象各自匹配的对象区域,确定与至少一个上述虚拟对象各自对应的区域包围盒,其中,上述区域包围盒的区域范围包括上述对象区域;根据至少一个上述区域包围盒,确定至少一个上述目标虚拟对象各自对应的目标偏移信息和目标缩放信息,其中,上述目标偏移信息和上述目标缩放信息用于从上述目标光照贴图中确定与上述目标虚拟对象匹配的光照信息。
15、可选地,上述位置获取单元,用于:将上述区域包围盒的第一顶点在上述第二虚拟平面中的第一坐标确定为上述目标偏移信息;根据上述区域包围盒的第二顶点在上述第二虚拟平面中的第二坐标与上述第一坐标之间的坐标差,确定上述目标缩放信息,其中,上述第一顶点和上述第二顶点为上述区域包围盒的对角线上的两个顶点。
16、可选地,上述光照贴图的生成装置,还包括:筛选单元,用于在目标虚拟场景中包括多个目标虚拟对象的情况下,确定与多个上述目标虚拟对象对应的多个对象组合,其中,上述对象组合中包括至少一个上述目标虚拟对象;确定与多个上述对象组合各自对应的上述第二虚拟平面;根据多个上述第二虚拟平面之间的比较结果,从多个上述对象组合中确定出目标对象组合;根据上述目标对象组合确定上述目标光照贴图。
17、根据本发明实施例的又一方面,还提供了一种虚拟对象的渲染装置,包括:第一获取单元,用于获取与目标虚拟场景匹配的目标光照贴图,其中,上述目标光照贴图为根据第二虚拟平面确定的,上述第二虚拟平面为从第一虚拟平面中确定的目标对象区域,上述第一虚拟平面中包括上述目标对象区域和辅助对象区域,上述目标对象区域与至少一个目标虚拟对象相匹配,上述辅助对象区域与辅助虚拟对象相匹配;第二获取单元,用于获取与上述目标光照贴图匹配的位置信息集合,其中,上述位置信息集合中包括与至少一个上述目标虚拟对象分别对应的目标偏移信息和目标缩放信息;确定单元,用于在检测到对至少一个上述目标虚拟对象中的当前虚拟对象的渲染指令的情况下,根据与上述当前虚拟对象对应的上述目标偏移信息和上述目标缩放信息,从上述目标光照贴图确定出当前区域包围盒;渲染单元,用于根据上述当前区域包围盒所指示的光照信息,对虚拟场景中的上述当前虚拟对象进行渲染。
18、根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述光照贴图的生成方法或上述虚拟对象的渲染方法。
19、根据本技术实施例的又一个方面,提供一种计算机程序产品,该计算机程序产品包括计算机程序/指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序/指令,处理器执行该计算机程序/指令,使得该计算机设备执行如以上光照贴图的生成方法或上述虚拟对象的渲染方法。
20、根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的光照贴图的生成方法或上述虚拟对象的渲染方法。
21、在本发明实施例中,通过在虚拟场景内引入辅助虚拟对象,与目标对象一同进行对象展开操作。通过上述对象展开操作,第一虚拟平面将分别包含目标对象和辅助对象的展开区域。通过条件筛选辅助对象区域,可以识别出与目标对象区域比例合适的部分,并用特定形状填充第一虚拟平面。
22、进一步地,在确定出目标光照区域的烘焙过程中,仅保留与目标对象区域相对应的第二虚拟平面,以确定最终的光照贴图。相应地,辅助对象区域的烘焙结果将被舍弃。这种方法确保了最终生成的光照贴图富含大量可用的光照信息,有效解决了光照贴图存储效率低下的问题。通过优化光照贴图的生成过程,提高了存储效率,同时保证了渲染质量。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com