黃 佳 郭源泉 柴理想
(1、南京市信息中心 綜合處,江蘇 南京210019 2、廣州奧格智能科技有限公司 南京分公司,江蘇 南京210019 3、廣州奧格智能科技有限公司 廣州總部,廣東 廣州510000)
城市信息模型[1]作為地球空間信息科學的一個基本單元,是打造現代城市最重要的基礎框架數據,是智慧城市將其內在元素進行智慧連接的關鍵,高效快捷地構建CIM對地球信息科學的應用實踐起著關鍵作用。
三維GIS[2]作為一種能夠綜合地處理各種空間和屬性信息的工具在城市規劃、國土監測、交通管理、輔助決策等方面都有廣泛的應用,隨著人們對三維GIS 的認識的不斷深入,對城市三維信息需求的不斷增加進而提出了三維城市模型的概念。
三維地理信息系統(簡稱,三維GIS)建設工作是數字城市地理空間框架建設的重要組成部分。其中三維GIS 中模型數據的實現,直接影響著三維GIS 的運行以及用戶對系統的應用與評價。
因此,本文將介紹結合虛擬三維建模代表軟件3Dmax[3]-[5]在三維GIS 數據治理中的應用。此次數據治理方案主要為了讓數據進入Arcgis 平臺后能更美觀更真實的展現,通過3dmax 烘焙技術[6],將明暗陰影直接烘焙在貼圖上,使得數據更加逼真。
數據治理的主要技術流程如圖1 所示,包括數據優化,數據拆分烘焙,數據導出3 個部分。

圖1 技術流程示意圖
首先確保原數據的模型正確,沒有模型面的重疊、缺失、變型以及模型坐標的位置是否異常。保證數據貼圖沒有丟失,貼圖分辨率為2 的n 次方(不超過1024 分辨率),貼圖指認路徑全部為ok 狀態(確保導出obj 格式是不會丟失貼圖)。

圖2 優化治理示意圖
如果遇到有found 狀態時,說明此貼圖不在指認的文件夾下,需要把貼圖放進指認的文件夾中。如果遇到時MISS 的狀態時,說明此貼圖丟失,丟失的情況可能分為兩種,一種是此貼圖被使用但是貼圖缺失,還有一種是此貼圖未被使用貼圖缺失。
第一種情況找到缺失貼圖名字,通過貼圖名字來找缺失貼圖,如果找不到則通過類型的貼圖替換的方式解決,不過會與原數據所有差別。
第二種情況可以通過優化場景模型材質球,以及重置3DMAX 中的材質球來進行去除。
優化模型數據材質球,需要去除多余的自發光貼圖以及環境顏色貼。去除Self-illumination 貼圖只需要右擊右側方塊選中cut 就可以去除自發光貼圖,去除自發光貼圖主要是為了能烘焙出模型正確的明暗光影,保證所有場景數據的統一。去除ambient color 需要重新賦予模型一個新的材質球,將原來的替換掉。
由于ArcGIS 只支持png 作為透明貼圖的格式,須將所有透明貼圖轉換成png 格式的貼圖,確保進入ArcGIS 平臺后能夠正確的顯示透明貼圖。
數據拆分烘焙示例如圖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.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平臺中加載更快,前端調用效率也會更高。
通過長時間的測試分析找到了兼顧效果、效率和穩定性最好的解決方案。通過數據貼圖合并壓縮到了原來體量的三分之一實現了數據的優化、貼圖陰影烘焙技術將明暗陰影疊加在貼圖上實現了數據效果的提升、數據經過反復測試后,導出的格式比之前減少了50%的數據節點數量,有效減少了前端調用的數量,從而保證了數據以最優的形式進入平臺,為后續打包以及發布服務奠定了基礎。
由于CIM 平臺的建設范圍往往是一座城市,因此數據量大,大數據的運行必然會給系統帶來壓力,系統運行的速度也是評判一個系統的重要方面,所以數據優化是三維地理信息系統建設中非常重要的環節,研究結論可以為CIM平臺建設項目及其相關研究的開展提供參考和借鑒。本研究以3DMAX 烘焙貼圖技術方案為例介紹了3DMAX 在CIM 平臺中的數據治理[7]研究,后續還需要繼續對三維建模數據的優化深入研究。