劉 杰, 孔令德, 楊慧炯
(太原工業學院, 山西太原 030008)
虛擬現實(Virtual Reality)技術是20世紀90年代興起的一個新的研究領域,虛擬現實是一門集成了人與信息的科學,其核心是由計算機生成的三維交互式虛擬環境。虛擬漫游是虛擬現實技術中的一個重要方向,是對虛擬三維場景的
實時漫游。虛擬漫游系統包括一個逼真的視、聽、觸覺一體化的特定范圍的虛擬環境。它是一個真實空間或假想空間的實時仿真虛擬空間,用戶借助必要的裝備以自然的方式在該虛擬空間中漫游,從任意角度對環境中的虛擬對象進行觀察,從而產生身臨其境的感覺,同時也可以對其中的物體進行規劃和操作。
“中華傅山園虛擬漫游系統”打破了傳統的文字、圖片等靜態表現方式,將中華傅山園風貌以三維立體模型動態呈現在瀏覽者面前,瀏覽者在互聯網上點擊鼠標即可“參觀”園內景觀和各種設施,獲得身臨其境的感覺;用虛擬的境界來展示中華傅山園的風貌,讓更多的人通過網絡來了解中華傅山園,吸引更多的游客來草坪區旅游。中華傅山園三維虛擬漫游系統同時為今后的規劃管理提供了直觀的表現形式。
中華傅山園全景漫游系統主要包括傅山園中的牌樓、山門、林蔭道、狀元橋、戲臺、傅山生平館、大殿、膳食院、醫藥院、書法院、佛教院、儒教院、道教院、無功墻等景觀的建模,以及大規模地形地表、粒子系統、碰撞檢測等方面的技術的研究。
中華傅山園漫游系統采用Unity3D這一款作為系統開發3D引擎。整個系統的漫游以第一人稱視角進行,給觀賞者更強的帶入感。整個景區,展廳,人物, 植被,等所能見到的物件都需要用到 3DMAX 來進行模型的制作。為了能夠讓景區運行流暢和方便后面程序的編輯制作,在模型面數上控制較為精簡,配合真實的紋理材質貼圖,能達到更好的仿真效果。主要建筑將參考真實傅山園的照片來制作模型。分為主建筑群和附體建筑群。內設建筑在有需要出現的地方進行細致建模。燈光采取 UDK 里的燈光系統,主要以白天的自然天光為主,顏色為淡藍的冷色調作為照亮整個場景的總燈光,能使整個場景光源統一,陰影統一。遠處山體植被和建筑不會作為近景顯示的則不進行實體 3D 建模,而是采取 plan 面片建模配合二維貼圖形式表現,天空和地面則采取球狀包裹模型,天空貼圖則采取包裹式的無縫貼圖來制作,為的是在后面制作動畫時能讓遠處的云彩有流動感,不僅生動而且還大大節省資源。植被花草的制作采取模型堆加 plan面片,透明貼圖鏤空來表現葉子的造型配合真實的植被貼圖實現。特效方面主要表現用戶點擊觸動開關命令時出現,可以運用 UNITY3D 程序來生成實現,一些特殊的效果可以在 3DMAX 里完成。
本系統的具體需求通過UML(United Model Language,統一建模語言)對系統功能和模型進行分析和設計,選用Rational Rose平臺實現,建立系統用例如圖1所示。
為了構建一個身臨其境的虛擬環境,視景仿真系統必須能逼真的模擬虛擬環境中所有對象在現實世界中的幾何、物理、行為等諸多自然特性。因此,這就要求在虛擬環境的三維建模過程中,對對象進行幾何建模、物理建模和行為建模等。

圖1 系統用例圖
(1)幾何建模
對象的幾何建模是生成高質量視景圖像的先決條件,它是用來描述對象內部固有幾何性質的抽象模型。目前,幾何建模技術發展比較成熟,國內外已經開發了很多三維建模工具供用戶選擇。基于幾何外形和紋理映射的幾何建模方式是常用的開發手段。
(2) 物理建模
虛擬對象物理建模包括定義對象的質量、重量、慣性、光照、光滑或粗糙、硬度和彈塑性等,這些特性與對象的幾何特性和行為特性結合起來,可以更加真實地反映對象,形成更逼真的虛擬模型。
(3)行為建模
虛擬對象的行為建模體現了對象的自主性特性,也就是說對象的運動、活動、變化,以及與周圍環境和其他動態實體之間的動態關系,逼真的、自然的表現。
其中主要景點模型包括:地形模型的建立、大殿的建模、牌樓的建模、山門的建模、戲臺的建模、狀元橋的建模等(見圖3)。

