一种保持三维场景纹理清晰度一致量的烘焙方法技术

技术编号:36934847 阅读:18 留言:0更新日期:2023-03-22 18:56
本发明专利技术涉及一种保持三维场景纹理清晰度一致量的烘焙方法,包括以下步骤:获取三维场景类型,并对其进行筛选,得到烘焙模型;对烘焙模型的模型面进行分离透贴,得到分离的纹理贴图;确定纹理像素与烘焙模型表面积比例,根据该比例将烘焙模型进行拆分或合并,得到拆分后的模型或合并后的模型;对模型依次进行拆分细长、炸开为元素的操作;对烘焙模型进行UV展开,得到烘焙模型的一张平面贴图;根据纹理像素与烘焙模型表面积比例,利用纹理贴图对平面贴图进行纹理烘焙;使用烘焙后的平面贴图进行纹理反贴,覆盖烘焙前的纹理;对拆分后的模型合并,得到最终模型。本发明专利技术有益效果是:最大限度的保证烘焙后纹理精度的统一性,减少人工量和处理时间。理时间。理时间。

【技术实现步骤摘要】
一种保持三维场景纹理清晰度一致量的烘焙方法


[0001]本专利技术涉及三维模型处理领域,尤其涉及一种保持三维场景纹理清晰度一致量的烘焙方法。

技术介绍

[0002]随着互联网技术的发展,智慧城市,三维可视化技术应用面越来越广。作为支持智慧城市,三维可视化技术的三维模型数据,它有两个缺点:模型数据量较大,材质纹理过多。
[0003]而在智慧城市,三维可视化的应用上,制作范围动则一个区甚至一个市,模型数据量较大和材质纹理过多的问题就更加凸显。这些问题就会导致在将三维模型数据导入到应用平台上时造成应用平台的性能大幅度下降,甚至使应用平台无法承载大范围的三维模型数据。而纹理烘焙就是一种可以减少大量材质纹理数量的解决办法之一。
[0004]“烘焙”通常指的是记录记载图像的过程,而“纹理烘焙”指的是将单个模型进行UV重展,并将的材质或网格特征的某些方面,以及灯光阴影收集到一张重展UV的纹理当中,最后将其反贴至原来的模型上。
[0005]目前“纹理烘焙”的基本流程为:1. 分离透贴;透贴指的是带有透明通道的纹理贴图,在一般烘焙流程中使用带有透明通道的纹理贴图的模型面会出现烘焙效果错误,所以需要将其分离出来不进行烘焙;2.拆分细长;拆分细长指的是处理模型的细长面,这一步是为了使模型面UV展开的时候资源利用率更高,烘焙中的UV展开其实指的就是将模型的所有表面展开,通过一定规则将其展成1张贴图,如果模型当中有过于细长的面,会使资源利用率过低,从而影响模型烘焙效果;3.UV展开;具体作用在拆分细长中已经说明;4.烘焙纹理;可以理解为将模型的将的材质或网格特征的某些方面,以及灯光阴影渲染到1张贴图当中;5.纹理反贴;将烘焙后的纹理反贴会模型。
[0006]而在现实项目中,每个模型的大小都不一样,当需要处理的模型个数过多且模型的大小差距过大,烘焙的纹理像素大小就不好控制,会导致处理后的纹理清晰度不一致,影响场景最终效果。

技术实现思路

