CN112419460A - 烘焙模型贴图的方法、装置、计算机设备和存储介质 - Google Patents
烘焙模型贴图的方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112419460A CN112419460A CN202011127143.0A CN202011127143A CN112419460A CN 112419460 A CN112419460 A CN 112419460A CN 202011127143 A CN202011127143 A CN 202011127143A CN 112419460 A CN112419460 A CN 112419460A
- Authority
- CN
- China
- Prior art keywords
- baked
- map
- model
- depth
- coordinate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000013507 mapping Methods 0.000 claims abstract description 105
- 238000009877 rendering Methods 0.000 claims abstract description 56
- 238000005070 sampling Methods 0.000 claims description 44
- 238000010586 diagram Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 8
- 238000003491 array Methods 0.000 claims description 5
- 102100027159 Membrane primary amine oxidase Human genes 0.000 claims 2
- 101710132836 Membrane primary amine oxidase Proteins 0.000 claims 2
- 230000000694 effects Effects 0.000 description 21
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000000873 masking effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供了一种烘焙模型贴图的方法、装置、计算机设备和存储介质。该方法包括:获取待烘焙模型和待烘焙模型的贴图坐标信息;渲染待烘焙模型在屏幕坐标系下的深度图和待烘焙信息图;把待烘焙模型根据贴图坐标信息展开,以待烘焙模型的相机坐标信息作为颜色,渲染得到贴图布局图;针对待烘焙模型的同一屏幕坐标,比较待烘焙模型的物理深度和深度图上表征的图像深度是否相同;若物理深度与图像深度不同,将贴图布局图上屏幕坐标对应的色值信息设置为预设值;若物理深度与图像深度相同,根据待烘焙信息图上屏幕坐标的色值信息设置贴图布局图上屏幕坐标对应的色值信息。通过本申请,能够提升烘焙效率。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种烘焙模型贴图的方法、装置、计算机设备和存储介质。
背景技术
一个完整的三维模型包括白模和贴图,其中,白模决定了模型的外形结构,而贴图赋予了模型色彩和细节,在游戏领域,模型贴图包括法线贴图、AO(Ambient Occlusion,环境光遮蔽)贴图以及弯曲度贴图等,其中,法线贴图是可以应用到三维模型表面的特殊纹理,作为凹凸纹理的扩展,它使每个平面的各像素拥有了高度值,包含了许多细节的表面信息,能够在平平无奇的物体外形上,创建出许多种特殊的立体视觉效果;AO贴图用来描绘物体和物体相交或靠近的时候遮挡周围漫反射光线的效果,可以解决或改善场景中缝隙、褶皱与墙角、角线以及细小物体等的表现不清晰问题,综合改善细节尤其是暗部阴影,增强空间的层次感、真实感,同时加强和改善画面明暗对比,增强画面的艺术性。
烘焙是指将需要的信息写到贴图像素上形成上述贴图,从而在场景中能够将该贴图贴在白膜表面,形成完整的三维模型。在现有技术中,烘焙模型贴图的方法通常比较复杂,以烘焙AO贴图为例,烘焙模型AO贴图的工具有很多种,比如3DMax,Blender等美术引擎,具体烘焙原理各不相同。但是,使用美术引擎烘焙模型AO贴图消耗的时间太长,以Blender为例,烘焙一张4096的贴图往往需要好几分钟时间,而3DMax烘焙的操作步骤又极其复杂。
因此,如何提高烘焙模型贴图的效率,成为本领域亟需解决的技术问题。
发明内容
本申请的目的是提供一种烘焙模型贴图的方法、装置、计算机设备和存储介质,用于解决现有技术中的上述技术问题。
一方面,为实现上述目的,本申请提供了一种烘焙模型贴图的方法。
该烘焙模型贴图的方法包括:获取待烘焙模型和所述待烘焙模型的贴图坐标信息;渲染所述待烘焙模型在屏幕坐标系下的深度图和待烘焙信息图;把所述待烘焙模型根据所述贴图坐标信息展开,以所述待烘焙模型的相机坐标信息作为颜色,渲染得到贴图布局图;针对所述待烘焙模型的同一屏幕坐标,比较所述待烘焙模型的物理深度和深度图上表征的图像深度是否相同;若所述物理深度与所述图像深度不同,将所述贴图布局图上所述屏幕坐标对应的色值信息设置为预设值;若所述物理深度与所述图像深度相同,根据所述待烘焙信息图上所述屏幕坐标的色值信息设置所述贴图布局图上所述屏幕坐标对应的色值信息。
进一步地,所述模型贴图为AO图,所述待烘焙信息图为SSAO图。
进一步地,渲染所述待烘焙模型在屏幕坐标系下的深度图和待烘焙信息图的步骤包括:在第一位置设置摄像机,其中,所述待烘焙模型位于所述摄像机的视场内;通过所述摄像机渲染所述待烘焙模型在屏幕坐标系下的深度图和SSAO图;针对所述待烘焙模型的各个屏幕坐标,设置所述贴图布局图上所述屏幕坐标的色值信息后,得到所述第一位置对应的AO子图;所述烘焙模型贴图的方法还包括:计算多个位置对应的AO子图的平均值得到所述待烘焙模型的AO图。
进一步地,所述烘焙模型贴图的方法还包括:获取球模型;将所述待烘焙模型设置于所述球模型的球心;缩放所述待烘焙模型,以使所述待烘焙模型各顶点至所述球心的距离均小于或等于所述球模型的半径;其中,所述第一位置为所述球模型上的一个顶点,所述多个位置为所述球模型上的多个顶点。
进一步地,所述球模型为几何球模型。
进一步地,所述第一位置对应的AO子图用数组表示,其中,所述数组的元素包括贴图坐标和遮蔽度;若所述物理深度与所述图像深度不同,将所述贴图布局图上所述屏幕坐标对应的色值信息设置为预设值的步骤包括:若第一屏幕坐标对应的所述物理深度与所述图像深度不同,将所述贴图布局图上所述第一屏幕坐标对应的第一贴图坐标,作为所述数组中第一元素的贴图坐标,将0作为所述第一元素的遮蔽度;若所述物理深度与所述图像深度相同,根据所述待烘焙信息图上所述屏幕坐标的色值信息设置所述贴图布局图上所述屏幕坐标的色值信息的步骤包括:若所述第一屏幕坐标对应的所述物理深度与所述图像深度相同,将所述贴图布局图上所述第一屏幕坐标对应的第一贴图坐标,作为所述数组中第一元素的贴图坐标,将所述待烘焙信息图上所述第一屏幕坐标的色值信息作为所述第一元素的遮蔽度。
进一步地,所述第一位置对应的AO子图用数组表示,其中,所述数组的元素包括贴图坐标和遮蔽度;若所述物理深度与所述图像深度不同,将所述贴图布局图上所述屏幕坐标对应的色值信息设置为预设值的步骤包括:若第一屏幕坐标对应的所述物理深度与所述图像深度不同,将所述贴图布局图上所述第一屏幕坐标对应的第一贴图坐标,作为所述数组中第一元素的贴图坐标,将0作为所述第一元素的遮蔽度;若所述物理深度与所述图像深度相同,根据所述待烘焙信息图上所述屏幕坐标对应的色值信息设置所述贴图布局图上所述屏幕坐标的色值信息的步骤包括:若所述第一屏幕坐标对应的所述物理深度与所述图像深度相同,将所述贴图布局图上所述第一屏幕坐标对应的第一贴图坐标,作为所述第一元素的贴图坐标,根据所述待烘焙信息图上所述第一屏幕坐标及相邻屏幕坐标对应的权重和色值信息计算所述第一屏幕坐标的模糊色值信息,将所述模糊色值信息作为所述第一元素的遮蔽度。
进一步地,所述数组还包括采样次数,所述烘焙模型贴图的方法还包括:若第一屏幕坐标对应的所述物理深度与所述图像深度不同,将0作为所述第一元素的采样次数;若所述第一屏幕坐标对应的所述物理深度与所述图像深度相同,将1作为所述第一元素的采样次数;计算多个位置对应的AO子图的平均值得到所述待烘焙模型的AO图的步骤包括:计算所述多个位置对应的数组中所述第一元素的遮蔽度的和,得到第一总遮蔽度;计算所述多个位置对应的数组中所述第一元素的采样次数的和,得到第一总采样次数;计算所述第一总遮蔽度和所述第一总采样次数的商,得到所述AO图中所述第一元素的贴图坐标处的遮蔽度。
进一步地,针对所述待烘焙模型的同一屏幕坐标,比较所述待烘焙模型的物理深度和深度图上表征的图像深度是否相同的步骤包括:在世界坐标系下,计算所述待烘焙模型的所述物理深度;获取所述待烘焙模型的相机坐标;将所述相机坐标转换成所述屏幕坐标;根据所述屏幕坐标对所述深度图进行采样,得到所述图像深度;针对所述屏幕坐标,比较所述物理深度和所述图像深度是否相同。
进一步地,根据所述待烘焙信息图上所述屏幕坐标的色值信息设置所述贴图布局图上所述屏幕坐标对应的色值信息的步骤包括:根据所述屏幕坐标对所述待烘焙信息图进行采样,得到待烘焙色值信息;以及根据所述屏幕坐标对应的待烘焙色值信息设置所述贴图布局图上所述屏幕坐标对应的色值信息。
另一方面,为实现上述目的,本申请提供了一种烘焙模型贴图的装置。
该烘焙模型贴图的装置包括:获取模块,用于获取待烘焙模型和所述待烘焙模型的贴图坐标信息;第一渲染模块,用于渲染所述待烘焙模型在屏幕坐标系下的深度图和待烘焙信息图;第二渲染模块,用于把所述待烘焙模型根据所述贴图坐标信息展开,以所述待烘焙模型的相机坐标信息作为颜色,渲染得到贴图布局图;比较模块,用于针对所述待烘焙模型的同一屏幕坐标,比较所述待烘焙模型的物理深度和深度图上表征的图像深度是否相同;第一处理模块,用于当所述物理深度与所述图像深度不同,将所述贴图布局图上所述屏幕坐标对应的色值信息设置为预设值;第二处理模块,用于当所述物理深度与所述图像深度相同,根据所述待烘焙信息图上所述屏幕坐标的色值信息设置所述贴图布局图上所述屏幕坐标对应的色值信息。
为实现上述目的,本申请还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
为实现上述目的,本申请还提供计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本申请提供的烘焙模型贴图的方法、装置、计算机设备和存储介质,先渲染待烘焙模型在屏幕坐标系下的待烘焙信息图,将待烘焙信息渲染在屏幕空间内,然后根据屏幕空间与贴图空间的映射关系,将渲染在屏幕空间内的待烘焙信息映射到贴图空间内,得到模型贴图。在实现映射时,把待烘焙模型根据贴图坐标信息展开,以待烘焙模型的相机坐标信息作为颜色,渲染得到贴图布局图,然后针对待烘焙模型的同一屏幕坐标,比较待烘焙模型的物理深度和深度图上表征的图像深度是否相同,如果不同,将贴图布局图上屏幕坐标对应的色值信息设置为预设值;若相同,根据待烘焙信息图上屏幕坐标的色值信息设置贴图布局图上屏幕坐标对应的色值信息。通过本申请,烘焙模型贴图时,首先将待烘焙信息渲染在屏幕空间内,实现了一次性渲染待烘焙模型所有表面像素,然后通过空间映射,将屏幕空间内的待烘焙信息渲染效果映射到贴图空间内,无需逐像素渲染,减小像素读写开销,因此能够提升烘焙效率。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例一提供的烘焙模型贴图的方法的流程图;
图2为本申请实施例提供的待烘焙模型的效果示意图;
图3为本申请实施例提供的待烘焙模型的深度图的效果示意图;
图4为本申请实施例提供的待烘焙模型的深度法线图的效果示意图;
图5为本申请实施例提供的待烘焙模型的SSAO图的效果示意图;
图6为本申请实施例提供的待烘焙模型的AO子图的效果示意图;
图7为本申请实施例提供的一种待烘焙模型的AO图的效果示意图;
图8为本申请实施例提供的经纬球的效果示意图;
图9为本申请实施例提供的几何球的效果示意图;
图10为本申请实施例提供的几何球包围待烘焙模型的效果示意图;
图11为本申请实施例提供的另一种待烘焙模型的AO图的效果示意图;
图12为本申请实施例提供的烘焙后模型的效果示意图;
图13为本申请实施例提供的烘焙后模型的AO子图混合图的效果示意图;
图14为本申请实施例二提供的烘焙模型贴图的装置;
图15为本申请实施例三提供的计算机设备的硬件结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了提高烘焙模型贴图的效率,发明人对现有技术中的烘焙模型贴图的方法进行了研究。在现有技术的相关方法中,需要将待烘焙信息逐像素渲染,像素读写开销大,由此导致烘焙效率较低。
本申请提供了一种烘焙模型贴图的方法,在本申请提供的烘焙模型AO贴图的方法中,获取待烘焙模型和待烘焙模型的贴图坐标信息后,首先渲染待烘焙模型在屏幕坐标系下的待烘焙信息图,然后,通过空间映射,将屏幕空间内的待烘焙信息渲染效果映射到贴图空间内。具体映射的过程如下:渲染待烘焙模型在屏幕坐标系下的深度图,把待烘焙模型根据贴图坐标信息展开,以待烘焙模型的相机坐标信息作为颜色,渲染得到贴图布局图,在贴图布局图中,像素的位置以贴图坐标标定,像素的色值以待烘焙模型的相机坐标信息标定。针对待烘焙模型的同一屏幕坐标,比较待烘焙模型的物理深度和深度图上表征的图像深度是否相同,若物理深度与图像深度不同,表征该屏幕坐标对应像素属于待烘焙模型根据贴图坐标信息展开时,被遮挡的像素,此时将贴图布局图上对应屏幕坐标的色值信息设置为预设值,该预设值表征像素被遮挡,也即,根据屏幕坐标与相机坐标的对应关系,在贴图布局图上找到屏幕坐标对应的色值信息(找到屏幕坐标对应相机坐标),并将其设置为预设值;若物理深度与图像深度相同,表征该屏幕坐标对应像素属于待烘焙模型根据贴图坐标信息展开时,未被遮挡的像素,此时根据待烘焙信息图上屏幕坐标的色值信息设置贴图布局图上对应屏幕坐标的色值信息,也即,根据屏幕坐标与相机坐标的对应关系,在贴图布局图上找到屏幕坐标对应的色值信息(找到屏幕坐标对应相机坐标),并将其设置为待烘焙信息图上屏幕坐标的色值信息。
从中可以看出,在本申请提供的烘焙模型贴图的方法、装置、计算机设备和存储介质中,烘焙模型贴图时,首先将待烘焙信息渲染在屏幕空间内,实现了一次性渲染待烘焙模型所有表面像素,然后通过空间映射,将屏幕空间内的待烘焙信息渲染效果映射到贴图空间内,无需逐像素渲染,减小像素读写开销,因此能够提升烘焙效率。
关于本申请提供的烘焙模型贴图的方法、装置、计算机设备和存储介质的具体实施例,将在下文中详细描述。
实施例一
本申请实施例提供了一种烘焙模型贴图的方法,通过该方法,在屏幕空间一次渲染模型的所有表面像素,然后将渲染效果映射到贴图空间,节省读写像素的开销,提高烘焙效率,具体地,图1为本申请实施例一提供的烘焙模型贴图的方法的流程图,如图1所示,该实施例提供的烘焙模型贴图的方法包括如下的步骤S101至步骤S106。
步骤S101:获取待烘焙模型和待烘焙模型的贴图坐标信息。
其中,获取待烘焙模型也即获取待烘焙模型的顶点信息和面信息等,以便建立待烘焙模型,如图2所示,在图2所示的待烘焙模型中,包括8个单元盒。待烘焙模型的贴图坐标信息是指三维待烘焙模型上贴图的布局信息,例如,该贴图坐标信息为二维数组,数组中的每个元素对应待烘焙模型上的一个顶点,数组的长度为待烘焙模型包括的顶点数。
步骤S102:渲染待烘焙模型在屏幕坐标系下的深度图和待烘焙信息图。
可选地,设置摄像机,根据待烘焙模型与摄像机的位置关系,确定待烘焙模型的深度信息,也即,计算待烘焙模型每个顶点与摄像机的距离,然后将该距离进行归一化处理,得到深度信息;以深度信息作为待烘焙模型的材质,通过摄像机,渲染待烘焙模型,即可得到深度图,具体可将深度信息转成RG值(因为颜色的精度为1/256,无法精确描述一个浮点数,转成rg值可以用2通道保存浮点数,精度提升到了1/65536),如图3所示,在深度图中,像素的位置以屏幕坐标标定,像素的色值以待烘焙模型的深度信息标定。
在待烘焙信息图中,像素的位置以屏幕坐标标定,像素的色值以待烘焙信息标定,实现将待烘焙信息在屏幕空间内的渲染。可选地,在一种实施例中,模型贴图为AO图,待烘焙信息图为SSAO图,其中,SSAO(Screen Space Ambient Occlusion,屏幕空间环境光遮蔽)图,通过屏幕空间场景的深度来确定遮蔽量。渲染待烘焙模型在屏幕坐标系下的待烘焙信息图的步骤包括:设置摄像机,根据待烘焙模型与摄像机的位置关系,确定待烘焙模型的深度信息和法线信息;以深度信息和法线信息作为待烘焙模型的材质,通过摄像机渲染待烘焙模型,得到深度法线图,如图4所示,最后利用深度法线图渲染待烘焙模型的SSAO图。在本申请中,可以采用现有技术中的任意SSAO图渲染算法得到待烘焙模型的SSAO图,例如,使用Scalable Occlusion算法、HBAO算法,或者其他屏幕空间AO算法,该处不再赘述。其中,以Scalable Occlusion算法得到的SSAO图如图5所示。
步骤S103:把待烘焙模型根据贴图坐标信息展开,以待烘焙模型的相机坐标信息作为颜色,渲染得到贴图布局图。
在贴图布局图中,像素的位置以贴图坐标标定,像素的色值以待烘焙模型的相机坐标信息标定,将待烘焙信息图中的待烘焙信息对应写入贴图布局图,也即实现了将屏幕空间内的待烘焙信息映射在贴图空间内,从而得到烘焙完成的贴图。
步骤S104:针对待烘焙模型的同一屏幕坐标,比较待烘焙模型的物理深度和深度图上表征的图像深度是否相同。
具体而言,遍历深度图中的每一个坐标,也即待烘焙模型的每一个屏幕坐标,提取其色值得到图像深度,同时计算该屏幕坐标处的物理深度,比较该物理深度和该图像深度是否相同,如果不同,表征该屏幕坐标对应像素属于待烘焙模型根据贴图坐标信息展开时,被遮挡的像素,执行下述步骤S105;如果相同,表征该屏幕坐标对应像素属于待烘焙模型根据贴图坐标信息展开时,未被遮挡的像素,执行下述步骤S106。
步骤S105:将贴图布局图上屏幕坐标对应的色值信息设置为预设值。
具体地,针对被遮挡的像素,将贴图布局图上屏幕坐标A1对应的色值信息设置为预设值具体包括:根据屏幕坐标与相机坐标的对应关系,确定该屏幕坐标A1所对应的相机坐标A2,然后在贴图布局图上找到相机坐标A2(也即贴图布局图上的色值信息)对应的贴图坐标A3,同时,将该贴图布局图上贴图坐标A3的色值信息设置为预设值。利用预设值来表征被遮挡的像素的色值信息,例如,预设值设置为0,以黑色来表征被遮挡的像素,也即实现了将摄像机看不到的部分剔除。
步骤S106:根据待烘焙信息图上屏幕坐标的色值信息设置贴图布局图上屏幕坐标对应的色值信息。
针对未被遮挡的像素,根据待烘焙信息图上屏幕坐标A1的色值信息设置贴图布局图上屏幕坐标A1对应的色值信息具体包括:根据屏幕坐标与相机坐标的对应关系,确定该屏幕坐标A1所对应的相机坐标A2,然后在贴图布局图上找到相机坐标A2(也即贴图布局图上的色值信息)对应的贴图坐标A3,同时,在烘焙信息图上找到屏幕坐标A1的色值信息B1,根据该色值信息B1设置贴图布局图上贴图坐标A3的色值信息。
可选地,将贴图布局图上贴图坐标A3的色值信息设置为烘焙信息图上屏幕坐标A1的色值信息B1;或者,也可将贴图布局图上贴图坐标A3的色值信息设置为烘焙信息图上屏幕坐标A1及邻近坐标的色值信息的均值,或者,也可以为其他设置方式。
在该实施例提供的烘焙模型贴图的方法,先渲染待烘焙模型在屏幕坐标系下的待烘焙信息图,将待烘焙信息渲染在屏幕空间内,然后根据屏幕空间与贴图空间的映射关系,将渲染在屏幕空间内的待烘焙信息映射到贴图空间内,得到模型贴图。在实现映射时,把待烘焙模型根据贴图坐标信息展开,以待烘焙模型的相机坐标信息作为颜色,渲染得到贴图布局图,然后针对待烘焙模型的同一屏幕坐标,比较待烘焙模型的物理深度和深度图上表征的图像深度是否相同,如果不同,将贴图布局图上屏幕坐标对应的色值信息设置为预设值;若相同,根据待烘焙信息图上屏幕坐标的色值信息设置贴图布局图上屏幕坐标对应的色值信息。采用该实施例提供的烘焙模型贴图的方法,烘焙模型贴图时,首先将待烘焙信息渲染在屏幕空间内,实现了一次性渲染待烘焙模型所有表面像素,然后通过空间映射,将屏幕空间内的待烘焙信息渲染效果映射到贴图空间内,无需逐像素渲染,减小像素读写开销,因此能够提升烘焙效率。
可选地,在一种实施例中,渲染待烘焙模型在屏幕坐标系下的深度图和待烘焙信息图的步骤包括:在第一位置设置摄像机,其中,待烘焙模型位于摄像机的视场内;通过摄像机渲染待烘焙模型在屏幕坐标系下的深度图和SSAO图;针对待烘焙模型的各个屏幕坐标,设置贴图布局图上屏幕坐标的色值信息后,得到第一位置对应的AO子图;烘焙模型贴图的方法还包括:计算多个位置对应的AO子图的平均值得到待烘焙模型的AO图。
具体而言,通过摄像机渲染待烘焙模型在屏幕坐标系下的深度图和SSAO图,可得到摄像机在第一位置处,渲染得到的待烘焙模型的深度图和SSAO图,SSAO图中的坐标对应待烘焙模型的顶点,坐标的色值信息对应该顶点处的遮蔽度。从而针对待烘焙模型的各个屏幕坐标,设置贴图布局图上对应坐标的色值信息后,也即将该SSAO图中各个顶点对应的遮蔽度,分别写入贴图布局图的对应坐标,得到在第一位置处对应的遮蔽度情况,在本申请中定义为第一位置对应的AO子图,如图6所示。
改变摄像机的设置位置,重复得到不同位置的深度图和SSAO图,分别写入对应的贴图布局图,可得到多个位置对应的AO子图,然后对多个位置对应的AO子图求平均值,以得到待烘焙模型的AO图,采用该AO图得到的模型如图7所示,烘焙耗时0.2秒,在同等资源条件下,采用Blender烘焙相同模型的相同AO贴图时,烘焙耗时6分钟,采用Substance Painter烘焙相同模型的相同AO贴图时,烘焙耗时6秒。
在该实施例提供的烘焙模型贴图的方法中,烘焙AO贴图时,通过位于不同位置的摄像机渲染待烘焙模型的SSAO图,并且针对每个位置对应的SSAO图,将SSAO图中的色值信息写入贴图布局图的对应坐标,得到该位置对应的AO子图,最后计算多个位置对应的AO子图的均值,得到待烘焙模型的AO图。采用该实施例提供的烘焙模型贴图的方法烘焙AO贴图,从摄像机向待烘焙模型发射射线进行渲染,利用多次渲染SSAO图取平均值来实现AO贴图的烘焙。而在现有技术中,需要对模型每个面的每个像素向外发射一系列射线,通过射线的遮挡率来计算AO贴图,假设模型由a个三角面组成,每个三角面烘焙b个像素,每个像素发射c条射线,则需要渲染的次数为a*b*c次,当模型复杂时,例如a=1000,b=100,c=50时,需要渲染1000*100*50次,渲染次数较多,导致渲染过程耗时长。而该实施例提供的烘焙模型AO贴图的方法,渲染的次数与模型的复杂度无关,因此该实施例烘焙模型AO贴图的方法能够采用较少的渲染次数,从而减少渲染耗时,进一步提升烘焙效率。
可选地,在一种实施例中,烘焙模型贴图的方法还包括:获取球模型;将待烘焙模型设置于球模型的球心;缩放待烘焙模型,以使待烘焙模型各顶点至球心的距离均小于或等于球模型的半径;其中,第一位置为球模型上的一个顶点,多个位置为球模型上的多个顶点。
具体而言,预置球模型,将球模型的球心作为世界坐标系的中心,将待烘焙模型设置于该球心,通过缩放,将待烘焙模型各顶点至球心的距离均小于或等于球模型的半径,也即将待烘焙模型恰好设置于球模型内,将球模型的各个顶点作为架设摄像机的位置,实现将待烘焙模型位于摄像机的视场内,同时实现全方位多个角度架设摄像机,以能够根据多个角度位置上的SSAO图求取AO贴图,提升AO贴图的均匀性。
该球模型可以为经纬球,如图8所示。可选地,在一种实施例中,该球模型为几何球模型,如图9所示。将待烘焙模型恰好设置于几何球模型内,如图10所示。基于经纬球的各个三角面的顶点几乎等间距设置的特点,将经纬球的各个顶点作为假设摄像机的位置,使得摄像机能够在待烘焙模型外均匀设置,也即从各个角度均匀的向待烘焙模型发射射线进行渲染,使得利用多次渲染SSAO图得到的平均值,也即AO贴图更均匀,从而进一步提升AO贴图的效果。
可选地,在一种实施例中,第一位置对应的AO子图用数组表示,其中,数组的元素包括贴图坐标和遮蔽度;若物理深度与图像深度不同,将贴图布局图上屏幕坐标对应的色值信息设置为预设值的步骤包括:若第一屏幕坐标对应的物理深度与图像深度不同,将贴图布局图上第一屏幕坐标对应的第一贴图坐标,作为数组中第一元素的贴图坐标,将0作为第一元素的遮蔽度;若物理深度与图像深度相同,根据待烘焙信息图上屏幕坐标的色值信息设置贴图布局图上屏幕坐标的色值信息的步骤包括:若第一屏幕坐标对应的物理深度与图像深度相同,将贴图布局图上第一屏幕坐标对应的第一贴图坐标,作为数组中第一元素的贴图坐标,将待烘焙信息图上第一屏幕坐标的色值信息作为第一元素的遮蔽度。
在该实施例中,采用数组来表示AO子图,该数组中的每个元素对应待烘焙模型的一个屏幕坐标,每个元素包括贴图坐标和遮蔽度。生成AO子图的过程,也即生成上述数组中各个元素的过程。以待烘焙模型的任意一个屏幕坐标也即第一屏幕坐标,其对应数组中的第一元素为例,在生成第一元素时,判断第一屏幕坐标对应的物理深度与图像深度是否相同。不同时,利用第一屏幕坐标与相机坐标的映射关系,在贴图布局图上找到第一屏幕坐标对应的贴图坐标,也即第一贴图坐标,将该第一贴图坐标作为数组中第一元素的贴图坐标,将0作为第一元素的遮蔽度;相同时,同样利用第一屏幕坐标与相机坐标的映射关系,在贴图布局图上找到第一屏幕坐标对应的贴图坐标,也即第一贴图坐标,将该第一贴图坐标作为数组中第一元素的贴图坐标,此外,在待烘焙信息图上找到第一屏幕坐标的色值信息,将该色值信息作为第一元素的遮蔽度。对待烘焙模型的每个屏幕坐标进行上述步骤的处理,生成对应的元素,也即生成表示AO子图的数组,其中,数组中遮蔽度为0的元素,也即从摄像机的当前位置向待烘焙模型发射射线时,未被采样到的顶点。在计算多个位置对应的AO子图的均值时,针对各个数组,对已被采样到的顶点所对应的遮蔽度计算均值。
可选地,在一种实施例中,第一位置对应的AO子图用数组表示,其中,数组的元素包括贴图坐标和遮蔽度;若物理深度与图像深度不同,将贴图布局图上屏幕坐标对应的色值信息设置为预设值的步骤包括:若第一屏幕坐标对应的物理深度与图像深度不同,将贴图布局图上第一屏幕坐标对应的第一贴图坐标,作为数组中第一元素的贴图坐标,将0作为第一元素的遮蔽度;若物理深度与图像深度相同,根据待烘焙信息图上屏幕坐标对应的色值信息设置贴图布局图上屏幕坐标的色值信息的步骤包括:若第一屏幕坐标对应的物理深度与图像深度相同,将贴图布局图上第一屏幕坐标对应的第一贴图坐标,作为第一元素的贴图坐标,根据待烘焙信息图上第一屏幕坐标及相邻屏幕坐标对应的权重和色值信息计算第一屏幕坐标的模糊色值信息,将模糊色值信息作为第一元素的遮蔽度。
在该实施例中,与上述实施例不同之处在于,当第一屏幕坐标对应的物理深度与图像深度相同时,不是直接将待烘焙信息图上第一屏幕坐标的色值信息作为第一元素的遮蔽度,而是根据待烘焙信息图上第一屏幕坐标及相邻屏幕坐标对应的权重和色值信息计算出一个模糊色值信息,将模糊色值信息作为第一元素的遮蔽度。具体而言,第一屏幕坐标的相邻屏幕坐标可以设置为4个,具体包括与第一屏幕坐标相邻的上下左右四个相邻屏幕坐标;或者,第一屏幕坐标的相邻屏幕坐标可以设置为8个,具体包括与第一屏幕坐标相邻的上、下、左、右、左上、右上、左下和右下的8个相邻屏幕坐标,也即以第一屏幕坐标为中心,围绕其的8个临近坐标;或者,第一屏幕坐标的相邻屏幕坐标可以设置为24个,具体包括以第一屏幕坐标为中心,围绕其的24个相邻屏幕坐标。其中,在计算模糊色值信息时,计算第一屏幕坐标的色值信息与对应权重的积,计算各个相邻屏幕坐标与对应权重的积,将所有的积加和,即可得到模糊色值信息,其中,第一屏幕坐标对应的权重较大,与第一屏幕坐标距离越近的相邻屏幕坐标,对应的权重越大。
采用该实施例提供的烘焙模型贴图的方法,利用屏幕坐标及相邻屏幕坐标对应的权重和色值信息计算模糊色值信息,将该模糊色值信息作为屏幕坐标对应贴图坐标的色值信息,实现采样时像素信息的混合,能够减少噪音,提升AO图的均匀性。得到的AO贴图如图11所示,将根据该AO贴图最终得到的模型如图12所示。
可选地,在一种实施例中,数组还包括采样次数,烘焙模型贴图的方法还包括:若第一屏幕坐标对应的物理深度与图像深度不同,将0作为第一元素的采样次数;若第一屏幕坐标对应的物理深度与图像深度相同,将1作为第一元素的采样次数;计算多个位置对应的AO子图的平均值得到待烘焙模型的AO图的步骤包括:计算多个位置对应的数组中第一元素的遮蔽度的和,得到第一总遮蔽度;计算多个位置对应的数组中第一元素的采样次数的和,得到第一总采样次数;计算第一总遮蔽度和第一总采样次数的商,得到AO图中第一元素的贴图坐标处的遮蔽度。
在该实施例中,将采样次数写入数组,从而在计算多个位置对应的AO子图的均值时,提取各数组中同一个贴图坐标所在的元素,计算这些元素中遮蔽度的和,得到一个总遮蔽度,计算这些元素中采样次数的和,得到一个总采样次数,利用该总遮蔽度处于该总采样次数,得到该贴图坐标对应的遮蔽度。依次提取各数组中每一个贴图坐标所在的元素进行上述计算,即可得到每一个贴图坐标对应的遮蔽度,也即得到AO图。或者,在第二次得到数组后,与第一次得到的数组按照元素的对应关系,对采样次数和遮蔽度分别对应加和,得到一个加和数组,在第三次得到数组后,与当前的加和数组仍按照元素的对应关系,对采样次数和遮蔽度分别对应加和,得到一个新的加和数组,依次类推,直到最后一次得到数组后,与加和数组按照元素的对应关系,对采样次数和遮蔽度分别对应加和,得到最终的加和数组,其中,加和过程中加和数组对应的AO子图混合图如图13所示。在该最终的加和数组中,每个元素中的采样次数即为该元素中贴图坐标对应的总采样次数,遮蔽度即为该元素中贴图坐标对应的总遮蔽度。通过数组来表示AO子图,方便AO图的计算。在数组中加入采样次数,进一步提升AO图计算的便利性。
可选地,在一种实施例中,针对待烘焙模型的同一屏幕坐标,比较待烘焙模型的物理深度和深度图上表征的图像深度是否相同的步骤包括:在世界坐标系下,计算待烘焙模型的物理深度;获取待烘焙模型的相机坐标;将相机坐标转换成屏幕坐标;根据屏幕坐标对深度图进行采样,得到图像深度;针对屏幕坐标,比较物理深度和图像深度是否相同。
具体而言,针对待烘焙模型的各个顶点,计算每个顶点的世界坐标至摄像机的世界坐标之间的距离,得到每个顶点对应的物理深度。获取待烘焙模型在相机坐标系下的坐标得到相机坐标,通过坐标系的转换,将相机坐标转换为屏幕坐标,利用屏幕坐标对深度图进行采样,每个屏幕坐标对应的深度图上的色值信息,即为图像深度。然后针对相同的屏幕坐标,将该屏幕坐标所标识的顶点对应的物理深度,与该屏幕坐标采用得到的图像深度进行比较。
可选地,在一种实施例中,根据待烘焙信息图上屏幕坐标的色值信息设置贴图布局图上屏幕坐标对应的色值信息的步骤包括:根据屏幕坐标对待烘焙信息图进行采样,得到待烘焙色值信息;以及根据屏幕坐标对应的待烘焙色值信息设置贴图布局图上屏幕坐标对应的色值信息。
具体而言,利用屏幕坐标对待烘焙信息图进行采样,每个屏幕坐标对应的待烘焙信息图上的色值信息,即为待烘焙色值信息,然后利用屏幕坐标与待烘焙色值信息的对应关系,设置贴图布局图上屏幕坐标对应的色值信息。
实施例二
对应于上述实施例一,本申请实施例二提供了一种烘焙模型贴图的装置,相应地技术特征细节和对应的技术效果可参考上述实施例一,在该实施例中不再赘述。图14为本申请实施例二提供的烘焙模型贴图的装置的框图,如图14所示,该装置包括:第一获取模块201、第一渲染模块202、第二渲染模块203、比较模块204、第一处理模块205和第二处理模块206。
其中,第一获取模块201用于获取待烘焙模型和所述待烘焙模型的贴图坐标信息;第一渲染模块202用于渲染所述待烘焙模型在屏幕坐标系下的深度图和待烘焙信息图;第二渲染模块203用于把所述待烘焙模型根据所述贴图坐标信息展开,以所述待烘焙模型的相机坐标信息作为颜色,渲染得到贴图布局图;比较模块204用于针对所述待烘焙模型的同一屏幕坐标,比较所述待烘焙模型的物理深度和深度图上表征的图像深度是否相同;第一处理模块205用于当所述物理深度与所述图像深度不同,将所述贴图布局图上所述屏幕坐标对应的色值信息设置为预设值;第二处理模块206用于当所述物理深度与所述图像深度相同,根据所述待烘焙信息图上所述屏幕坐标的色值信息设置所述贴图布局图上所述屏幕坐标对应的色值信息。
可选地,在一种实施例中,所述模型贴图为AO图,所述待烘焙信息图为SSAO图。
可选地,在一种实施例中,第一渲染模块202包括:第一设置单元和第一渲染单元,第一设置单元用于在第一位置设置摄像机,其中,所述待烘焙模型位于所述摄像机的视场内;第一渲染单元用于通过所述摄像机渲染所述待烘焙模型在屏幕坐标系下的深度图和SSAO图;针对所述待烘焙模型的各个屏幕坐标,设置所述贴图布局图上所述屏幕坐标的色值信息后,得到所述第一位置对应的AO子图;所述烘焙模型贴图的装置还包括计算模块,用于计算多个位置对应的AO子图的平均值得到所述待烘焙模型的AO图。
可选地,在一种实施例中,所述烘焙模型贴图的装置还包括建模模块,用于获取球模型,将所述待烘焙模型设置于所述球模型的球心,缩放所述待烘焙模型,以使所述待烘焙模型各顶点至所述球心的距离均小于或等于所述球模型的半径,其中,所述第一位置为所述球模型上的一个顶点,所述多个位置为所述球模型上的多个顶点。
可选地,在一种实施例中,所述球模型为几何球模型。
可选地,在一种实施例中,所述第一位置对应的AO子图用数组表示,其中,所述数组的元素包括贴图坐标和遮蔽度;若所述物理深度与所述图像深度不同,将所述贴图布局图上所述屏幕坐标对应的色值信息设置为预设值的步骤包括:若第一屏幕坐标对应的所述物理深度与所述图像深度不同,将所述贴图布局图上所述第一屏幕坐标对应的第一贴图坐标,作为所述数组中第一元素的贴图坐标,将0作为所述第一元素的遮蔽度;若所述物理深度与所述图像深度相同,根据所述待烘焙信息图上所述屏幕坐标的色值信息设置所述贴图布局图上所述屏幕坐标的色值信息的步骤包括:若所述第一屏幕坐标对应的所述物理深度与所述图像深度相同,将所述贴图布局图上所述第一屏幕坐标对应的第一贴图坐标,作为所述数组中第一元素的贴图坐标,将所述待烘焙信息图上所述第一屏幕坐标的色值信息作为所述第一元素的遮蔽度。
可选地,在一种实施例中,所述第一位置对应的AO子图用数组表示,其中,所述数组的元素包括贴图坐标和遮蔽度;若所述物理深度与所述图像深度不同,将所述贴图布局图上所述屏幕坐标对应的色值信息设置为预设值的步骤包括:若第一屏幕坐标对应的所述物理深度与所述图像深度不同,将所述贴图布局图上所述第一屏幕坐标对应的第一贴图坐标,作为所述数组中第一元素的贴图坐标,将0作为所述第一元素的遮蔽度;若所述物理深度与所述图像深度相同,根据所述待烘焙信息图上所述屏幕坐标对应的色值信息设置所述贴图布局图上所述屏幕坐标的色值信息的步骤包括:若所述第一屏幕坐标对应的所述物理深度与所述图像深度相同,将所述贴图布局图上所述第一屏幕坐标对应的第一贴图坐标,作为所述第一元素的贴图坐标,根据所述待烘焙信息图上所述第一屏幕坐标及相邻屏幕坐标对应的权重和色值信息计算所述第一屏幕坐标的模糊色值信息,将所述模糊色值信息作为所述第一元素的遮蔽度。
可选地,在一种实施例中,所述数组还包括采样次数,第一处理模块205还用于若第一屏幕坐标对应的所述物理深度与所述图像深度不同,将0作为所述第一元素的采样次数;第二处理模块206还用于若所述第一屏幕坐标对应的所述物理深度与所述图像深度相同,将1作为所述第一元素的采样次数;计算模块计算待烘焙模型的AO图时,具体执行的步骤包括:计算所述多个位置对应的数组中所述第一元素的遮蔽度的和,得到第一总遮蔽度;计算所述多个位置对应的数组中所述第一元素的采样次数的和,得到第一总采样次数;计算所述第一总遮蔽度和所述第一总采样次数的商,得到所述AO图中所述第一元素的贴图坐标处的遮蔽度。
可选地,在一种实施例中,针对所述待烘焙模型的同一屏幕坐标,比较模块204比较所述待烘焙模型的物理深度和深度图上表征的图像深度是否相同时,具体执行的步骤包括:在世界坐标系下,计算所述待烘焙模型的所述物理深度;获取所述待烘焙模型的相机坐标;将所述相机坐标转换成所述屏幕坐标;根据所述屏幕坐标对所述深度图进行采样,得到所述图像深度;针对所述屏幕坐标,比较所述物理深度和所述图像深度是否相同。
可选地,在一种实施例中,第二处理模块206根据所述待烘焙信息图上所述屏幕坐标的色值信息设置所述贴图布局图上所述屏幕坐标对应的色值信息时,具体执行的步骤包括:根据所述屏幕坐标对所述待烘焙信息图进行采样,得到待烘焙色值信息;以及根据所述屏幕坐标对应的待烘焙色值信息设置所述贴图布局图上所述屏幕坐标对应的色值信息。
实施例三
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图3所示,本实施例的计算机设备01至少包括但不限于:可通过系统总线相互通信连接的存储器011、处理器012,如图3所示。需要指出的是,图3仅示出了具有组件存储器011和处理器012的计算机设备01,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器011(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器011可以是计算机设备01的内部存储单元,例如该计算机设备01的硬盘或内存。在另一些实施例中,存储器011也可以是计算机设备01的外部存储设备,例如该计算机设备01上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器011还可以既包括计算机设备01的内部存储单元也包括其外部存储设备。本实施例中,存储器011通常用于存储安装于计算机设备01的操作系统和各类应用软件,例如实施例二的烘焙模型贴图的装置的程序代码等。此外,存储器011还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器012在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器012通常用于控制计算机设备01的总体操作。本实施例中,处理器012用于运行存储器011中存储的程序代码或者处理数据,例如烘焙模型贴图的方法等。
实施例四
本实施例四还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储烘焙模型贴图的装置,被处理器执行时实现实施例一的烘焙模型贴图的方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (13)
1.一种烘焙模型贴图的方法,其特征在于,包括:
获取待烘焙模型和所述待烘焙模型的贴图坐标信息;
渲染所述待烘焙模型在屏幕坐标系下的深度图和待烘焙信息图;
把所述待烘焙模型根据所述贴图坐标信息展开,以所述待烘焙模型的相机坐标信息作为颜色,渲染得到贴图布局图;
针对所述待烘焙模型的同一屏幕坐标,比较所述待烘焙模型的物理深度和深度图上表征的图像深度是否相同;
若所述物理深度与所述图像深度不同,将所述贴图布局图上所述屏幕坐标对应的色值信息设置为预设值;
若所述物理深度与所述图像深度相同,根据所述待烘焙信息图上所述屏幕坐标的色值信息设置所述贴图布局图上所述屏幕坐标对应的色值信息。
2.根据权利要求1所述的烘焙模型贴图的方法,其特征在于,所述模型贴图为AO图,所述待烘焙信息图为SSAO图。
3.根据权利要求2所述的烘焙模型贴图的方法,其特征在于,
渲染所述待烘焙模型在屏幕坐标系下的深度图和待烘焙信息图的步骤包括:在第一位置设置摄像机,其中,所述待烘焙模型位于所述摄像机的视场内;通过所述摄像机渲染所述待烘焙模型在屏幕坐标系下的深度图和SSAO图;
针对所述待烘焙模型的各个屏幕坐标,设置所述贴图布局图上所述屏幕坐标的色值信息后,得到所述第一位置对应的AO子图;
所述烘焙模型贴图的方法还包括:计算多个位置对应的AO子图的平均值得到所述待烘焙模型的AO图。
4.根据权利要求3所述的烘焙模型贴图的方法,其特征在于,所述烘焙模型贴图的方法还包括:
获取球模型;
将所述待烘焙模型设置于所述球模型的球心;
缩放所述待烘焙模型,以使所述待烘焙模型各顶点至所述球心的距离均小于或等于所述球模型的半径;
其中,所述第一位置为所述球模型上的一个顶点,所述多个位置为所述球模型上的多个顶点。
5.根据权利要求4所述的烘焙模型贴图的方法,其特征在于,所述球模型为几何球模型。
6.根据权利要求3所述的烘焙模型贴图的方法,其特征在于,
所述第一位置对应的AO子图用数组表示,其中,所述数组的元素包括贴图坐标和遮蔽度;
若所述物理深度与所述图像深度不同,将所述贴图布局图上所述屏幕坐标对应的色值信息设置为预设值的步骤包括:若第一屏幕坐标对应的所述物理深度与所述图像深度不同,将所述贴图布局图上所述第一屏幕坐标对应的第一贴图坐标,作为所述数组中第一元素的贴图坐标,将0作为所述第一元素的遮蔽度;
若所述物理深度与所述图像深度相同,根据所述待烘焙信息图上所述屏幕坐标的色值信息设置所述贴图布局图上所述屏幕坐标的色值信息的步骤包括:若所述第一屏幕坐标对应的所述物理深度与所述图像深度相同,将所述贴图布局图上所述第一屏幕坐标对应的第一贴图坐标,作为所述数组中第一元素的贴图坐标,将所述待烘焙信息图上所述第一屏幕坐标的色值信息作为所述第一元素的遮蔽度。
7.根据权利要求3所述的烘焙模型贴图的方法,其特征在于,
所述第一位置对应的AO子图用数组表示,其中,所述数组的元素包括贴图坐标和遮蔽度;
若所述物理深度与所述图像深度不同,将所述贴图布局图上所述屏幕坐标对应的色值信息设置为预设值的步骤包括:若第一屏幕坐标对应的所述物理深度与所述图像深度不同,将所述贴图布局图上所述第一屏幕坐标对应的第一贴图坐标,作为所述数组中第一元素的贴图坐标,将0作为所述第一元素的遮蔽度;
若所述物理深度与所述图像深度相同,根据所述待烘焙信息图上所述屏幕坐标对应的色值信息设置所述贴图布局图上所述屏幕坐标的色值信息的步骤包括:若所述第一屏幕坐标对应的所述物理深度与所述图像深度相同,将所述贴图布局图上所述第一屏幕坐标对应的第一贴图坐标,作为所述第一元素的贴图坐标,根据所述待烘焙信息图上所述第一屏幕坐标及相邻屏幕坐标对应的权重和色值信息计算所述第一屏幕坐标的模糊色值信息,将所述模糊色值信息作为所述第一元素的遮蔽度。
8.根据权利要求6或7所述的烘焙模型贴图的方法,其特征在于,
所述数组还包括采样次数,所述烘焙模型贴图的方法还包括:若第一屏幕坐标对应的所述物理深度与所述图像深度不同,将0作为所述第一元素的采样次数;若所述第一屏幕坐标对应的所述物理深度与所述图像深度相同,将1作为所述第一元素的采样次数;
计算多个位置对应的AO子图的平均值得到所述待烘焙模型的AO图的步骤包括:
计算所述多个位置对应的数组中所述第一元素的遮蔽度的和,得到第一总遮蔽度;计算所述多个位置对应的数组中所述第一元素的采样次数的和,得到第一总采样次数;计算所述第一总遮蔽度和所述第一总采样次数的商,得到所述AO图中所述第一元素的贴图坐标处的遮蔽度。
9.根据权利要求1至7中任一项所述的烘焙模型贴图的方法,其特征在于,针对所述待烘焙模型的同一屏幕坐标,比较所述待烘焙模型的物理深度和深度图上表征的图像深度是否相同的步骤包括:
在世界坐标系下,计算所述待烘焙模型的所述物理深度;
获取所述待烘焙模型的相机坐标;
将所述相机坐标转换成所述屏幕坐标;
根据所述屏幕坐标对所述深度图进行采样,得到所述图像深度;
针对所述屏幕坐标,比较所述物理深度和所述图像深度是否相同。
10.根据权利要求9所述的烘焙模型贴图的方法,其特征在于,根据所述待烘焙信息图上所述屏幕坐标的色值信息设置所述贴图布局图上所述屏幕坐标对应的色值信息的步骤包括:
根据所述屏幕坐标对所述待烘焙信息图进行采样,得到待烘焙色值信息;以及
根据所述屏幕坐标对应的待烘焙色值信息设置所述贴图布局图上所述屏幕坐标对应的色值信息。
11.一种烘焙模型贴图的装置,其特征在于,包括:
获取模块,用于获取待烘焙模型和所述待烘焙模型的贴图坐标信息;
第一渲染模块,用于渲染所述待烘焙模型在屏幕坐标系下的深度图和待烘焙信息图;
第二渲染模块,用于把所述待烘焙模型根据所述贴图坐标信息展开,以所述待烘焙模型的相机坐标信息作为颜色,渲染得到贴图布局图;
比较模块,用于针对所述待烘焙模型的同一屏幕坐标,比较所述待烘焙模型的物理深度和深度图上表征的图像深度是否相同;
第一处理模块,用于当所述物理深度与所述图像深度不同,将所述贴图布局图上所述屏幕坐标对应的色值信息设置为预设值;
第二处理模块,用于当所述物理深度与所述图像深度相同,根据所述待烘焙信息图上所述屏幕坐标的色值信息设置所述贴图布局图上所述屏幕坐标对应的色值信息。
12.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10任一项所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至10任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011127143.0A CN112419460B (zh) | 2020-10-20 | 2020-10-20 | 烘焙模型贴图的方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011127143.0A CN112419460B (zh) | 2020-10-20 | 2020-10-20 | 烘焙模型贴图的方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112419460A true CN112419460A (zh) | 2021-02-26 |
CN112419460B CN112419460B (zh) | 2023-11-28 |
Family
ID=74840321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011127143.0A Active CN112419460B (zh) | 2020-10-20 | 2020-10-20 | 烘焙模型贴图的方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112419460B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113112581A (zh) * | 2021-05-13 | 2021-07-13 | 广东三维家信息科技有限公司 | 三维模型的纹理贴图生成方法、装置、设备及存储介质 |
CN113160378A (zh) * | 2021-03-25 | 2021-07-23 | 网易(杭州)网络有限公司 | 一种地面裂纹处理方法及装置 |
CN116778053A (zh) * | 2023-06-20 | 2023-09-19 | 北京百度网讯科技有限公司 | 基于目标引擎的贴图生成方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030112237A1 (en) * | 2001-12-13 | 2003-06-19 | Marco Corbetta | Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene |
CN102254340A (zh) * | 2011-07-29 | 2011-11-23 | 北京麒麟网信息科技有限公司 | 一种基于gpu加速的环境光遮挡图像绘制方法及系统 |
CN102346921A (zh) * | 2011-09-19 | 2012-02-08 | 广州市凡拓数码科技有限公司 | 一种三维软件的渲染器烘焙光影贴图的方法 |
CN104134230A (zh) * | 2014-01-22 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置及计算机设备 |
CN108257204A (zh) * | 2016-12-28 | 2018-07-06 | 福建省天奕网络科技有限公司 | 运用于Unity引擎的顶点色绘制烘焙方法及系统 |
CN111768452A (zh) * | 2020-06-30 | 2020-10-13 | 天津大学 | 一种基于深度学习的非接触式自动贴图方法 |
-
2020
- 2020-10-20 CN CN202011127143.0A patent/CN112419460B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030112237A1 (en) * | 2001-12-13 | 2003-06-19 | Marco Corbetta | Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene |
CN102254340A (zh) * | 2011-07-29 | 2011-11-23 | 北京麒麟网信息科技有限公司 | 一种基于gpu加速的环境光遮挡图像绘制方法及系统 |
CN102346921A (zh) * | 2011-09-19 | 2012-02-08 | 广州市凡拓数码科技有限公司 | 一种三维软件的渲染器烘焙光影贴图的方法 |
CN104134230A (zh) * | 2014-01-22 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置及计算机设备 |
CN108257204A (zh) * | 2016-12-28 | 2018-07-06 | 福建省天奕网络科技有限公司 | 运用于Unity引擎的顶点色绘制烘焙方法及系统 |
CN111768452A (zh) * | 2020-06-30 | 2020-10-13 | 天津大学 | 一种基于深度学习的非接触式自动贴图方法 |
Non-Patent Citations (2)
Title |
---|
刘飞鸿等: "Quest3D虚拟现实中贴图烘焙技术的研究", 《中国园艺文摘》 * |
曹雪峰等: "三维交互场景中基于图像的实时阴影渲染与反走样技术", 《系统仿真学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113160378A (zh) * | 2021-03-25 | 2021-07-23 | 网易(杭州)网络有限公司 | 一种地面裂纹处理方法及装置 |
CN113160378B (zh) * | 2021-03-25 | 2023-05-05 | 网易(杭州)网络有限公司 | 一种地面裂纹处理方法及装置 |
CN113112581A (zh) * | 2021-05-13 | 2021-07-13 | 广东三维家信息科技有限公司 | 三维模型的纹理贴图生成方法、装置、设备及存储介质 |
CN116778053A (zh) * | 2023-06-20 | 2023-09-19 | 北京百度网讯科技有限公司 | 基于目标引擎的贴图生成方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112419460B (zh) | 2023-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108062784B (zh) | 三维模型纹理贴图转换方法与装置 | |
CN112419460B (zh) | 烘焙模型贴图的方法、装置、计算机设备和存储介质 | |
US20130016112A1 (en) | Methods and apparatus for multiple texture map storage and filtering including irregular texture maps | |
CN111640180B (zh) | 一种三维重建方法、装置及终端设备 | |
US9224233B2 (en) | Blending 3D model textures by image projection | |
CN111583381B (zh) | 游戏资源图的渲染方法、装置及电子设备 | |
CN110428504B (zh) | 文本图像合成方法、装置、计算机设备和存储介质 | |
CN110751620A (zh) | 估算体积和重量的方法、电子设备及计算机可读存储介质 | |
CN116917946A (zh) | 提供临时纹理应用以增强3d建模的方法和系统 | |
CN115409957A (zh) | 基于虚幻引擎的地图构建方法、电子设备和存储介质 | |
US11100707B2 (en) | Computer graphics method for terrain rendering | |
CN117635875B (zh) | 一种三维重建方法、装置及终端 | |
CN114820980A (zh) | 三维重建方法、装置、电子设备和可读存储介质 | |
Boreskov et al. | Computer Graphics: From Pixels to Programmable Graphics Hardware | |
CN115409962B (zh) | 虚幻引擎内构建坐标系统的方法、电子设备和存储介质 | |
CN112419459B (zh) | 烘焙模型ao贴图的方法、装置、计算机设备和存储介质 | |
CN113920274B (zh) | 场景点云处理方法及装置、无人机、遥测终端和存储介质 | |
CN115409958A (zh) | 基于虚幻引擎的平面构建方法、电子设备和存储介质 | |
CN115409960A (zh) | 基于虚幻引擎的模型构建方法、电子设备和存储介质 | |
CN116152389B (zh) | 一种用于纹理贴图的视角选择和纹理对齐方法及相关设备 | |
CN117611781B (zh) | 一种实景三维模型的压平方法及装置 | |
CN117557710B (zh) | 一种纹理渲染方法、装置、终端设备及存储介质 | |
US20240193864A1 (en) | Method for 3d visualization of sensor data | |
CN112435312B (zh) | 运动轨迹的生成方法、装置、计算机设备和可读存储介质 | |
CN116474363A (zh) | 场景模型的渲染方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |