CN115830286B - 一种保持三维场景纹理清晰度一致量的烘焙方法 - Google Patents
一种保持三维场景纹理清晰度一致量的烘焙方法 Download PDFInfo
- Publication number
- CN115830286B CN115830286B CN202310115247.7A CN202310115247A CN115830286B CN 115830286 B CN115830286 B CN 115830286B CN 202310115247 A CN202310115247 A CN 202310115247A CN 115830286 B CN115830286 B CN 115830286B
- Authority
- CN
- China
- Prior art keywords
- model
- baking
- texture
- dimensional scene
- 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.)
- Active
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
本发明涉及一种保持三维场景纹理清晰度一致量的烘焙方法,包括以下步骤:获取三维场景类型,并对其进行筛选,得到烘焙模型;对烘焙模型的模型面进行分离透贴,得到分离的纹理贴图;确定纹理像素与烘焙模型表面积比例,根据该比例将烘焙模型进行拆分或合并,得到拆分后的模型或合并后的模型;对模型依次进行拆分细长、炸开为元素的操作;对烘焙模型进行UV展开,得到烘焙模型的一张平面贴图;根据纹理像素与烘焙模型表面积比例,利用纹理贴图对平面贴图进行纹理烘焙;使用烘焙后的平面贴图进行纹理反贴,覆盖烘焙前的纹理;对拆分后的模型合并,得到最终模型。本发明有益效果是:最大限度的保证烘焙后纹理精度的统一性,减少人工量和处理时间。
Description
技术领域
本发明涉及三维模型处理领域,尤其涉及一种保持三维场景纹理清晰度一致量的烘焙方法。
背景技术
随着互联网技术的发展,智慧城市,三维可视化技术应用面越来越广。作为支持智慧城市,三维可视化技术的三维模型数据,它有两个缺点:模型数据量较大,材质纹理过多。
而在智慧城市,三维可视化的应用上,制作范围动则一个区甚至一个市,模型数据量较大和材质纹理过多的问题就更加凸显。这些问题就会导致在将三维模型数据导入到应用平台上时造成应用平台的性能大幅度下降,甚至使应用平台无法承载大范围的三维模型数据。而纹理烘焙就是一种可以减少大量材质纹理数量的解决办法之一。
“烘焙”通常指的是记录记载图像的过程,而“纹理烘焙”指的是将单个模型进行UV重展,并将的材质或网格特征的某些方面,以及灯光阴影收集到一张重展UV的纹理当中,最后将其反贴至原来的模型上。
目前“纹理烘焙”的基本流程为:1. 分离透贴;透贴指的是带有透明通道的纹理贴图,在一般烘焙流程中使用带有透明通道的纹理贴图的模型面会出现烘焙效果错误,所以需要将其分离出来不进行烘焙;2.拆分细长;拆分细长指的是处理模型的细长面,这一步是为了使模型面UV展开的时候资源利用率更高,烘焙中的UV展开其实指的就是将模型的所有表面展开,通过一定规则将其展成1张贴图,如果模型当中有过于细长的面,会使资源利用率过低,从而影响模型烘焙效果;3.UV展开;具体作用在拆分细长中已经说明;4.烘焙纹理;可以理解为将模型的将的材质或网格特征的某些方面,以及灯光阴影渲染到1张贴图当中;5.纹理反贴;将烘焙后的纹理反贴会模型。
而在现实项目中,每个模型的大小都不一样,当需要处理的模型个数过多且模型的大小差距过大,烘焙的纹理像素大小就不好控制,会导致处理后的纹理清晰度不一致,影响场景最终效果。
发明内容
针对上述问题,本发明提出一种在模型个数过多且模型的大小差距过大的情况下,保持场景当中三维模型数据烘焙反贴后纹理贴图清晰度一致的处理方法。该方法基于烘焙前UV展开原理中模型面积和烘焙纹理的像素大小间的关系来确定烘焙纹理的像素大小来保证模型纹理烘焙后在整体场景中保持统一纹理的清晰度。
具体地,本发明提供地一种保持三维场景纹理清晰度一致量的烘焙方法包括以下步骤:
S1:获取三维场景类型,并对其进行筛选,得到烘焙模型;
S2:对烘焙模型的模型面进行分离透贴,得到分离的纹理贴图;
S3:确定纹理像素与烘焙模型表面积比例,根据该比例将烘焙模型进行拆分或合并,得到拆分后的模型或合并后的模型;
S4:对拆分后的模型或合并后的模型依次进行拆分细长、炸开为元素的操作,得到模型网格;
S5:对烘焙模型进行UV展开,得到烘焙模型的一张平面贴图;
S6:根据纹理像素与烘焙模型表面积比例,利用分离的纹理贴图对平面贴图进行纹理烘焙,得到烘焙后的平面贴图;
S7:使用烘焙后的平面贴图进行纹理反贴,覆盖烘焙前的纹理;
S8:对拆分后的模型进行合并,得到拆分前且烘焙后的模型。
本发明提供的有益效果是:可以最大限度的保证烘焙后纹理精度的统一性,并且此过程可以制作成脚本工具进行批量处理,可以大大减少人工量和处理时间。
附图说明
图1是本发明方法流程示意图;
图2是UV展开时同一光滑组与不同光滑组对比示意图;
图3是将模型进行细长拆分、炸开为元素前的UV展开示意图;
图4是将模型进行细长拆分、炸开为元素后的UV展开示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地描述。
请参考图1,图1是本发明方法的流程图;本发明提供的一种保持三维场景纹理清晰度一致量的烘焙方法、设备及存储设备,方法具体包括以下步骤:
S1:获取三维场景类型,并对其进行筛选,得到烘焙模型;
需要说明的是,三维场景中的三维模型按类型一般分为建筑类,地形类,小品类,植被类这几大类;
其中建筑类模型的贴图纹理最多;
植被类模型一般为简面树纹理格式多为透明贴图所以不进行烘焙;
小品类模型多为复用物体,纹理数量不会很多,所以一般不进行烘焙;
地形类模型纹理材质不会太多,通常模型面会非常大,所以一般不进行烘焙。
总结来说本发明把三维场景中的模型进行分类,只对建筑类模型烘焙,其他模型隐藏不进行烘焙。
S2:对烘焙模型的模型面进行分离透贴,得到分离的纹理贴图;
需要说明的是,透贴指的是带有透明通道的纹理贴图,常见的纹理贴图文件类型为JPG、PNG、TGA、TIF等格式。其中最常用的不带通道的贴图为JPG格式,而PNG、TGA、TIF这些格式的文件可以包含通道,也是常用的透贴纹理文件格式。
在本申请中,使用一种按照模型贴图纹理文件类型的判断模型面是否为透贴并将其分离出来的处理办法,具体进行分离透贴的方式为:
对模型的每个材质进行检测,返回其使用的纹理贴图,判断文件的类型是否为PNG、TGA、TIF这些格式,如果是,就将使用这些材质的面分离为单独的模型,作为一种实施例,分离出来的模型命名为原模型名加后缀“_TT”,此步骤是方便后续烘焙完成后再合并回去。
S3:确定纹理像素与烘焙模型表面积比例,根据该比例将烘焙模型进行拆分或合并,得到拆分后的模型或合并后的模型;
步骤S3具体如下:
S31、按照烘焙纹理和烘焙模型面积的比例与最大纹理像素,计算得到烘焙模型允许的最大面积;
S32、收集烘焙模型所有表面的面积,相加得到烘焙模型的总面积;
S33、若烘焙模型的总面积大于烘焙模型允许的最大面积,则以烘焙模型的总面积除以烘焙模型允许的最大面积,得到需要拆分的次数,将烘焙模型进行拆分,得到多个拆分后的模型;否则,将烘焙模型标记,当多个被标记的烘焙模型总面积相加超过允许的最大面积时,将第一个被标记的烘焙模型与倒数第二个被标记的烘焙模型合并为1个模型。
需要说明的是,本发明使用一种将烘焙后纹理的像素与三维模型的面积挂钩的处理办法为基本理论来保持烘焙处理后的模型的纹理的统一的清晰度。
传统烘焙流程中烘焙纹理的大小是按照模型的大小自行设置的,本申请与其不同,本申请中只要确定烘焙纹理和三维模型面积的比例,按照每个三维模型的面积的大小来确定每个三维模型烘焙后纹理像素的大小,就能保证三维模型烘焙后的纹理清晰度的统一。
现有引擎支持最好的纹理像素为2的幂次方,也就是8*8,16*16,32*32,64*64,128*128,256*256,512*512,1024*1024,2048*2048,4096*4096等等。
一般情况下现在常用引擎对纹理支持最好的2048*2048以下的像素,而在大的三维场景中三维模型的面积差距会非常大,如果有的模型面积过大,直接用模型面积确定烘焙纹理像素大小,确定的大小可能会超过2048*2048,为了保证烘焙后的纹理小于2048*2048,本申请中对模型面积大于限定面积(2048*烘焙纹理和三维模型面积的比例)的三维模型超出限定面积的部分进行拆分。
同理在此工作流下主要目的是为了减少原三维模型纹理的数量,而如果三维场景中三维模型的面积过小,按照模型面积确定烘焙纹理像素大小,可能使单个模型烘焙纹理像素过小,为了使场景中的模型纹理尽可能的少,就需要按照限定面积(最小像素*烘焙纹理和三维模型面积的比例)合并三维模型。
本发明使用的拆分过大模型的方法如下:
先按照烘焙纹理和三维模型面积的比例和最大纹理像素来得出模型允许的最大面积;
然后收集模型所有面的面积进行相加算出模型的总面积;
如果模型的总面积大于模型允许的最大面积,就将模型面积除以模型允许的最大面积得到模型需要拆分的次数,然后按照拆分次数执行多次(对模型每个面的面积相加在接近模型允许的最大面积时将其分离出去),分离的物体命名为原模型名加序号加_FL。
合并过小模型的方法如下:
本发明使用的合并过小模型的方法是先按照烘焙纹理和三维模型面积的比例和最小纹理像素来得出模型允许的最小面积;然后收集模型所有面的面积进行相加算出模型的总面积;如果模型的总面积小于模型允许的最小面积,就将其标记;收集所有标记的物体,对每个物体的面积进行加法,面积超过模型允许的最小面积停止,然后将那些相加的物体合并,一直循环直到面积小于模型允许的最小面积的模型个数小于等于1。
S4:对拆分后的模型或合并后的模型依次进行拆分细长、炸开为元素的操作,得到模型网格;
步骤S4中拆分细长的地过程为:
统计拆分后的模型或合并后的模型中各个面的边长;
将边长超过第一预设值的面进行收集,得到集合;
在集合内依次将单个面的边与第一预设值进行对比,获得超过第二预设值的边;
对超过第二预设值的边添加点操作,添加点的数目为超过第二预设值的边除以超过第一预设值的边,最后将添加的点进行连接。
需要说明的是,拆分细长,指的是将模型中出现的长宽比例过大的面进行切割;在UV展开流程中长宽比例过大的面面积不会很大但会挤占其他面积很大的面所占的资源,所以我们需要对模型中长宽比例过大的面进行切割使其长宽比例正常;为了保证UV展开的高资源利用率这一步后,会配合使用把模型面炸开为元素这一步。
本发明中,所使用的拆分细长方案,是先将三维模型中边长超过一定长度的面收集起来,然后将这些面的分别进行一次操作:
单个面的边进行对比,获得超过限定比例的边,对超过比例的边进行添加加点操作,添加点的数目为超过比例的边除以限定长度,最后根据一些规则将新加的点连接起来。
其中关于UV展开除了前面几点提到的影响,还有一个因素会很大的影响模型面在UV展开中的分布,即光滑组。请参考图2,图2是UV展开时同一光滑组与不同光滑组对比示意图。
模型的不同面可以添加不同光滑组,在相互靠近的面的光滑组为同一光滑组中时,在UV展开时面也会连接在一起;在相互靠近的面的光滑组都不为同一光滑组中时他在UV展开时面也会相互分开,也就是说如果模型中有细长的面的时候,就算是切割成了多个小面后,如果这些小面都在同一光滑组中,UV展开后也会是为切割之前的样子。
所以为了保证拆分细长可以正常使用,就需要对模型的光滑组进行处理,不过这种操作工作量实在太大,因此在模型量较大的情况下,本发明使用一种将模型所有面全部炸开为元素的方法,这种方法对UV展开的影响和相互靠近的面的光滑组都不为同一光滑组中时的影响是一样的。
最后参考图3和图4,图3是将模型进行细长拆分、炸开为元素前的UV展开示意图;图4是将模型进行细长拆分、炸开为元素后的UV展开示意图。可以看到,将模型进行处理后,UV展开相比之前,其比例更为正常。
S5:对烘焙模型进行UV展开,得到烘焙模型的一张平面贴图;
需要说明的是,UV重展开,即为将模型的每个面展开在一个平面上。展开后的示意可参考前述图2。UV展开中每个面在UV平面中的分布与比例和三维模型的面积挂钩;而模型烘焙出的纹理的图像分布就是按照模型UV展开来的。
本发明中,通过一定规则将其展成1张贴图,本发明使用的UV展开方法是现在比较通用的UV展开方法,例如设置参数:(通道:3、阈值角度:60、间距:0.001)。
S6:根据纹理像素与烘焙模型表面积比例,利用分离的纹理贴图对平面贴图进行纹理烘焙,得到烘焙后的平面贴图;
步骤S6中进行纹理烘培时,烘焙纹理和烘焙模型面积的比例与步骤S31一样。
需要说明的是,烘焙纹理指的创建一个网格物体渲染的表面的2D 位图图片。这些图片会被使用物体的UV 坐标重新映射到物体上。
烘焙是对每个独立网格完成的,而且仅当网格已经被UV展开的情况下完成的。本发明中使用的烘焙纹理方案与现在常用的烘焙纹理方案的区别在于烘焙后的纹理像素大小是和模型的表面积挂钩的,使用的规则就是前述提到的烘焙纹理和三维模型面积的比例。这样烘焙出来的纹理可以最大程度的保证烘焙后的模型的纹理清晰度在场景中的清晰度。
S7:使用烘焙后的平面贴图进行纹理反贴,覆盖烘焙前的纹理;
需要说明的是,在烘焙纹理流程中会在模型的材质上添加一个壳材质,同时储存烘焙前的纹理和烘焙后的纹理;
这个壳材质会对模型的后续使用造成影响,所以需要新创建一个材质使用烘焙后纹理来覆盖模型对壳材质的使用,这个流程就是烘焙纹理反贴。
S8:对拆分后的模型进行合并,得到拆分前且烘焙后的模型。
在本发明中,会对模型进行一些拆分操作,这些操作会对模型的后续使用进行一些干扰,因此需要将这些模型进行合并操作。
由于在拆分物体时已经规定了拆分物体的名字规则,所以可以按照名字规则选择这些物体将其合并到原模型上,由于炸开元素和拆分物体会使物体创建多余的点,所以对所有模型进行一个焊点操作,得到拆分前且烘焙后的模型。
综合来看,本发明的有益效果是:可以最大限度的保证烘焙后纹理精度的统一性,并且此过程可以制作成脚本工具进行批量处理,可以大大减少人工量和处理时间。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种保持三维场景纹理清晰度一致量的烘焙方法,其特征在于:包括以下步骤:
S1:获取三维场景类型,并对其进行筛选,得到烘焙模型;
S2:对烘焙模型的模型面进行分离透贴,得到分离的纹理贴图;
S3:确定纹理像素与烘焙模型表面积比例,根据该比例将烘焙模型进行拆分或合并,得到拆分后的模型或合并后的模型;
S4:对拆分后的模型或合并后的模型依次进行拆分细长、炸开为元素的操作,得到模型网格;
S5:对烘焙模型进行UV展开,得到烘焙模型的一张平面贴图;
S6:根据纹理像素与烘焙模型表面积比例,利用分离的纹理贴图对平面贴图进行纹理烘焙,得到烘焙后的平面贴图;
S7:使用烘焙后的平面贴图进行纹理反贴,覆盖烘焙前的纹理;
S8:若步骤S3中得到的为拆分后的模型,则对拆分后的模型进行合并,得到拆分前且烘焙后的模型;
步骤S3具体如下:
S31、按照烘焙纹理和烘焙模型面积的比例与最大纹理像素,计算得到烘焙模型允许的最大面积;
S32、收集烘焙模型所有表面的面积,相加得到烘焙模型的总面积;
S33、若烘焙模型的总面积大于烘焙模型允许的最大面积,则以烘焙模型的总面积除以烘焙模型允许的最大面积,得到需要拆分的次数,将烘焙模型进行拆分,得到多个拆分后的模型;否则,将烘焙模型标记,当多个被标记的烘焙模型总面积相加超过允许的最大面积时,将第一个被标记的烘焙模型与倒数第二个被标记的烘焙模型合并为1个模型。
2.如权利要求1所述的一种保持三维场景纹理清晰度一致量的烘焙方法,其特征在于:步骤S1中,所述烘焙模型为建筑模型。
3.如权利要求1所述的一种保持三维场景纹理清晰度一致量的烘焙方法,其特征在于:步骤S2中进行分离透贴的具体过程为:
对烘焙模型的材质进行检测,返回其使用的纹理贴图;
对纹理贴图的文件类型进行判断,若为jpg格式,则不进行分离,否则,进行分离,得到分离后对应材质面的纹理贴图。
4.如权利要求1所述的一种保持三维场景纹理清晰度一致量的烘焙方法,其特征在于:步骤S4中拆分细长的地过程为:
统计拆分后的模型或合并后的模型中各个面的边长;
将边长超过第一预设值的面进行收集,得到集合;
在集合内依次将单个面的边与第一预设值进行对比,获得超过第二预设值的边;
对超过第二预设值的边添加点操作,添加点的数目为超过第二预设值的边除以超过第一预设值的边,最后将添加的点进行连接。
5.如权利要求1所述的一种保持三维场景纹理清晰度一致量的烘焙方法,其特征在于:步骤S6中进行纹理烘培时,烘焙纹理和烘焙模型面积的比例与步骤S31一样。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310115247.7A CN115830286B (zh) | 2023-02-15 | 2023-02-15 | 一种保持三维场景纹理清晰度一致量的烘焙方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310115247.7A CN115830286B (zh) | 2023-02-15 | 2023-02-15 | 一种保持三维场景纹理清晰度一致量的烘焙方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115830286A CN115830286A (zh) | 2023-03-21 |
CN115830286B true CN115830286B (zh) | 2023-04-18 |
Family
ID=85521425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310115247.7A Active CN115830286B (zh) | 2023-02-15 | 2023-02-15 | 一种保持三维场景纹理清晰度一致量的烘焙方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115830286B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114255312A (zh) * | 2021-12-22 | 2022-03-29 | 完美世界(北京)软件科技发展有限公司 | 植被图像的处理方法、装置及电子设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109903385A (zh) * | 2019-04-29 | 2019-06-18 | 网易(杭州)网络有限公司 | 三维模型的渲染方法、装置、处理器及终端 |
CN111028361B (zh) * | 2019-11-18 | 2023-05-02 | 杭州群核信息技术有限公司 | 三维模型及材质合并方法、装置、终端、存储介质以及渲染方法 |
CN112734930B (zh) * | 2020-12-30 | 2024-06-04 | 长沙眸瑞网络科技有限公司 | 三维模型轻量化方法、系统、存储介质及图像处理装置 |
CN114004923B (zh) * | 2021-09-16 | 2024-03-29 | 天津市普迅电力信息技术有限公司 | 一种基于WebGL的三维模型光影映射纹理渲染方法 |
CN113822988A (zh) * | 2021-09-24 | 2021-12-21 | 中关村科学城城市大脑股份有限公司 | 基于城市大脑时空构建组件的三维模型烘培方法及系统 |
CN113920235A (zh) * | 2021-09-29 | 2022-01-11 | 上海瀚世信息技术有限公司 | 一种三维模型的自动化渲染方法 |
CN115375811A (zh) * | 2022-07-07 | 2022-11-22 | 国网信息通信产业集团有限公司 | 一种适用于Cesium的模型贴图渲染方法 |
-
2023
- 2023-02-15 CN CN202310115247.7A patent/CN115830286B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114255312A (zh) * | 2021-12-22 | 2022-03-29 | 完美世界(北京)软件科技发展有限公司 | 植被图像的处理方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115830286A (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111028361B (zh) | 三维模型及材质合并方法、装置、终端、存储介质以及渲染方法 | |
JP6826607B2 (ja) | 3次元メッシュの直交投影ベースのテクスチャアトラスパッキング | |
CA2597057C (en) | Method and apparatus for enhancing a digital elevation model (dem) for topographical modeling | |
US6417850B1 (en) | Depth painting for 3-D rendering applications | |
US8633939B2 (en) | System and method for painting 3D models with 2D painting tools | |
CN112784469A (zh) | 模型参数生成方法、装置、电子设备和可读存储介质 | |
US20090089017A1 (en) | Geospatial modeling system providing inpainting and error calculation features and related methods | |
CN112634452B (zh) | 铁路bim模型轻量化方法和装置 | |
CN113256782A (zh) | 三维模型的生成方法、装置、存储介质、电子设备 | |
CN111599023A (zh) | 一种大批量给城市建筑模型贴图方法和装置 | |
CN112200906B (zh) | 一种面向倾斜三维模型的实体提取方法及其系统 | |
CN113920235A (zh) | 一种三维模型的自动化渲染方法 | |
CN115830286B (zh) | 一种保持三维场景纹理清晰度一致量的烘焙方法 | |
CN117315295A (zh) | 一种bim模型相似度计算方法、系统、设备及存储介质 | |
CN106780693B (zh) | 一种通过绘制方式选择三维场景中物体的方法及系统 | |
CN110019589B (zh) | 电子地图显示方法及装置 | |
CA2357940A1 (en) | Apparatus, system, and method for simplifying annotations of a geometric surface | |
CN109147032B (zh) | 一种基于分布式的优化大尺度网格方法 | |
CN102945571A (zh) | 基于面数据的空洞填补方法及系统 | |
CN115221263B (zh) | 一种基于航线的地形预加载方法及预加载系统 | |
US7593011B2 (en) | Light map compression | |
CN116012532A (zh) | 一种实景三维模型轻量化方法及系统 | |
CN114782642A (zh) | 虚拟模型的摆放方法及装置 | |
CN117557749A (zh) | 一种实景三维模型轻量化处理方法及装置 | |
Diao et al. | Research on the key techniques on 3D virtual campus system |
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 |