圖2 系統模型圖

圖3 模型場景圖
紋理映射是把二維的圖像位圖上的像素值映射到三維實體模型的對應頂點上,以增強實體模型的真實感。它本質上是一個二維紋理平面到三維景物表面的一個映射。從數學的觀點來看,映射可以用下式描述:
(u,v)=F(x,y,z)
其中(u,v)、(x,y,z)分別是紋理空間和物體空間中的點。
例如:將一紋理映射到一高為 h,半徑為 r的圓柱面可用下面的參數形式表達:
x=rcosθ,y=rsinθ,z=h·Ф
其中 0≤θ≤2π,0≤Ф≤ 1。
通過下列線性變換將紋理空間[0,1]×[0,1]與參數空間[0, 2π]×[0,1]等同起來:u=θ/ 2π,v=Ф。
如此就得到了從物體空間到紋理空間的紋理表達式。
圖形學里,復雜的物體可以用三角網格來繪制。為了精確描述一個物體,往往需要使用成千上萬個三角形。本系統中解決問題使用LOD技術,它是基于我們在觀察物體周圍的環境時物體離我們越遠越模糊、越近越清晰的常識。一般來說,LOD 方法就是按照距離視點的遠近而用不同的細節模型來進行描述,如果模型離視點比較遠,我們就用比較粗糙一點的 LOD 模型來進行繪制,而如果模型離視點比較近,我們就用比較精細 LOD 模型來進行繪制。
在設計地表和天空網格的渲染都是通過一個遞歸的過程來實現的。通過遍歷整個四叉樹,當到達四叉樹的葉子的時候,即一個節點不再被分割的時候,就把這個節點繪制出來。本文采用多線程設計模式,將其一分為二,兩個線程完全并行執行以實現實時、動態的連續層次細節地形的渲染。線程一的功能是:根據實時渲染需求和五點定位Loo四叉樹結構信息,生成或修改(第一次是生成,之后是修改)頂點緩沖區中的圖元信息并保存以待渲染。一般而言,相機不會經常出現突然跳躍的現象,所以每次在頂點緩沖區中需要修改的信息相對整體信息而言并不是很多,這極大地加快了處理速度。線程二的功能是:一次性渲染地表頂點緩沖區中的圖元而不是一個一個節點地逐一渲染。
根據系統的總體設計,驅動程序需要實現漫游、交互操作、碰撞檢測等功能,場景驅動程序以Unity 3d為平臺,C#為支持語言對場景驅動進行設計。
碰撞檢測一般用包圍盒技術,它是指定義在一個包圍組節點模型外的不可見框架結構。在本系統中,主要是用來檢測漫游是否超出邊界,避免穿墻而過情況的發生,另外的一個應用是在視景系統中作為剔除視窗體外場景數據的參考模型。在剔除數據階段,通過檢測組節點的包圍盒是否與當前視窗體發生交叉來確定是否需要遍歷該組節點以下的節點,來大大減少場景中繪制的多邊形數。
本系統中在手動漫游中,需要進入大殿推門進入時將會觸發該動畫,此處采用DOF即Degrees Of Freedom 的縮寫,也稱為自由度技術在一些視景仿真系統中,需要實現實時互動,比如門或窗戶的打開和閉合、閥門的開關等,例如,DOF 能夠指定一扇門的旋轉角度或者是一扇窗戶打開的水平或直線距離,這樣門或窗戶就可以只停留在一定的框架內從而以符合邏輯的方式運動。
本文嘗試在虛擬現實技術的基礎上來討論三維漫游演示系統的構建方法。 中華傅山園漫游系統已經交付使用,目前運行情況良好。當然本系統還有很多地方可以進一步完善:
(1)在三維漫游系統中對物體陰影的實現。
(2)系統中對自然景觀的動態模擬還比較簡單,還須進一步優化自然景觀的模擬算法,同時引入物理特性,以便取得更真實的模擬效果。
[1]李湘德,彭斌.虛擬現實技術發展綜述[J].技術與創新管理,2004,25(6):10-14.
[2]鄭堅.虛擬現實系統中的視景仿真研究[J].微機發展,2003,13(9):18-20.
[3]吳信才.地理信息系統設計與實現[M].北京:電子工業出版社,2002:1-165.
[4]孫家廣,楊長貴.計算機圖形學[M].北京.清華大學出版社,1995.
[5]彭群生,鮑虎軍.計算機真實感圖形的算法基礎[M].北京:科學出版社,1999:221-226.
[6]J.Bowen Loftin.AerosPace applications of virtual environment technology[J].Computer GraPies,2000,30(4):33-35.