[0007]针对上述问题,本专利技术提出一种在模型个数过多且模型的大小差距过大的情况下,保持场景当中三维模型数据烘焙反贴后纹理贴图清晰度一致的处理方法。该方法基于烘焙前UV展开原理中模型面积和烘焙纹理的像素大小间的关系来确定烘焙纹理的像素大小来保证模型纹理烘焙后在整体场景中保持统一纹理的清晰度。
[0008]具体地,本专利技术提供地一种保持三维场景纹理清晰度一致量的烘焙方法包括以下步骤:S1:获取三维场景类型,并对其进行筛选,得到烘焙模型;S2:对烘焙模型的模型面进行分离透贴,得到分离的纹理贴图;S3:确定纹理像素与烘焙模型表面积比例,根据该比例将烘焙模型进行拆分或合
并,得到拆分后的模型或合并后的模型;S4:对拆分后的模型或合并后的模型依次进行拆分细长、炸开为元素的操作,得到模型网格;S5:对烘焙模型进行UV展开,得到烘焙模型的一张平面贴图;S6:根据纹理像素与烘焙模型表面积比例,利用分离的纹理贴图对平面贴图进行纹理烘焙,得到烘焙后的平面贴图;S7:使用烘焙后的平面贴图进行纹理反贴,覆盖烘焙前的纹理;S8:对拆分后的模型进行合并,得到拆分前且烘焙后的模型。
[0009]本专利技术提供的有益效果是:可以最大限度的保证烘焙后纹理精度的统一性,并且此过程可以制作成脚本工具进行批量处理,可以大大减少人工量和处理时间。
附图说明
[0010]图1是本专利技术方法流程示意图;图2是UV展开时同一光滑组与不同光滑组对比示意图;图3是将模型进行细长拆分、炸开为元素前的UV展开示意图;图4是将模型进行细长拆分、炸开为元素后的UV展开示意图。
具体实施方式
[0011]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地描述。
[0012]请参考图1,图1是本专利技术方法的流程图;本专利技术提供的一种保持三维场景纹理清晰度一致量的烘焙方法、设备及存储设备,方法具体包括以下步骤:S1:获取三维场景类型,并对其进行筛选,得到烘焙模型;需要说明的是,三维场景中的三维模型按类型一般分为建筑类,地形类,小品类,植被类这几大类;其中建筑类模型的贴图纹理最多;植被类模型一般为简面树纹理格式多为透明贴图所以不进行烘焙;小品类模型多为复用物体,纹理数量不会很多,所以一般不进行烘焙;地形类模型纹理材质不会太多,通常模型面会非常大,所以一般不进行烘焙。
[0013]总结来说本专利技术把三维场景中的模型进行分类,只对建筑类模型烘焙,其他模型隐藏不进行烘焙。
[0014]S2:对烘焙模型的模型面进行分离透贴,得到分离的纹理贴图;需要说明的是,透贴指的是带有透明通道的纹理贴图,常见的纹理贴图文件类型为JPG、PNG、TGA、TIF等格式。其中最常用的不带通道的贴图为JPG格式,而PNG、TGA、TIF这些格式的文件可以包含通道,也是常用的透贴纹理文件格式。
[0015]在本申请中,使用一种按照模型贴图纹理文件类型的判断模型面是否为透贴并将其分离出来的处理办法,具体进行分离透贴的方式为:对模型的每个材质进行检测,返回其使用的纹理贴图,判断文件的类型是否为PNG、TGA、TIF这些格式,如果是,就将使用这些材质的面分离为单独的模型,作为一种实施
例,分离出来的模型命名为原模型名加后缀“_TT”,此步骤是方便后续烘焙完成后再合并回去。
[0016]S3:确定纹理像素与烘焙模型表面积比例,根据该比例将烘焙模型进行拆分或合并,得到拆分后的模型或合并后的模型;步骤S3具体如下:S31、按照烘焙纹理和烘焙模型面积的比例与最大纹理像素,计算得到烘焙模型允许的最大面积;S32、收集烘焙模型所有表面的面积,相加得到烘焙模型的总面积;S33、若烘焙模型的总面积大于烘焙模型允许的最大面积,则以烘焙模型的总面积除以烘焙模型允许的最大面积,得到需要拆分的次数,将烘焙模型进行拆分,得到多个拆分后的模型;否则,将烘焙模型标记,当多个被标记的烘焙模型总面积相加超过允许的最大面积时,将第一个被标记的烘焙模型与倒数第二个被标记的烘焙模型合并为1个模型。
[0017]需要说明的是,本专利技术使用一种将烘焙后纹理的像素与三维模型的面积挂钩的处理办法为基本理论来保持烘焙处理后的模型的纹理的统一的清晰度。
[0018]传统烘焙流程中烘焙纹理的大小是按照模型的大小自行设置的,本申请与其不同,本申请中只要确定烘焙纹理和三维模型面积的比例,按照每个三维模型的面积的大小来确定每个三维模型烘焙后纹理像素的大小,就能保证三维模型烘焙后的纹理清晰度的统一。
[0019]现有引擎支持最好的纹理像素为2的幂次方,也就是8*8,16*16,32*32,64*64,128*128,256*256,512*512,1024*1024,2048*2048,4096*4096等等。
[0020]一般情况下现在常用引擎对纹理支持最好的2048*2048以下的像素,而在大的三维场景中三维模型的面积差距会非常大,如果有的模型面积过大,直接用模型面积确定烘焙纹理像素大小,确定的大小可能会超过2本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种保持三维场景纹理清晰度一致量的烘焙方法,其特征在于:包括以下步骤:S1:获取三维场景类型,并对其进行筛选,得到烘焙模型;S2:对烘焙模型的模型面进行分离透贴,得到分离的纹理贴图;S3:确定纹理像素与烘焙模型表面积比例,根据该比例将烘焙模型进行拆分或合并,得到拆分后的模型或合并后的模型;S4:对拆分后的模型或合并后的模型依次进行拆分细长、炸开为元素的操作,得到模型网格;S5:对烘焙模型进行UV展开,得到烘焙模型的一张平面贴图;S6:根据纹理像素与烘焙模型表面积比例,利用分离的纹理贴图对平面贴图进行纹理烘焙,得到烘焙后的平面贴图;S7:使用烘焙后的平面贴图进行纹理反贴,覆盖烘焙前的纹理;S8:对拆分后的模型进行合并,得到拆分前且烘焙后的模型。2.如权利要求1所述的一种保持三维场景纹理清晰度一致量的烘焙方法,其特征在于:步骤S1中,所述烘焙模型为建筑模型。3.如权利要求1所述的一种保持三维场景纹理清晰度一致量的烘焙方法,其特征在于:步骤S2中进行分离透贴的具体过程为:对烘焙模型的材质进行检测,返回其使用的纹理贴图;对纹理贴图的文件类型进行判断,若为jpg格式,则不进行分离,否则,进行分离,得到分离后对应材质面的纹理贴图。4.如权利要求1所述的一种保持...

【专利技术属性】
技术研发人员:饶家梁彭金金唐坚强周慧明
申请(专利权)人:武汉天恒信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1