吳曉雪 王魏 李響 何東鋼
摘 要: 建設虛擬現實的關鍵技術是構建虛擬場景,然而虛擬場景的構成存在復雜性和管理編輯困難等缺點。將地理信息系統和虛擬現實結合在一起是探索計算機仿真的重要應用。結合3DGIS,ArcGIS,Google Earth,osgEarth等地理信息系統實現虛擬校園的建設是一個新的方向。以大連海事大學為例,選擇對建模要求較高的MultiGen Creator進行建模,利用osgEarth的分析功能優勢和對OSG語言進行特定功能的二次開發。建立數字地球圖,使用Google Map數據和三維模型實現了大連海事大學虛擬場景的功能建設。
關鍵詞: 校園漫游; 地理信息系統; MultiGen; Creator; osgEarth
中圖分類號: TN915.5?34 文獻標識碼: A 文章編號: 1004?373X(2017)20?0018?04
Abstract: The key technology of constructing virtual reality is to build a virtual scene. However, the structure of the virtual scene is complicated and difficult to edit and manage. Combining the geographic information system (GIS) with the virtual reality technology is an important application of computer simulation research. Adopting geographic information systems such as 3DGIS, ArcGIS, Google Earth and osgEarth to realize virtual campus construction is a new innovation. In this paper, Dalian Maritime University is taken as an example and MultiGen Creator with high demand for modeling is chosen. The superiority of analysis function of osgEarth is utilized for the secondary development of the specific function of the OSG language. The digital earth map was created. Google Map data and 3D models are used to realize the virtual scene functional construction of Dalian Maritime University.
Keywords: campus roaming; geographic information system; MultiGen Creator; osgEarth
0 引 言
建設校園信息化、普及網絡以及借助網絡平臺提高學校的知名度,擴大學校招生已經成為一種趨勢。構建多元一體的信息平臺,教師生只需在客戶端打開瀏覽器點擊校園網址就能在虛擬的校園中自由地行走,不受時間、空間的限制,身臨其境地暢游整個校園。了解校園的建設環境和校園風貌,將具有非常重要的意義。很多高校已經創建了自己校園網站,但是多數都是二維平面的。因此構想建立一個三維虛擬場景,將學校的教學環境、校園風貌等信息整合在一起,更直觀方便地向師生展示。整合原有的資源信息,在場景建設中增加校園導航,校園樓宇信息展示和管理等功能。
虛擬現實技術(VR)通過用戶的輸入做出實時響應,全方位仿真互動模擬空間,主要由場景和對象、行為、互動、交流和聲音組成。探索在于如何利用計算機圖形學創建實時的三維效果,如何搭建虛擬場景窗口以及如何運用虛擬現實技術[1]。虛擬現實導航系統主要借助計算機建模工具完成三維效果,并通過編程軟件進行場景的導航(例如漫游)。osgEarth是基于OSG(Open Scene Graph)使用標準C++語言開發的開源地形生成系統,實時構建、優化、顯示地形模型[2]。運用osgEarth的虛擬現實系統,可以對學校信息進行查詢、解析和決議。為促進校園發展建設、提升科研水平提供幫助。
當前,虛擬場景建設多數是基于Vega Prime、EV?Globe創建。VR技術逐步發展成熟,視景仿真對模型的表現要求也越來越嚴格。大量的高程和衛片數量使傳統的建模、調用、渲染面臨挑戰,只能進行簡單場景的重現和普通地圖基本操作,不能完成深層次空間解析。虛擬場景建設平臺應具備二次開發接口、良好的數據處理能力、較高的渲染速率、傳輸速率、多類數據支持和支持大范圍地形能力,因此本文選用osgEarth來實現虛擬場景建設。
osgEarth具有各類功能的驅動器,允許設計者結合實際需要擴展其他類型的驅動器[3]。本文結合虛擬現實技術和地理信息系統,在VC++開發平臺集合osg 3.1.2和osgEarth 2.5開發包,創建三維球體模型。在此球體上添加建模數據、衛星影像數據、樓宇信息,實現虛擬場景的功能建設。
1 osgEarth
近些年,開源領域出現了一個海量地形可視化平臺:osgEarth。osgEarth是基于標準C++和OSG開發的地形生成系統,實時加載和渲染地形,支持.shp,.jpg,.tif等多種數據格式。能夠訪問Google Map,ArcGIS Online,WMS,TMS等地圖服務器,利用地圖數據服務器下載高程數據和影像數據,進行緩存、優化、校正、分層顯示[4]。endprint
編寫Earth文件,標記地理空間數據,設置特定功能的驅動器加載數據信息。如GDAL是影像/高程驅動器;VPB驅動器,從VPB生成的地形數據庫讀取相應的影像和高程數據;TMS驅動器,通過TMS方式讀取瓦片數據[5]。Earth文件是基于XML語言編寫的,主要有建立高程數據、添加模型紋理信息、生成緩存數據和預緩存數據。OSG自身帶有的插件將地理空間數據組織成一種數據格式,保存在一個文件中,程序運行時,根據文件的索引實現OSG文件的讀寫,最后經過OSG的渲染引擎完成場景圖繪制[6]。用戶也可以利用OSG的插件擴展功能,建立自己的插件數據,將虛擬場景要素的可視化融合到osgEarth平臺中。
2 建模工具的選取
實現虛擬校園場景的漫游,在構建三維模型時必須做到細致認真,保證模型大小比例與實體接近,模型所處位置信息與真實情況相一致。目前,用于建模的主要工具有:MultiGen Creator,3D Studio MAX,Maya。MultiGen Creator是比較超前的三維數據庫生成系統,具有較高的層次性、邏輯性、可靠性、精密性、靈活性、易操作性等特點。在虛擬場景仿真、模擬演練領域有重要應用。3D Studio Max具有界面友好,支持的插件多等特點,主要應用于構建模型、設計動畫、輸出渲染、后期加工等方面。Maya可以進行三維和視覺效果的制作,毛發渲染和運動匹配技術等。上述幾種建模工具各有優點,但是3D Studio MAX和Maya是按照建立模型、渲染模型、最后播放模型的順序步驟[7],MultiGen Creator可以在人機交互的情況下實時地進行仿真渲染,提高建模效率[8],并且考慮到后續導航系統的一致性,這里選擇MultiGen Creator軟件,用戶通過仿真視景庫編輯和查看。MultiGen Creator軟件建模后生成.flt數據格式,支持的格式標準是排名靠前的可視化數據庫標準,也是視景模擬仿真的行業準則,具有較高的層次性和邏輯性??梢允箞D像發生裝置任意時刻都以較高的精度繪制三維場景,保證場景渲染的實時性。
2.1 建模素材的搜集
為了讓虛擬場景更加真實,還需詳盡地搜集學校相關信息,包括:
(1) 校區平面圖。平面圖是構建虛擬場景的根本依據,如圖1所示,利用平面圖可以從整體上把握整個校園環境和位置信息,掌握模型的位置分配,比例大小和結構信息等。
(2) 可供使用的影像、圖片資料。
(3) 實地勘察。為了復雜模型的構建達到逼真的效果,建模人員還需要到現場進行實地勘測。對模型進行攝影、攝像,記錄模型大小、尺寸、位置、形狀和顏色信息,對模型有直觀的了解,熟悉模型的整體框架。再利用MultiGen Creator軟件對模型進行完善。這樣構建的模型才能真實、準確,取得更好的效果。
2.2 建?;静襟E
場景建模的基本指導思想是:盡可能減少點和多邊形的數量,構建層次結構庫,減少冗余的面,消除近距離點的微小結構。這樣可以減小系統內存,提高渲染速率,以此來創建精確、美觀的模型。具體建模步驟如下:
(1) 設置建模環境。打開MultiGen Creator軟件后首先需要對建模環境進行設置,包括單位、顏色背景、坐標參數等。
(2) 按比例對模型進行繪制。利用MultiGen Creator建模不可能繪制出模型的實際大小,需要對模型的長、寬、高按比例進行縮放繪制。建模時需要對模型進行分解,把模型分組成幾個部分,每個部分可以用一個獨立的層次實現。合理的對模型分組可以提高模型的檢索速率和模型的場景管理能力。
(3) 調整模型的數量、材質、紋理、光源等參數。一般模型的材質通過Ambient和Diffuse屬性可以實現[9];顏色的設置通過調節(Modulate)、混合(Blend)、透過(Decal)、替換(Replace)實現。模型如有反光效果,需另外設置Specular和Shininess屬性;Transparency屬性用來控制模型的透明與否。更改參數Decal可以調節紋理的明暗程度。
設置Draw new textured polygons white屬性,防止面和紋理顏色互相干擾影響。
虛擬場景是否逼真主要通過紋理來呈現,紋理的精細度主要通過圖片處理軟件所得。本文采用Photoshop圖像編輯軟件,將現場拍攝的照片經過糾正,保存圖片大小為2n次方,設置.jpeg或者.tiff格式進行儲存,這樣貼圖時用到紋理不會出現扭曲和變形。
建模的流程如圖2所示。
3 三維場景構建方法
3.1 校園模型在地表的放置
創建完數字地球以后需要考慮模型的放置位置,點擊模型并實現相關信息顯示功能。osgEarth中ObjectPlacer工具提供了模型放置的方法。在Google Earth上查出大連海事大學經度、緯度,運用ObjectPlacer函數就可以把模型放在指定位置上。
設模型為OSG中的一個細節層次節點(LOD),假定LOD的兩個可視范圍是0~5 000 m和5 000~30 000 m。瀏覽時當視點距離小于5 000 m時對模型進行加載顯示,當視點距離過遠,大于5 000 m時不顯示模型信息,系統自動判斷實現細節層次顯示。
3.2 模型的LOD顯示
Level Of Detail(LOD)根據視點與模型的位置和重要性,選擇不同粗糙度模型進行渲染,減少遠視點模型的面數和細節度,來提高渲染效率[10]。OSG有專門的場景結點osg::LOD,可以實現多種細節層次模型。osg::LOD有類PagedLOD,往往應用于查看海量數據模型。如果單采用LOD技術,計算機加載全部模型的細節層次會導致內存量過大,運行緩慢。PagedLOD技術,把多個子節點設置為復雜模型的多個細節層次,并單獨加載每一個細節模型文件。endprint
PagedLOD融合LOD和DatabasePager技術,可以同時緩解內存和渲染的壓力[11]。在瀏覽三維場景時,根據視點的距離加載不同細節層次的節點模型,將用不到的細節層次模型和窗口外的模型告知DatabasePager。PagedLOD實現方法如下:
DatabasePager管理場景節點的動態調度,主要負責刪除模型節點、加載子節點、預編譯處理、合并對象到場景樹中。系統自動判斷哪些數據是需要的,哪些數據是不需要的。數據請求隊列接收進入視點范圍內的模型,對文件數據進行加載、編譯,再將對象合并到場景樹的響應父節點;對離開視點范圍內的模型進行卸載,釋放該節點降低系統的開銷,提高渲染效率和系統管理內存。模型LOD顯示效果如圖5所示。
3.3 指定路徑的漫游
把編寫好的Earth文件作為一個子節點加入到OSG中,利用OSG自帶的漫游器,插入路線關鍵點(起點、拐點、終點)位置、方向、時間,變換矩陣改變視點位置,實現導航功能。AnimationPath是OSG中的路徑對象類,定義AnimationPathManipulato操縱器,在構造函數中輸入路徑文件名字,加入鍵盤選擇器keyswitchManipulator。編寫OSG中的cameraManipulator類的getMatrix方式更改視點視角,定義新的漫游器。圖6為導航系統流程圖。
將校園東門作為漫游起點,經、緯度坐標為(124.617 7°,39.124 6°),校園西門作為終點,經、緯度坐標為(108.168 2°,38.190 3°),實現代碼如下:
4 結 語
本文把地理信息系統osgEarth和虛擬校園漫游結合在一起,并以大連海事大學為例,構建了基于osgEarth的虛擬校園。其中包括對建模素材的搜集、建模平臺的選取等基本的建模介紹,校園模型在地表的放置,模型的LOD顯示和對導航功能的介紹,為地理信息系統的建設研究提供了思路。
注:本文通訊作者為何東鋼。
參考文獻
[1] 何冰,陳巍.虛擬校園漫游系統的設計與實現[J].電子技術,2016(1):45.
[2] 陳波,任清華,楊華斌.基于osgEarth的三維數字地球平臺設計與實現[J].電子科技,2015,28(10):65?68.
[3] 吳小東,許捍衛.基于osgEarth的城市三維場景構建[J].地理空間信息,2013,11(2):107.
[4] 林麗瓊,陳守軍,譚忠富.電網運營風險預警評估的模糊故障樹分析模型[J].華東電力,2014,42(2):229?233.
[5] 楊俊杰.基于osgEarth繪制線狀矢量數據的模板體技術[J].韶關學院學報,2012,33(8):17?20.
[6] 王文濤.地理柵格數據壓縮與場景組織管理技術研究與實現[D].長沙:國防科技大學,2011.
[7] 邵曉東.creator建模藝術[M].西安:西安電子科技大學出版社,2014.
[8] 起奇哞,田傳艷,胡蘋炱,等.基于Multigen Creator某飛行器視景仿真模型優化設計[J].計算機測量與控制,2015,23(10):3494?3497.
[9] 靳海亮,苗保亮,劉慧杰.Creator三維校園建模方法的研究與實現[J].計算機與數字工程,2010,38(10):133?136.
[10] 李煒.地理信息一體化空間坐標系統的設計與實現[D].鄭州:解放軍信息工程大學,2007.
[11] 李雷.基于OGRE的海量三維模型動態調度技術的研究與實現[D].南寧:廣西大學,2012.
[12] 毛學剛,李明澤,范文義.三維虛擬校園的設計與實現[J].科技信息,2008,33(1):47?49.endprint