3DMAX 在CIM 平台中的数据治理应用研究
2020-11-30郭源泉柴理想
黄 佳 郭源泉 柴理想
(1、南京市信息中心 综合处,江苏 南京210019 2、广州奥格智能科技有限公司 南京分公司,江苏 南京210019 3、广州奥格智能科技有限公司 广州总部,广东 广州510000)
1 概述
城市信息模型[1]作为地球空间信息科学的一个基本单元,是打造现代城市最重要的基础框架数据,是智慧城市将其内在元素进行智慧连接的关键,高效快捷地构建CIM对地球信息科学的应用实践起着关键作用。
三维GIS[2]作为一种能够综合地处理各种空间和属性信息的工具在城市规划、国土监测、交通管理、辅助决策等方面都有广泛的应用,随着人们对三维GIS 的认识的不断深入,对城市三维信息需求的不断增加进而提出了三维城市模型的概念。
三维地理信息系统(简称,三维GIS)建设工作是数字城市地理空间框架建设的重要组成部分。其中三维GIS 中模型数据的实现,直接影响着三维GIS 的运行以及用户对系统的应用与评价。
因此,本文将介绍结合虚拟三维建模代表软件3Dmax[3]-[5]在三维GIS 数据治理中的应用。此次数据治理方案主要为了让数据进入Arcgis 平台后能更美观更真实的展现,通过3dmax 烘焙技术[6],将明暗阴影直接烘焙在贴图上,使得数据更加逼真。
2 数据治理过程
数据治理的主要技术流程如图1 所示,包括数据优化,数据拆分烘焙,数据导出3 个部分。
图1 技术流程示意图
2.1 原数据的优化治理
首先确保原数据的模型正确,没有模型面的重叠、缺失、变型以及模型坐标的位置是否异常。保证数据贴图没有丢失,贴图分辨率为2 的n 次方(不超过1024 分辨率),贴图指认路径全部为ok 状态(确保导出obj 格式是不会丢失贴图)。
图2 优化治理示意图
如果遇到有found 状态时,说明此贴图不在指认的文件夹下,需要把贴图放进指认的文件夹中。如果遇到时MISS 的状态时,说明此贴图丢失,丢失的情况可能分为两种,一种是此贴图被使用但是贴图缺失,还有一种是此贴图未被使用贴图缺失。
第一种情况找到缺失贴图名字,通过贴图名字来找缺失贴图,如果找不到则通过类型的贴图替换的方式解决,不过会与原数据所有差别。
第二种情况可以通过优化场景模型材质球,以及重置3DMAX 中的材质球来进行去除。
优化模型数据材质球,需要去除多余的自发光贴图以及环境颜色贴。去除Self-illumination 贴图只需要右击右侧方块选中cut 就可以去除自发光贴图,去除自发光贴图主要是为了能烘焙出模型正确的明暗光影,保证所有场景数据的统一。去除ambient color 需要重新赋予模型一个新的材质球,将原来的替换掉。
由于ArcGIS 只支持png 作为透明贴图的格式,须将所有透明贴图转换成png 格式的贴图,确保进入ArcGIS 平台后能够正确的显示透明贴图。
2.2 数据拆分烘焙
数据拆分烘焙示例如图3。
图3
2.2.1 处理原理
由于ArcGIS 平台不支持多通道,所以原数据三通道光影贴图无法使用,导致原数据没有明暗阴影,影响的整体数据真实性以及美观性,为解决此问题,故而使用了模型拆分烘焙方法,将光影贴图直接烘焙的模型的贴图上,这样不需要其他额外通道就能使模型有明暗阴影。
2.2.2 模型拆分
图4 数据拆分示意图
(1)透明模型贴图拆分
透明贴图不需要进行烘焙光影,主要因为烘焙完的贴图都是jpg 格式不支持透明,透明贴图往往都是栏杆,标志牌之类的模型数据,不影响整体效果。
(2)不透明模型贴图拆分
对不透明的模型进行拆分,需根据不同类型的模型拆分不同的精细程度,可用最少的数据量实现最好的效果。
单一的小建筑可以不进行拆分直接烘焙。比较普通的建筑可以进行相对数量少的一点的拆分,保证在一定视距下清晰即可。某些商业大楼或者是重地的建筑可以适当的增加拆分的数量,保证数据的清晰度。
进行拆分模型时注意对某个模型进行拆分的时候,拆分出来的模型命名要规范,确保烘焙反贴后可以按照模型命名重新把模型合并在一起,展UV 时候保证拆出的模型的UV 能够充分利用(拆模型的时候也有相应的技巧,比较细长的不建议与大面积分在一起,会影响UV 利用率)。
2.2.3 数据烘焙
图5 数据烘焙示意图
(1)制作灯光文件
制作一个用来烘焙整体场景的灯光文件,以某个时间段的太阳照射方向为灯光方向,调整灯光光线的强度,保证模型受光处不会曝光,阴影处不会过黑,确保烘焙出的贴图美观。
(2)导入模型
将模型导入已经配置好的灯光文件中,把需要烘焙的模型进行UV 的展平,保证模型的UV 能够充分利用,不要有重叠的面。
(3)参数设置
在烘焙面板里面进行参数的设置。保存烘焙贴图路径,设置烘焙贴图扩边参数,烘焙使用的是展平UV 所在的3 通道,根据展平UV 的通道将模型1 通道的贴图结合灯光一起烘焙到3通道。
烘焙的模式选择ComlpeteMap, 贴图格式选择只有RBG 三通道的JPEG 格式(降低贴图大小),贴图尺寸选择1024(太大的贴图可能导致平台不稳定,太小的贴图降低数据贴图的清晰度)。
(4)执行烘焙
最后Render 执行烘焙命令。
把烘焙好的贴图按照对应的名称贴到对应的模型上面,并将其UV 通道从3 改为1。(因为烘焙的时候采用的是通道3 UV 进行烘焙,而模型贴图采用的都是通道1,所以需要将3 通道改为1 通道,才可以正确显示烘焙贴图)。
2.2.4 烘焙数据合并
将原本同一个模型拆分出来的数据重新合并起来并且使用焊接将断开的点连接。建议焊接数值给的小一点,避免把原本不连接的点也连接起来。
2.3 烘焙数据检查以及导出
2.3.1 烘焙数据检查
(1)检查处理完数据的命名和数量是否与原数据(转下页)一致。
(2)透明贴图是否存在被烘焙的现象(被烘焙过的透明贴图透明部分会显示黑色)。
(3)反贴贴图的数据是否存在贴图错误的情况。(发现贴图错误可以通过重新烘焙等方式修正,发现纯黑色的贴图则是因为原数据没有给正确的UVMAP 导致)。
(4)确保数据路径Asset Tracking 都是OK 状态。
2.3.2 烘焙数据导出
确认数据没有问题后,按照物体名称依次导出obj。(不要勾选Filp YZ-axis,在Map-Export 中将输出路径改为./,这样输出的贴图就和OBJ、Mtl 在同一级目录下)。
3DMAX 数据导出分别可以导出wrl 格式或obj 格式,之所以选择obj 格式是因为在易智瑞的数据库打包后的数据量和数据节点wrl 小很多,对于后续在CIM平台中加载更快,前端调用效率也会更高。
3 结论
通过长时间的测试分析找到了兼顾效果、效率和稳定性最好的解决方案。通过数据贴图合并压缩到了原来体量的三分之一实现了数据的优化、贴图阴影烘焙技术将明暗阴影叠加在贴图上实现了数据效果的提升、数据经过反复测试后,导出的格式比之前减少了50%的数据节点数量,有效减少了前端调用的数量,从而保证了数据以最优的形式进入平台,为后续打包以及发布服务奠定了基础。
由于CIM 平台的建设范围往往是一座城市,因此数据量大,大数据的运行必然会给系统带来压力,系统运行的速度也是评判一个系统的重要方面,所以数据优化是三维地理信息系统建设中非常重要的环节,研究结论可以为CIM平台建设项目及其相关研究的开展提供参考和借鉴。本研究以3DMAX 烘焙贴图技术方案为例介绍了3DMAX 在CIM 平台中的数据治理[7]研究,后续还需要继续对三维建模数据的优化深入研究。