張麗瑩+段平+姚永祥+李佳



摘 要:校園標志性建筑物在學校對外宣傳和文化交流中起到重要作用,三維建筑物模型以多視角最直觀的方式呈現,具有全面、立體、詳盡的優點。利用SketchUp與CityEngine三維建模軟件,以云南師范大學呈貢校區圖書館為例,介紹了一種三維模型制作方法。首先,采用ArcGIS軟件提取遙感影像中建筑物對象的底面邊界、屋頂類型等數據,再利用拍攝影像獲取紋理等信息;然后,基于SketchUp軟件進行總體建模、拉伸、拆分、結構細化、紋理映射;最后,利用CityEngine進行地形添加、場景構建、模型發布。實驗表明:該方法能夠充分發揮兩款軟件的優點,規避其不足,顯著提高建模效率,對三維校園建設具有借鑒意義。
關鍵詞:標志性建筑物;三維建模;SketchUp;CityEngine
DOIDOI:10.11907/rjdk.172260
中圖分類號:TP317.4
文獻標識碼:A 文章編號文章編號:1672-7800(2017)008-0199-03
0 引言
校園數字化宣傳系統中一般包含校園典型建筑物、校園地圖等,目前多數系統是基于二維平面地圖開發出來的,盡管能夠詳細地描述地理空間信息,但難以滿足學校對外招生宣傳、校園管理、導航等多方面的需求[1]。而校園標志性建筑物三維模型是采用三維立體化的方法生成逼真的校園實景圖,能夠將校園信息詳盡展示出來,增強校園文化競爭力,提高學校對外宣傳能力和文化交流。
SketchUp 是一款面向方案設計的三維建模軟件,它提供靈活、便捷的手繪功能,用戶不需掌握其它知識就可直接進行建模,易上手、操作方便,單個實體建模速度快[2,3];而CityEngine 的建模功能和場景構建功能強大,建模速度快[4],地形數據建立方便,而且作為一個三維展示平臺場景發布途徑多。將兩者與GIS平臺相結合,既彌補了GIS平臺在三維建模和編輯功能上的不足,充分利用現有GIS 數據,提高三維建模效率,又可以將建筑物三維模型與GIS平臺進行無縫集成[5],在發揮CityEngine與SketchUp在建模方面優勢的同時,能很好地規避其不足之處。
本文采用SketchUp和CityEngine構建校園標志性建筑物三維模型。
1 三維建模思路與方法
本文研究對象為云南師范大學呈貢校區圖書館,其建筑涵蓋了規則建筑、不規則建筑以及對稱建筑,具有典型性。三維建模的整體思路是先進行總體建模,然后分層建模、分塊建模,最后再對每個層次、每一模塊進行細化,按“從大到小,從粗糙到精細,從整體到局部”的原則[6]。基于SketchUp和CityEngine 的三維建模和發布流程見圖1。
1.1 數據獲取及處理
模型構建需要獲取對象所在區域的遙感影像、數字高程模型(Digital Elevation Model,DEM)、建筑底面矢量數據、建筑物表面紋理信息、建筑物高度信息[7,8]。
1.1.1 建筑底面數據獲取
建筑底面數據是首先獲取空間分辨率為0.27m的研究區域遙感影像數據,然后采用ArcGIS軟件對其矢量化獲取底面矢量數據,結果如圖2所示。
1.1.2 地形數據獲取
地形數據體現了建模區域的地貌起伏情況[9],從Google Earth下載的空間分辨率為8.67m的 DEM數據,整理后的研究區域DEM如圖3所示。
1.1.3 高度信息獲取
在三維建模過程中,高度信息是必不可少的屬性。高度信息獲取的是采用測距儀獲取某一層的高度,然后乘以樓層數計算得來,用這種方法得到的高度信息存在一定的誤差,但是對于一般的可視化三維模型而言已經足夠,而且速度快,工作量小。
1.1.4 表面紋理信息獲取
利用手工和規則建模,所建立的三維模型都只起到形體模擬的作用,這種沒有紋理的三維模型被稱作為裸模,不能從視覺上感受真實的實景三維效果,因此需要對已經構建好的三維模型進行紋理映射[10]。表面紋理信息主要包括建筑、道路、植被等類型的圖片。采用Photoshop對拍攝的照片紋理進行透視裁剪得到需要的部分,然后進行亮度調整、圖像糾正,最后進行數據壓縮,以得到清晰美觀、數據量小的紋理信息。
1.2 三維建模方法
在獲取建筑物基礎數據的基礎上構建三維模型。借鑒結構實體幾何模型(Constructive Solid Geometry,CSG)的建模思想,將建筑物分解為主體、屋頂、附屬結構等構件,然后逐步構建各個構件。
1.2.1 建筑物主體三維建模與細化
在ArcSence中將圖書館底面二維矢量數據依據height屬性將其轉為3D要素,即Multipatch格式[11],通過轉換工具“Conversion Tools-To Coverage-Feature Class To Coverage”將Multipatch數據轉為SketchUp可以識別處理的Collada數據格式,最后在SketchUp軟件里面導入Collada數據。由于在ArcSence中轉換而來的數據高度都是一致的,要利用push_pull拉伸工具,將各個樓房垂直拉伸到實際高度,通過拉伸處理生成圖書館建筑主體,如圖4(a)所示。
根據樓層數與教室數,采用Spilt拆分工具對各墻面進行拆分,生成各側墻面格網,生成墻體、門和窗原始結構,如圖4(b)所示,再次采用push_pull工具對門、窗進行推移或拉伸,生成門、窗體,如圖4(c)所示。
1.2.2 建筑物屋頂建模
建筑物一般包含屋頂,屋頂按結構類型的不同一般分為平屋頂、坡屋頂和曲面屋頂。本文研究對象屋頂類型主要是平屋頂和坡屋頂中的四坡式。建立坡屋頂模型首先構建屋頂,然后利用推移translate工具繪出屋頂支撐結構底面,再通過拉伸操作生成屋頂支撐結構,接著選中支撐結構頂面,最后利用推移工具向外擴展生成屋頂結構面,拉伸至屋頂實際高度,選中頂面,利用縮放工具對4個角進行比例縮放,生成四坡屋頂,如圖5(a)所示。而平屋頂的建立比較簡單,首先確定屋頂高度,利用push_pull操作將屋頂拉伸,接著選中屋頂,用推移工具繪出天臺外圍,再利用push_pull生成屋頂,如圖5(b)所示。endprint
1.2.3 建筑物附屬構建
在構建建筑主題后,需要構建建筑物的附屬結構,其主要包括走廊、陽臺、樓梯、臺階以及屋梁柱等,附屬結構看似簡單,但是在增強模型真實感方面起著重要作用。
圖書館四面臺階眾多,臺階的生成可采用加法或減法來生成。以4個臺階為例,用減法生成臺階,首先根據臺階的最高、最長和最寬3個參數,生成一個原始的最大四面體,然后將其平均分割,根據實際臺階平面,一階一階往里推移,逐個生成臺階。加法生成臺階,是先根據臺階的長、寬、高繪制第一級臺階,利用拉伸工具提升到臺階高度,接著利用縮放工具,將第一級臺階頂面往里縮放一個臺階平面,再拉伸到實際高度,重復以上操作,直至完成臺階的操作。兩種方法建模結果如圖6所示。
屋梁柱的構建,主要是用拉伸工具來實現,根據實際建筑物的信息,先繪制出梁柱所在位置、大小、形狀,再根據拉伸、推移工具來實現,最后加以紋理貼圖。
圖書館相鄰兩個建筑之間是通過走廊相連接的,可先在一個建筑面上繪出走廊形狀,在矢量圖上測量出兩個建筑之間的距離,直接利用拉伸工具,輸入長度,走廊主體形成。走廊是由底下均勻分布的四根梁柱支撐,梁柱的生成也可直接利用拉伸工具,依據實際測量繪出的梁柱底面數據拉伸而成,如圖7所示為走路底面及其三維模型。
在構建了所有模型的基礎上,根據實際各模型最小單元大小生成相應的紋理圖片,利用材質工具進行貼圖,生成整個建筑模型,為了使其三維模型具有較強的真實感,可以對其進行光線模擬、陰影渲染,進一步增強三維景觀的真實感和可視化效果,最終三維模型如圖8所示,將其導出為KML格式便于利用CityEngine進行三維模型的發布。
2 基于CityEngine的三維模型場景構建與發布
在CityEngine中導入基于SketchUp構建的KML格式三維模型,并建立對應的地形及相應的三維場景進行優化并發布。
2.1 場景構建
CityEngine的場景內容以圖層的方式來組織,主要包括光線控制圖層、場景背景圖層、地圖圖層以及靜態模型圖層。光線控制圖層和場景背景圖層隨著場景的創建而自動生成且不能刪除,靜態模型圖層是隨著第三方三維模型的導入而自動生成,而地圖圖層是通過手動設置生成。
地圖圖層的常用類型是地形和紋理。地形圖層是以創建地表真實起伏形態作為場景的高程基礎,可用于對地形的展示或地形建模;紋理圖層是用來在場景中創建一個平面背景底圖。首先是建立地形數據,直接利用現有的空間分辨率為8.67m的DEM數據,在ArcGIS軟件中裁剪出合適的研究區域,生成三維起伏地形數據,將影像及地形數據保存為TIFF格式;然后在CityEngine中將地形數據與影像數據疊加,生成真實地表。將KML模型加載進來,通過平移、旋轉、縮放工具將模型放置到合適的位置。
2.2 模型發布
CityEngine可以作為一個三維展示平臺,將場景直接導出為CityEngine Web Scene在網絡端直接提供瀏覽,為三維建模提供了一個有效的場景發布途徑。具體發布步驟如下:
(1)導出生成的模型數據。選擇“文件—導出模型—CityEngine Web Scene”,進行模型參數設置,輸出的所有對象可以作為一個實體導出,則單個對象不可以被選擇,也可以將每個對象作為單個實體導出,則每個對象都可以被選擇,本文選擇作為一個實體導出。
(2)對導出圖層進行設置。包括圖層貼圖的轉換質量、是否帶有貼圖、圖層是否可見。
(3)瀏覽器中預覽。在文件導航窗口中選擇導出的場景文件,選擇“Open With”,通過瀏覽器打開場景(見圖9)。瀏覽器的選擇是有限制的,瀏覽器必須支持WebGL,常用的有Google Chrome、Firefox等。
(4)共享場景數據。可將其發布到ArcGIS Online、Google Earth、網站等多種平臺上進行共享。
3 結論
本文采用SketchUp、CityEngine與GIS專業軟件相結合的方式創建校園三維模型。在模型建立的過程中能夠充分利用現有的GIS 數據,快速、簡便地構建三維模型,減少人工干預,縮短建模周期,且在結合過程中充分發揮各自的優勢,可以達到比較理想的效果,能夠為數字校園三維空間可視化建設提供借鑒。
參考文獻:
[1] 唐華林,周麗芳,范沖.基于Google Earth 與Sketchup 的3 維數字校園[J].測繪與空間地理信息,2011,34(5):182-184.
[2] 萬寶林.3DSMAX與SketchUp的三維城市建模技術實驗對比分析[J].測繪地理信息,2015,40(2):23-25.
[3] 曹兆峰,何燕蘭,李勝才.基于Sketchup和ArcGIS的數字城市三維建模技術[J].地理空間信息,2014,12(5):46-47.
[4] 李宏旭,楊李東.基于CityEngine的三維城市規劃設計與研究[J].測繪與空間地理信息,2016,39(5):55-57.
[5] 張暉,劉超,李妍,等.基于CityEngine的建筑物三維建模技術研究[J].測繪通報,2014,52(11):108-112.
[6] 佘忠倫.基于Google Sketchup的校園三維地圖的制作[J].北京測繪,2016,23(3):78 - 84.
[7] 蘭玉芳,付金霞,徐霞,等.基于SketchUp與ArcGIS的校園3DGIS的設計與實現[J].遙感技術與應用,2013,28(2):346-352.
[8] 趙雨琪,牟乃夏,張靈先.利用CityEngine進行三維校園參數化精細建模[J].測繪通報,2017,55(1):83-86.
[9] 柴貴海,廖邦洪,胡庭興.基于SketchUp和ArcGIS對虛擬校園的設計與實現[J].測繪科學,2009,34(6):270-272.
[10] 鄭仕雄,李佳.校園典型建筑物點云數據三維建模方法[J].軟件導刊,2017,16(1):137-139.
[11] 賀軍亮,張兵,孫中偉,等.基于三維GIS的虛擬場景制作與發布[J].測繪科學,2013,38(4):176-178.endprint