CN112419459A - 烘焙模型ao贴图的方法、装置、计算机设备和存储介质 - Google Patents
烘焙模型ao贴图的方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112419459A CN112419459A CN202011124881.XA CN202011124881A CN112419459A CN 112419459 A CN112419459 A CN 112419459A CN 202011124881 A CN202011124881 A CN 202011124881A CN 112419459 A CN112419459 A CN 112419459A
- Authority
- CN
- China
- Prior art keywords
- coordinate
- model
- baked
- graph
- mapping
- 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
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
本申请提供了一种烘焙模型AO贴图的方法、装置、计算机设备和存储介质。该方法包括:获取待烘焙模型和待烘焙模型的贴图坐标信息;在第一位置设置摄像机,其中,待烘焙模型位于摄像机的视场内;通过摄像机渲染待烘焙模型的SSAO图;将SSAO图中的色值信息写入贴图坐标信息的对应坐标,得到第一位置对应的AO子图;计算多个位置对应的AO子图的均值,得到待烘焙模型的AO图。通过本申请,能够提升烘焙AO图的效率。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种烘焙模型AO贴图的方法、装置、计算机设备和存储介质。
背景技术
模型AO(Ambient Occlusion,环境光遮蔽)贴图,一般是一张灰度图,用于记录模型受环境光遮蔽的信息,AO贴图的颜色越白,表示模型受环境光越强,模型AO贴图的颜色越黑,表示受遮蔽越强。
目前,在次世代游戏中,一般都使用AO贴图提高表现。AO贴图的渲染分为实时渲染和离线渲染(即烘焙),其中,通常实时渲染效果品质较低,性能开销较大,不适合移动终端使用,因此,目前使用预先烘焙的AO贴图依然是常用的手段。
烘焙模型AO贴图的工具有很多种,比如3DMax,Blender等美术引擎,具体烘焙原理各不相同。但是,使用美术引擎烘焙模型AO贴图消耗的时间太长,以Blender为例,烘焙一张4096的贴图往往需要好几分钟时间,而3DMax烘焙的操作步骤又极其复杂。
因此,如何提高烘焙模型AO贴图的效率,成为本领域亟需解决的技术问题。
发明内容
本申请的目的是提供一种烘焙模型AO贴图的方法、装置、计算机设备和存储介质,用于解决现有技术中的上述技术问题。
一方面,为实现上述目的,本申请提供了一种烘焙模型AO贴图的方法、装置、计算机设备和存储介质。
该烘焙模型AO贴图的方法包括:获取待烘焙模型和所述待烘焙模型的贴图坐标信息;在第一位置设置摄像机,其中,所述待烘焙模型位于所述摄像机的视场内;通过所述摄像机渲染所述待烘焙模型的SSAO图;将所述SSAO图中的色值信息写入所述贴图坐标信息的对应坐标,得到所述第一位置对应的AO子图;计算多个位置对应的所述AO子图的均值,得到所述待烘焙模型的AO图。
进一步地,烘焙模型AO贴图的方法还包括:获取球模型;将所述待烘焙模型设置于所述球模型的球心;缩放所述待烘焙模型,以使所述待烘焙模型各顶点至所述球心的距离均小于或等于所述球模型的半径;其中,所述第一位置为所述球模型上的一个顶点,所述多个位置为所述球模型上的多个顶点。
进一步地,所述球模型为几何球模型。
进一步地,将所述SSAO图中的色值信息写入所述贴图坐标信息的对应坐标,得到所述第一位置对应的AO子图的步骤包括:以所述贴图坐标信息作为所述待烘焙模型的材质,通过所述摄像机,渲染所述待烘焙模型,得到坐标关系图;将所述SSAO图中的色值信息作为所述AO子图中的色值信息,将所述坐标关系图中的色值信息作为所述AO子图中的坐标,得到所述第一位置对应的AO子图。
进一步地,所述第一位置对应的AO子图用数组表示,其中,所述数组的元素包括贴图坐标和遮蔽度;将所述SSAO图中的色值信息作为所述AO子图中的色值信息,将所述坐标关系图中的色值信息作为所述AO子图中的坐标,得到所述第一位置对应的AO子图的步骤包括:提取所述坐标关系图中第一坐标的色值信息,得到第一色值信息,其中,所述第一坐标为所述待烘焙模型的屏幕坐标;将所述第一色值信息转换为第一UV坐标;判断所述第一UV坐标是否为0;若所述UV坐标为0,将所述第一UV坐标作为所述数组中第一元素的贴图坐标,将0作为所述第一元素的遮蔽度;若所述第一UV坐标不为0,提取所述SSAO图中对应所述第一坐标的色值信息,得到第二色值信息;将所述第一UV坐标作为所述第一元素的贴图坐标,将所述第二色值信息作为所述第一元素的遮蔽度。
进一步地,所述数组还包括采样次数,所述烘焙模型AO贴图的方法还包括:若所述第一UV坐标为0,将0作为所述第一元素的采样次数;若所述第一UV坐标不为0,将1作为所述第一元素的采样次数。
计算多个位置对应的所述AO子图的均值,得到所述待烘焙模型的AO图的步骤包括:计算所述多个位置对应的数组中所述第一元素的遮蔽度的和,得到第一总遮蔽度;计算所述多个位置对应的数组中所述第一元素的采样次数的和,得到第一总采样次数;计算所述第一总遮蔽度和所述第一总采样次数的商,得到所述AO图中所述第一元素的贴图坐标处的遮蔽度。
进一步地,所述烘焙模型AO贴图的方法还包括:若所述第一UV坐标为0,将所述第一UV坐标的临近UV坐标作为第二元素的贴图坐标,将0作为所述数组中第二元素的遮蔽度,其中,所述临近UV坐标与所述第一UV坐标相邻或间隔N个坐标,N小于预设阈值;若所述第一UV坐标不为0,将所述临近UV坐标作为所述第二元素的贴图坐标,将所述第二色值信息作为所述第二元素的遮蔽度。
另一方面,为实现上述目的,本申请提供了一种烘焙模型AO贴图的装置。
该烘焙模型AO贴图的装置包括:获取模块,用于获取待烘焙模型和所述待烘焙模型的贴图坐标信息;设置模块,用于在第一位置设置摄像机,其中,所述待烘焙模型位于所述摄像机的视场内;渲染模块,用于通过所述摄像机渲染所述待烘焙模型的SSAO图;写入模块,用于将所述SSAO图中的色值信息写入所述贴图坐标信息的对应坐标,得到所述第一位置对应的AO子图;处理模块,用于计算多个位置对应的所述AO子图的均值,得到所述待烘焙模型的AO图。
为实现上述目的,本申请还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
为实现上述目的,本申请还提供计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本申请提供的烘焙模型AO贴图的方法、装置、计算机设备和存储介质,通过位于不同位置的摄像机渲染待烘焙模型的SSAO图,并且针对每个位置对应的SSAO图,将SSAO图中的色值信息写入贴图坐标信息的对应坐标,得到该位置对应的AO子图,最后计算多个位置对应的AO子图的均值,得到待烘焙模型的AO图。通过本申请,从摄像机向待烘焙模型发射射线进行渲染,利用多次渲染SSAO图取平均值来实现AO贴图的烘焙,渲染的次数与模型的复杂度无关,在采用该烘焙模型AO贴图的方法渲染复杂模型的AO贴图时,能够采用较少的渲染次数,从而减少渲染耗时,提升渲染效率。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例一提供的烘焙模型AO贴图的方法的流程图;
图2为本申请实施例提供的待烘焙模型的效果示意图;
图3为本申请实施例提供的待烘焙模型的深度法线图的效果示意图;
图4为本申请实施例提供的待烘焙模型的SSAO图的效果示意图;
图5为本申请实施例提供的烘焙后模型的效果示意图;
图6为本申请实施例提供的经纬球的效果示意图;
图7为本申请实施例提供的几何球的效果示意图;
图8为本申请实施例提供的几何球包围待烘焙模型的效果示意图;
图9为本申请实施例提供的坐标关系图的效果示意图;
图10为本申请实施例提供的待烘焙模型的AO图的效果示意图;
图11为本申请实施例提供的另一种烘焙后模型的效果示意图;
图12为本申请实施例二提供的烘焙模型AO贴图装置的框图;
图13为本申请实施例三提供的计算机设备的硬件结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了提高烘焙模型AO贴图的效率,发明人对现有技术中的烘焙模型AO贴图的方法进行了研究。在现有技术的相关方法中,需要对模型每个面的每个像素向外发射一系列射线,通过射线的遮挡率来计算AO贴图,利用该方法,假设模型由a个三角面组成,每个三角面烘焙b个像素,每个像素发射c条射线,则需要渲染的次数为a*b*c次,当模型复杂时,例如a=1000,b=100,c=50时,需要渲染1000*100*50次,渲染次数较多,导致渲染过程耗时长。
本申请提供了一种烘焙模型AO贴图的方法、装置、计算机设备和存储介质,在本申请提供的烘焙模型AO贴图的方法中,获取待烘焙模型和待烘焙模型的贴图坐标信息后,在一个位置设置摄像机,并将待烘焙模型设置于摄像机的视场内,然后通过摄像机渲染待烘焙模型的SSAO图,将SSAO图中的色值信息写入贴图坐标信息的对应坐标,得到该位置对应的AO子图,然后改变摄像机的设置位置,再次通过摄像机渲染待烘焙模型的SSAO图,并重新将SSAO图中的色值信息写入贴图坐标信息的对应坐标,得到新位置处对应的AO子图,以此类推,通过多次变换摄像机的位置,即可得到多个位置对应的AO子图,最终计算多个位置对应的AO子图的均值,即可得到待烘焙模型的AO图。
从中可以看出,在本申请提供的烘焙模型AO贴图的方法、装置、计算机设备和存储介质中,烘焙模型AO贴图时,从摄像机向待烘焙模型发射射线进行渲染,渲染的次数与模型的复杂度无关,与现有技术相比,在采用该烘焙模型AO贴图的方法渲染复杂模型的AO贴图时,能够采用较少的渲染次数,从而减少渲染耗时,提升渲染效率。
关于本申请提供的烘焙模型AO贴图的方法、装置、计算机设备和存储介质的具体实施例,将在下文中详细描述。
实施例一
本申请实施例提供了一种烘焙模型AO贴图的方法,在该方法中,通过摄像机多次渲染SSAO后,根据多个位置的AO子图来计算AO贴图,能够提升AO贴图的烘焙效率。具体地,图1为本申请实施例一提供的烘焙模型AO贴图的方法的流程图,如图1所示,该实施例提供的烘焙模型AO贴图的方法包括如下的步骤S101至步骤S105。
步骤S101:获取待烘焙模型和待烘焙模型的贴图坐标信息。
其中,获取待烘焙模型也即获取待烘焙模型的顶点信息和面信息等,以便建立待烘焙模型,如图2所示,在图2所示的待烘焙模型中,包括8个单元盒。待烘焙模型的贴图坐标信息是指三维待烘焙模型上贴图的布局信息,例如,该贴图坐标信息为二维数组,数组中的每个元素对应待烘焙模型上的一个顶点,数组的长度为待烘焙模型包括的顶点数。
步骤S102:在第一位置设置摄像机。
其中,待烘焙模型位于摄像机的视场内。
步骤S103:通过摄像机渲染待烘焙模型的SSAO图。
SSAO(Screen Space Ambient Occlusion,屏幕空间环境光遮蔽)图,通过屏幕空间场景的深度来确定遮蔽量。可选地,在一种实施例中,通过摄像机渲染待烘焙模型的SSAO图的步骤包括:根据待烘焙模型与摄像机的位置关系,确定待烘焙模型的深度信息和法线信息;以深度信息和法线信息作为待烘焙模型的材质,通过摄像机,渲染待烘焙模型,得到深度法线图,如图3所示,最后利用深度法线图渲染待烘焙模型的SSAO图。在本申请中,可以采用现有技术中的任意SSAO图渲染算法得到待烘焙模型的SSAO图,例如,使用ScalableOcclusion算法、HBAO算法,或者其他屏幕空间AO算法,该处不再赘述。其中,以ScalableOcclusion算法得到的SSAO图如图4所示。
步骤S104:将SSAO图中的色值信息写入贴图坐标信息的对应坐标,得到第一位置对应的AO子图。
通过上述步骤S103,可得到摄像机在第一位置处,渲染得到的待烘焙模型的SSAO图,SSAO图中的坐标对应待烘焙模型的顶点,坐标的色值信息对应该顶点处的遮蔽度。在该步骤S104中,将该SSAO图中各个顶点对应的遮蔽度,分别写入贴图坐标信息的对应坐标,从而得到在第一位置处对应的遮蔽度情况,在本申请中定义为第一位置对应的AO子图。
步骤S105:计算多个位置对应的AO子图的均值,得到待烘焙模型的AO图。
改变摄像机的设置位置,重复上述步骤S102至步骤S104,可得到多个位置对应的AO子图,然后通过该步骤S105,可对多个位置对应的AO子图求平均值,以得到待烘焙模型的AO图,采用该AO图得到的模型如图5所示,烘焙耗时55秒,在同等资源条件下,采用Blender烘焙相同模型的相同AO贴图时,烘焙耗时6分钟。
在该实施例提供的烘焙模型AO贴图的方法中,通过位于不同位置的摄像机渲染待烘焙模型的SSAO图,并且针对每个位置对应的SSAO图,将SSAO图中的色值信息写入贴图坐标信息的对应坐标,得到该位置对应的AO子图,最后计算多个位置对应的AO子图的均值,得到待烘焙模型的AO图。采用该实施例提供的烘焙模型AO贴图的方法,从摄像机向待烘焙模型发射射线进行渲染,利用多次渲染SSAO图取平均值来实现AO贴图的烘焙,渲染的次数与模型的复杂度无关,在采用该烘焙模型AO贴图的方法渲染复杂模型的AO贴图时,能够采用较少的渲染次数,从而减少渲染耗时,提升渲染效率。
可选地,在一种实施例中,烘焙模型AO贴图的方法还包括:获取球模型;将待烘焙模型设置于球模型的球心;缩放待烘焙模型,以使待烘焙模型各顶点至球心的距离均小于或等于球模型的半径;其中,第一位置为球模型上的一个顶点,多个位置为球模型上的多个顶点。
具体而言,预置球模型,将球模型的球心作为世界坐标系的中心,将待烘焙模型设置于该球心,通过缩放,将待烘焙模型各顶点至球心的距离均小于或等于球模型的半径,也即将待烘焙模型恰好设置于球模型内,将球模型的各个顶点作为架设摄像机的位置,实现将待烘焙模型位于摄像机的视场内,同时实现全方位多个角度架设摄像机,以能够根据多个角度位置上的SSAO图求取AO贴图,提升AO贴图的均匀性。
该球模型可以为经纬球,如图6所示。可选地,在一种实施例中,该球模型为几何球模型,如图7所示。将待烘焙模型恰好设置于几何球模型内,如图8所示。基于经纬球的各个三角面的顶点几乎等间距设置的特点,将经纬球的各个顶点作为假设摄像机的位置,使得摄像机能够在待烘焙模型外均匀设置,也即从各个角度均匀的向待烘焙模型发射射线进行渲染,使得利用多次渲染SSAO图得到的平均值,也即AO贴图更均匀,从而进一步提升AO贴图的效果。
可选地,在一种实施例中,将SSAO图中的色值信息写入贴图坐标信息的对应坐标,得到第一位置对应的AO子图的步骤包括:以贴图坐标信息作为待烘焙模型的材质,通过摄像机,渲染待烘焙模型,得到坐标关系图;将SSAO图中的色值信息作为AO子图中的色值信息,将坐标关系图中的色值信息作为AO子图中的坐标,得到第一位置对应的AO子图。
在该实施例中,通过摄像机渲染待烘焙模型,将贴图坐标信息作为模型的颜色,具体而言,将贴图坐标信息中的X轴坐标做换为RG通道,将贴图坐标信息中的Y轴坐标做换为BA通道,渲染一个带透明通道的图,得到坐标关系图,如图9所示,其中,在渲染坐标关系图时,因为颜色的精度为1/256,无法精确描述一个浮点数,转成RG通道可以用2通道保存浮点数,精度提升到了1/65536。该坐标关系图表征了贴图坐标与待烘焙模型的屏幕坐标之间的对应关系,SSAO图中的色值信息为待烘焙的信息,坐标为待烘焙模型的屏幕坐标,因此,以待烘焙模型的屏幕坐标为关联信息,在坐标关系图和SSAO图中获取相同屏幕坐标的色值信息,其中,将获取到的坐标关系图中的色值信息(也即贴图坐标)作为坐标,将获取到的SSAO图中的色值信息(也即待烘焙信息)作为色值信息写入前述坐标,得到贴图坐标与待烘焙信息的对应关系,也即得到当前摄像机所在位置所对应的AO子图。
可选地,在一种实施例中,第一位置对应的AO子图用数组表示,其中,数组的元素包括贴图坐标和遮蔽度;将SSAO图中的色值信息作为AO子图中的色值信息,将坐标关系图中的色值信息作为AO子图中的坐标,得到第一位置对应的AO子图的步骤包括:提取坐标关系图中第一坐标的色值信息,得到第一色值信息,其中,第一坐标为待烘焙模型的屏幕坐标;将第一色值信息转换为第一UV坐标;判断第一UV坐标是否为0;若UV坐标为0,将第一UV坐标作为数组中第一元素的贴图坐标,将0作为第一元素的遮蔽度;若第一UV坐标不为0,提取SSAO图中对应第一坐标的色值信息,得到第二色值信息;将第一UV坐标作为第一元素的贴图坐标,将第二色值信息作为第一元素的遮蔽度。
在该实施例中,采用数组来表示AO子图,该数组中的每个元素对应待烘焙模型的一个屏幕坐标,每个元素包括贴图坐标和遮蔽度。生成AO子图的过程,也即生成上述数组中各个元素的过程。以待烘焙模型的任意一个屏幕坐标也即第一坐标,其对应数组中的第一元素为例,在生成第一元素时,提取坐标关系图中该第一坐标的色值信息转换第一UV坐标,通过判断第一UV坐标是否为零,来判断坐标关系图中该第一坐标的颜色是否为黑色。如果第一UV坐标为零,也即坐标关系图中该第一坐标的颜色为黑色,属于坐标关系图中的黑色区域,则对应的遮蔽度为0,因此,第一元素的贴图坐标为第一UV坐标,遮蔽度为0。如果第一UV坐标不为零,则第一元素的贴图坐标为第一UV坐标,遮蔽度为取SSAO图中第一坐标的色值信息。对待烘焙模型的每个屏幕坐标进行上述步骤的处理,生成对应的元素,也即生成表示AO子图的数组,其中,数组中遮蔽度为0的元素,也即从摄像机的当前位置向待烘焙模型发射射线时,未被采样到的顶点。在计算多个位置对应的AO子图的均值时,针对各个数组,对已被采样到的顶点所对应的遮蔽度计算均值。
可选地,在一种实施例中,数组还包括采样次数,烘焙模型AO贴图的方法还包括:若第一UV坐标为0,将0作为第一元素的采样次数;若第一UV坐标不为0,将1作为第一元素的采样次数;计算多个位置对应的AO子图的均值,得到待烘焙模型的AO图的步骤包括:计算多个位置对应的数组中第一元素的遮蔽度的和,得到第一总遮蔽度;计算多个位置对应的数组中第一元素的采样次数的和,得到第一总采样次数;计算第一总遮蔽度和第一总采样次数的商,得到AO图中第一元素的贴图坐标处的遮蔽度。
在该实施例中,将采样次数写入数组,从而在计算多个位置对应的AO子图的均值时,提取各数组中同一个贴图坐标所在的元素,计算这些元素中遮蔽度的和,得到一个总遮蔽度,计算这些元素中采样次数的和,得到一个总采样次数,利用该总遮蔽度处于该总采样次数,得到该贴图坐标对应的遮蔽度。依次提取各数组中每一个贴图坐标所在的元素进行上述计算,即可得到每一个贴图坐标对应的遮蔽度,也即得到AO图。或者,在第二次得到数组后,与第一次得到的数组按照元素的对应关系,对采样次数和遮蔽度分别对应加和,得到一个加和数组,在第三次得到数组后,与当前的加和数组仍按照元素的对应关系,对采样次数和遮蔽度分别对应加和,得到一个新的加和数组,依次类推,直到最后一次得到数组后,与加和数组按照元素的对应关系,对采样次数和遮蔽度分别对应加和,得到最终的加和数组。在该最终的加和数组中,每个元素中的采样次数即为该元素中贴图坐标对应的总采样次数,遮蔽度即为该元素中贴图坐标对应的总遮蔽度。通过数组来表示AO子图,方便AO图的计算。在数组中加入采样次数,进一步提升AO图计算的便利性。
可选地,在一种实施例中,烘焙模型AO贴图的方法还包括:若第一UV坐标为0,将第一UV坐标的临近UV坐标作为第二元素的贴图坐标,将0作为数组中第二元素的遮蔽度,其中,临近UV坐标与第一UV坐标相邻或间隔N个坐标,N小于预设阈值;若第一UV坐标不为0,将临近UV坐标作为第二元素的贴图坐标,将第二色值信息作为第二元素的遮蔽度。
在该实施例中,针对每次渲染,不仅将贴图坐标对应的遮蔽度写入该贴图坐标,同时还写入其临近的贴图坐标,其中,N为1时,1个贴图坐标M的遮蔽度被写入3*3个贴图坐标,包括贴图坐标M本身以及与贴图坐标M相邻的上、下、左、右、左上、右上、左下和右下的8个临近坐标,也即以贴图坐标M为中心,围绕其的8个临近坐标;N为2时,1个贴图坐标M的遮蔽度被写入5*5个贴图坐标,包括贴图坐标M本身以及以贴图坐标M为中心,围绕其的24个临近坐标。采用该实施例提供的烘焙模型AO贴图的方法,将一个贴图坐标的渲染信息写到相邻的多个贴图坐标上,能够减少噪音,避免采样像素的缺失,提升AO图的均匀性。得到的AO贴图如图10所示,将根据该AO贴图最终得到的模型如图11所示。
实施例二
对应于上述实施例一,本申请实施例二提供了一种烘焙模型AO贴图的装置,相应地技术特征细节和对应的技术效果可参考上述实施例一,在该实施例中不再赘述。图12为本申请实施例二提供的烘焙模型AO贴图的装置的框图,如图12所示,该装置包括:获取模块201、设置模块202、渲染模块203、写入模块204和处理模块205。
其中,获取模块201用于获取待烘焙模型和所述待烘焙模型的贴图坐标信息;设置模块202用于在第一位置设置摄像机,其中,所述待烘焙模型位于所述摄像机的视场内;渲染模块203用于通过所述摄像机渲染所述待烘焙模型的SSAO图;写入模块204用于将所述SSAO图中的色值信息写入所述贴图坐标信息的对应坐标,得到所述第一位置对应的AO子图;处理模块205用于计算多个位置对应的所述AO子图的均值,得到所述待烘焙模型的AO图。
可选地,在一种实施例中,烘焙模型AO贴图的装置还包括:建模模块,用于获取球模型,将所述待烘焙模型设置于所述球模型的球心,缩放所述待烘焙模型,以使所述待烘焙模型各顶点至所述球心的距离均小于或等于所述球模型的半径,其中,所述第一位置为所述球模型上的一个顶点,所述多个位置为所述球模型上的多个顶点。
可选地,在一种实施例中,所述球模型为几何球模型。
可选地,在一种实施例中,写入模块204包括:渲染单元和写入单元,其中,渲染单元用于以所述贴图坐标信息作为所述待烘焙模型的材质,通过所述摄像机,渲染所述待烘焙模型,得到坐标关系图;写入单元用于将所述SSAO图中的色值信息作为所述AO子图中的色值信息,将所述坐标关系图中的色值信息作为所述AO子图中的坐标,得到所述第一位置对应的AO子图。
可选地,在一种实施例中,所述第一位置对应的AO子图用数组表示,其中,所述数组的元素包括贴图坐标和遮蔽度;写入单元在将所述SSAO图中的色值信息作为所述AO子图中的色值信息,将所述坐标关系图中的色值信息作为所述AO子图中的坐标,得到所述第一位置对应的AO子图时,具体执行的步骤包括:提取所述坐标关系图中第一坐标的色值信息,得到第一色值信息,其中,所述第一坐标为所述待烘焙模型的屏幕坐标;将所述第一色值信息转换为第一UV坐标;判断所述第一UV坐标是否为0;若所述UV坐标为0,将所述第一UV坐标作为所述数组中第一元素的贴图坐标,将0作为所述第一元素的遮蔽度;若所述第一UV坐标不为0,提取所述SSAO图中对应所述第一坐标的色值信息,得到第二色值信息;将所述第一UV坐标作为所述第一元素的贴图坐标,将所述第二色值信息作为所述第一元素的遮蔽度。
可选地,在一种实施例中,所述数组还包括采样次数,写入单元具体执行的步骤还包括:所述第一UV坐标为0,将0作为所述第一元素的采样次数;若所述第一UV坐标不为0,将1作为所述第一元素的采样次数。处理模块205计算多个位置对应的所述AO子图的均值,得到所述待烘焙模型的AO图时,具体执行的步骤包括:计算所述多个位置对应的数组中所述第一元素的遮蔽度的和,得到第一总遮蔽度;计算所述多个位置对应的数组中所述第一元素的采样次数的和,得到第一总采样次数;计算所述第一总遮蔽度和所述第一总采样次数的商,得到所述AO图中所述第一元素的贴图坐标处的遮蔽度。
可选地,在一种实施例中,写入单元具体执行的步骤还包括:若所述第一UV坐标为0,将所述第一UV坐标的临近UV坐标作为第二元素的贴图坐标,将0作为所述数组中第二元素的遮蔽度,其中,所述临近UV坐标与所述第一UV坐标相邻或间隔N个坐标,N小于预设阈值;若所述第一UV坐标不为0,将所述临近UV坐标作为所述第二元素的贴图坐标,将所述第二色值信息作为所述第二元素的遮蔽度。
实施例三
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图13所示,本实施例的计算机设备01至少包括但不限于:可通过系统总线相互通信连接的存储器011、处理器012,如图13所示。需要指出的是,图13仅示出了具有组件存储器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的操作系统和各类应用软件,例如实施例二的烘焙模型AO贴图的装置的程序代码等。此外,存储器011还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器012在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器012通常用于控制计算机设备01的总体操作。本实施例中,处理器012用于运行存储器011中存储的程序代码或者处理数据,例如烘焙模型AO贴图的方法等。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储烘焙模型AO贴图的装置,被处理器执行时实现实施例一的烘焙模型AO贴图的方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种烘焙模型AO贴图的方法,其特征在于,包括:
获取待烘焙模型和所述待烘焙模型的贴图坐标信息;
在第一位置设置摄像机,其中,所述待烘焙模型位于所述摄像机的视场内;
通过所述摄像机渲染所述待烘焙模型的SSAO图;
将所述SSAO图中的色值信息写入所述贴图坐标信息的对应坐标,得到所述第一位置对应的AO子图;
计算多个位置对应的所述AO子图的均值,得到所述待烘焙模型的AO图。
2.根据权利要求1所述的烘焙模型AO贴图的方法,其特征在于,还包括:
获取球模型;
将所述待烘焙模型设置于所述球模型的球心;
缩放所述待烘焙模型,以使所述待烘焙模型各顶点至所述球心的距离均小于或等于所述球模型的半径;
其中,所述第一位置为所述球模型上的一个顶点,所述多个位置为所述球模型上的多个顶点。
3.根据权利要求2所述的烘焙模型AO贴图的方法,其特征在于,所述球模型为几何球模型。
4.根据权利要求1至3中任一项所述的烘焙模型AO贴图的方法,其特征在于,将所述SSAO图中的色值信息写入所述贴图坐标信息的对应坐标,得到所述第一位置对应的AO子图的步骤包括:
以所述贴图坐标信息作为所述待烘焙模型的材质,通过所述摄像机,渲染所述待烘焙模型,得到坐标关系图;
将所述SSAO图中的色值信息作为所述AO子图中的色值信息,将所述坐标关系图中的色值信息作为所述AO子图中的坐标,得到所述第一位置对应的AO子图。
5.根据权利要求4所述的烘焙模型AO贴图的方法,其特征在于,
所述第一位置对应的AO子图用数组表示,其中,所述数组的元素包括贴图坐标和遮蔽度;
将所述SSAO图中的色值信息作为所述AO子图中的色值信息,将所述坐标关系图中的色值信息作为所述AO子图中的坐标,得到所述第一位置对应的AO子图的步骤包括:
提取所述坐标关系图中第一坐标的色值信息,得到第一色值信息,其中,所述第一坐标为所述待烘焙模型的屏幕坐标;
将所述第一色值信息转换为第一UV坐标;
判断所述第一UV坐标是否为0;
若所述UV坐标为0,将所述第一UV坐标作为所述数组中第一元素的贴图坐标,将0作为所述第一元素的遮蔽度;
若所述第一UV坐标不为0,提取所述SSAO图中对应所述第一坐标的色值信息,得到第二色值信息;
将所述第一UV坐标作为所述第一元素的贴图坐标,将所述第二色值信息作为所述第一元素的遮蔽度。
6.根据权利要求5所述的烘焙模型AO贴图的方法,其特征在于,
所述数组还包括采样次数,所述烘焙模型AO贴图的方法还包括:若所述第一UV坐标为0,将0作为所述第一元素的采样次数;若所述第一UV坐标不为0,将1作为所述第一元素的采样次数;
计算多个位置对应的所述AO子图的均值,得到所述待烘焙模型的AO图的步骤包括:
计算所述多个位置对应的数组中所述第一元素的遮蔽度的和,得到第一总遮蔽度;
计算所述多个位置对应的数组中所述第一元素的采样次数的和,得到第一总采样次数;
计算所述第一总遮蔽度和所述第一总采样次数的商,得到所述AO图中所述第一元素的贴图坐标处的遮蔽度。
7.根据权利要求6所述的烘焙模型AO贴图的方法,其特征在于,所述烘焙模型AO贴图的方法还包括:
若所述第一UV坐标为0,将所述第一UV坐标的临近UV坐标作为第二元素的贴图坐标,将0作为所述数组中第二元素的遮蔽度,其中,所述临近UV坐标与所述第一UV坐标相邻或间隔N个坐标,N小于预设阈值;
若所述第一UV坐标不为0,将所述临近UV坐标作为所述第二元素的贴图坐标,将所述第二色值信息作为所述第二元素的遮蔽度。
8.一种烘焙模型AO贴图的装置,其特征在于,包括:
获取模块,用于获取待烘焙模型和所述待烘焙模型的贴图坐标信息;
设置模块,用于在第一位置设置摄像机,其中,所述待烘焙模型位于所述摄像机的视场内;
渲染模块,用于通过所述摄像机渲染所述待烘焙模型的SSAO图;
写入模块,用于将所述SSAO图中的色值信息写入所述贴图坐标信息的对应坐标,得到所述第一位置对应的AO子图;
处理模块,用于计算多个位置对应的所述AO子图的均值,得到所述待烘焙模型的AO图。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011124881.XA CN112419459B (zh) | 2020-10-20 | 2020-10-20 | 烘焙模型ao贴图的方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011124881.XA CN112419459B (zh) | 2020-10-20 | 2020-10-20 | 烘焙模型ao贴图的方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112419459A true CN112419459A (zh) | 2021-02-26 |
CN112419459B CN112419459B (zh) | 2023-09-08 |
Family
ID=74841028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011124881.XA Active CN112419459B (zh) | 2020-10-20 | 2020-10-20 | 烘焙模型ao贴图的方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112419459B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102592305A (zh) * | 2011-09-06 | 2012-07-18 | 浙江大学 | 自适应的屏幕空间环境光遮蔽方法 |
US20140098096A1 (en) * | 2012-10-08 | 2014-04-10 | Nvidia Corporation | Depth texture data structure for rendering ambient occlusion and method of employment thereof |
CN108257204A (zh) * | 2016-12-28 | 2018-07-06 | 福建省天奕网络科技有限公司 | 运用于Unity引擎的顶点色绘制烘焙方法及系统 |
CN108564646A (zh) * | 2018-03-28 | 2018-09-21 | 腾讯科技(深圳)有限公司 | 对象的渲染方法和装置、存储介质、电子装置 |
CN111105491A (zh) * | 2019-11-25 | 2020-05-05 | 腾讯科技(深圳)有限公司 | 场景渲染方法、装置、计算机可读存储介质和计算机设备 |
CN111540024A (zh) * | 2020-04-21 | 2020-08-14 | 网易(杭州)网络有限公司 | 一种模型渲染的方法及装置、电子设备、存储介质 |
CN111612882A (zh) * | 2020-06-10 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机存储介质及电子设备 |
-
2020
- 2020-10-20 CN CN202011124881.XA patent/CN112419459B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102592305A (zh) * | 2011-09-06 | 2012-07-18 | 浙江大学 | 自适应的屏幕空间环境光遮蔽方法 |
US20140098096A1 (en) * | 2012-10-08 | 2014-04-10 | Nvidia Corporation | Depth texture data structure for rendering ambient occlusion and method of employment thereof |
CN108257204A (zh) * | 2016-12-28 | 2018-07-06 | 福建省天奕网络科技有限公司 | 运用于Unity引擎的顶点色绘制烘焙方法及系统 |
CN108564646A (zh) * | 2018-03-28 | 2018-09-21 | 腾讯科技(深圳)有限公司 | 对象的渲染方法和装置、存储介质、电子装置 |
CN111105491A (zh) * | 2019-11-25 | 2020-05-05 | 腾讯科技(深圳)有限公司 | 场景渲染方法、装置、计算机可读存储介质和计算机设备 |
CN111540024A (zh) * | 2020-04-21 | 2020-08-14 | 网易(杭州)网络有限公司 | 一种模型渲染的方法及装置、电子设备、存储介质 |
CN111612882A (zh) * | 2020-06-10 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112419459B (zh) | 2023-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021174939A1 (zh) | 人脸图像的获取方法与系统 | |
CN108038897B (zh) | 阴影贴图生成方法及装置 | |
CN106952338B (zh) | 基于深度学习的三维重建的方法、系统及可读存储介质 | |
CN113808253B (zh) | 场景三维重建的动态对象处理方法、系统、设备及介质 | |
US20190096092A1 (en) | Method and device for calibration | |
CN111640180B (zh) | 一种三维重建方法、装置及终端设备 | |
CN110163831B (zh) | 三维虚拟沙盘的物体动态展示方法、装置及终端设备 | |
US9224233B2 (en) | Blending 3D model textures by image projection | |
CN111583381B (zh) | 游戏资源图的渲染方法、装置及电子设备 | |
CN111815707A (zh) | 点云确定方法、点云筛选方法、装置、计算机设备 | |
CN113643414B (zh) | 一种三维图像生成方法、装置、电子设备及存储介质 | |
CN115937439B (zh) | 城市建筑三维模型的构建方法、装置及电子设备 | |
CN112419460B (zh) | 烘焙模型贴图的方法、装置、计算机设备和存储介质 | |
CN111369680B (zh) | 生成建筑物的三维图像的方法及装置 | |
CN114549671A (zh) | 一种网格编码方法及计算机系统 | |
CN115409957A (zh) | 基于虚幻引擎的地图构建方法、电子设备和存储介质 | |
CN115239784A (zh) | 点云生成方法、装置、计算机设备和存储介质 | |
CN116917946A (zh) | 提供临时纹理应用以增强3d建模的方法和系统 | |
CN111870953A (zh) | 一种高度图生成方法、装置、设备及存储介质 | |
CN112419459B (zh) | 烘焙模型ao贴图的方法、装置、计算机设备和存储介质 | |
CN113920274B (zh) | 场景点云处理方法及装置、无人机、遥测终端和存储介质 | |
CN115409962A (zh) | 虚幻引擎内构建坐标系统的方法、电子设备和存储介质 | |
CN117635875B (zh) | 一种三维重建方法、装置及终端 | |
CN117557710B (zh) | 一种纹理渲染方法、装置、终端设备及存储介质 | |
US11657562B2 (en) | Utilizing hemispherical clamping for importance sampling of image-based light to render a virtual environment |
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 |