謝 陽,張 燕,李改紅,馬 梁
(1.遼寧石油化工大學計算機與通訊工程學院,撫順113001;2.渤海大學文理學院信息技術系,錦州121001)
虛擬現實技術作為一門新興的綜合性技術,融合了信息技術多個分支的最新發展成果,是一個由計算機生成的高技術模擬系統。其應用的重要特性之一是人可以在隨意變化的交互控制下感受場景的動態變化,也就是虛擬現實系統要實現隨著人的活動即時生成相應的圖形畫面[1-2],其中有兩個重要指標用來衡量用戶在虛擬環境下的沉浸效果和程度:一是動態特性;一是交互延遲。以上兩種指標都依賴于系統生成圖形的速度,顯然,圖形生成速度是虛擬現實系統的重要瓶頸。雖然近年來硬件加速器如GPU、專用圖形處理器等性能得到了很大的提高,但距離VR的需求仍有很大差距,考慮到VR對場景復雜度幾乎無限制的要求,在高質量圖形的實時生成要求下,如何從軟件著手,減少圖形畫面的復雜度,正成為VR圖形生成的主要研究目標。
傳統意義上的虛擬場景基本都是基于幾何模型的?;趲缀文P偷娜S場景建模技術是以計算機圖形學的基本繪制原理為基礎,首先對需要建模的三維虛擬場景(包括建筑物、自然景觀等)進行數字化描述,通過數學意義上的曲線、曲面等數學模型構建好虛擬場景的幾何輪廓,再根據模型在真實世界的質地設置相應的材質,最后通過建立虛擬環境中的光照等模型,使得整個場景獲得較為真實的視覺效果[3-4]。
基于幾何建模方式的虛擬場景漫游系統,因為其中的虛擬實體大多是基于具體的幾何參數繪制而成,因而整個場景在視覺體驗上非常細膩和真實,同時也極大地方便了用戶與漫游場景中虛擬實體的交互和碰撞檢測功能的實現。只要提供相應的建筑設計圖紙,再對尺寸進行等比例縮放,就可完成整個場景的構建?;趲缀文P偷慕<夹g已經發展很長時間,幾何建模的軟件也越來越多,利用這些建模軟件,可以很容易的完成各種復雜模型的構建。當然,伴隨著場景規模的增加,復雜度的提高,建模的工作量會大大增加,同時由于場景的精致程度取決于幾何模型面數的多少,面數的增加又會降低漫游系統的實時顯示速度,因此需要設計人員在模型繪制和實時顯示效率上做出選擇。
基于圖像的三維場景建模技術,完全摒棄了傳統的先建模、再設置材質、而后確定光源的繪制方法。該建模方式的主要思路是首先利用外部設備對真實模型的離散數據或連續的圖像視頻數據進行采集,然后將采集到的數據作為系統中虛擬場景的原始數據,通過計算機上的工具軟件對其進行整合和優化,生成效果逼真、感覺生動的場景全景圖像,再通過合適的空間模型把制作好的全景圖像組織為虛擬場景空間,最終實現虛擬場景的漫游。這種建模方式不僅可以縮短系統的開發時間,也省去了對諸如光照跟蹤等極費時的計算。
該建模方式在不需要進行復雜建模的條件下便可能生成反映真實場景的高質量圖像環境,并且漫游效果及處理時間僅與所要生成畫面的分辨率有關,與場景的內容復雜程度完全無關,因而不需要專業的圖形加速設備,對計算機的資源要求也不是很高,所以該建模技術具有簡單、快速、逼真等優點,非常適合表現大規模的復雜場景,我國已成功應用該技術在著名景區的網上旅游及虛擬場館瀏覽等方面。但由于該技術的數據采集必須在原有的真實場景的基礎上獲取,如果該真實場景并不存在,或還處于設計階段,那么在場景構建上該技術則無能無力,而且由于場景中的虛擬物體僅是圖像顯示,因而在基于圖像建模方式的虛擬系統中很難甚至不能實現人機交互功能。
基于混合建模的漫游技術,就是將幾何建模和圖像建模結合在一個場景中,合理地使用兩者所長,對場景中的不同環節采用不同的處理方式,最大限度的發揮它們的優勢,以取得理想的效果。
雖然基于混合建模的漫游技術具有無可比擬的優點,但在實現上也有很多技術困難。在實際應用中,大多采用建模+紋理貼圖的方式,即通過紋理貼圖代替幾何模型的表面細節或整體外觀,這里對紋理貼圖的使用區別于基于圖像建模的漫游技術中的需要進行拼接、組織、編碼以后形成全景圖像,所以,幾何建模+紋理貼圖的漫游技術與基于混合建模的漫游技術還有很大距離。由于這種方法簡單,更易于實現,而且效果較好,也是目前使用較為廣泛的方法之一。
由于場景的復雜程度,影響著虛擬現實系統的實時顯示效果,因此對場景的最大程度優化顯得尤為重要。目前,比較常見的降低場景復雜度的方法有三種,分別是場景分塊、可見消隱、LOD 技術[5-6]。
(1)場景分塊(World Subdivision)
把一個范圍較大,內容較復雜的場景劃分成多個相互獨立的子場景,各子場景之間幾乎不可見或者完全不可見。該方法僅限于在空間封閉的虛擬場景中使用。例如把一個建筑物按樓層劃分成多個子場景,用戶在某一層時,僅能看到本樓層內的場景信息,完全不關心其他樓層內的場景內容,在這種情況下便可應用該技術,不僅可以減少在某一時刻系統所需顯示的多邊形數目,還可以在很大程度上降低場景的復雜程度,減輕系統運行負擔。對于虛擬商場漫游系統可以根據樓層劃分多個子場景,然后通過動態導入的方式,將各子場景聯系起來。
(2)可見消隱(Visibility Culling)
場景分塊方法的實現與用戶在虛擬場景中所處的方位有關,而可見消隱方法與場景分塊方法的不同在于,可見消隱方法的實現與用戶的視點有關,也就是系統僅顯示用戶當前所能看到的場景信息。當用戶每次只能“看到”整個場景的很小一部分信息時,系統的運行速度會因為所要顯示的多邊形數目的減少而大大提高,當用戶每次“看到”的場景范圍較大時,這種方法的作用就很難發揮了。在虛擬商場漫游系統中,物體擺放的比較緊湊,關聯的也很密切,所以該種方法不適合。
(3)層次細節技術(Levels of Detail)
即使采用了可見消隱技術及場景分塊技術,有時用戶能“看見”的場景仍然相當復雜,這時我們可以使用層次細節技術。所謂層次細節技術,就是為每個物體建立多個相似的模型,不同模型對物體進行不同程度的細節描述,對模型細節的表現越精細,模型的面數越多。根據物體在屏幕上所占區域以及用戶視點與物體間的距離等因素,為物體選擇不同的細節模型,恰當的減少系統所需顯示的多邊形數目。這種方法不僅適用于封閉空間場景,也可以用于開放空間場景,是一種高效的方法?;趯哟渭毠澞P偷奶攸c,該技術被廣泛應用于漫游系統場景的簡化。
1976年,Clark提出了細節層次(LOD)模型概念,是當前可視化仿真領域圖形實時顯示方面非常流行的技術。該模型的主要思想是,同一個物體,把它放到遠近不同的位置,人眼睛所看到的該物體的細節程度是不同的,當物體覆蓋屏幕較小范圍時,可以使用該物體的粗略描述模型,并給出一個用于可見面判定算法的幾何層次模型,以便對復雜場景進行快速繪制。在不影響畫面視覺效果的前提下,通過簡化物體表面細節(多邊形面)來減少場景的幾何復雜性,提高圖形實時生成速度。
Virtools中專門提供了一組用來實現LOD功能的BB。其中LOD管理器選項的BB負責激發LOD算法,LOD屬性設置BB可以設置很多屬性,例如碰撞檢測和材質紋理屬性等,通過這些 BB使得Vitrools中實現 LOD 技術變得更加簡單[7-8]。
Virtools中添加LOD屬性的步驟:
(1)為將要應用LOD技術的實體添加LOD屬性。Virtools中的實體可以添加很多屬性,如地板屬性、碰撞屬性等。把要應用LOD技術的實體添加LOD屬性,將場景中體積較大、面數較多的物體添加該屬性,而其他體積較小、面數較少且不太重要的物體可以不添加LOD屬性,這樣可以提高LOD的效率。

圖1 添加LOD屬性
(2)根據需要選擇適合的網格簡化算法和設置LOD模型的標準參數。為添加LOD屬性的物體設置參數,參數包括所選用的算法和其他LOD模型標準參數,Virtools提供了幾種網格簡化算法,其中遞進網格算法不包含在屬性中,需額外設置。本系統使用面積選擇算法,參數包括Screen Mag、Screen Min、Faces Mag、Faces Min 等。其中 Screen Mag 表示模型在屏幕中所占比例上限,Screen Min表示模型在屏幕中所占比例的下限,當物體在屏幕上所占的范圍大于Screen Mag,顯示的面數由Faces Mag決定。當物體在屏幕上所占的范圍小于Screen Min,顯示的面數由Faces Min決定,模型在屏幕的范圍在兩者之間時,通過插值法計算模型面數,如圖2所示。

圖2 設置LOD屬性參數
(3)最后在 Level層級中添加 LOD Manager Options Bbkongzhi LOD簡化開啟和關閉。

圖3 LOD制作腳本

圖4 應用LOD效果圖
通過對基于幾何建模、基于圖像建模和混合建模等虛擬現實場景建模方式的介紹,比較了三種建模方式的應用范圍和優缺點。同時在虛擬現實的實現方面,場景顯示的動態特性和響應時間直接影響著用戶的沉浸感和真實感的體驗。為了達到更加自然的虛擬現實漫游效果,采用Virtools虛擬實境軟件自帶的LOD BB,對場景中體積較大,面數較多的物體進行模型優化。依據用戶視線的主方向、景物距離視點的遠近和景物在屏幕上所占區域的大小等因素來判斷實體應選擇的細節層次,以達到實時顯示圖形的目的。
[1]劉光然.虛擬現實技術[M].北京:清華大學出版社,2011.
[2]張茂軍.虛擬現實系統[M].北京:科學出版社,2003.
[3]洪炳熔,蔡則蘇,唐好選.虛擬現實及其應用[M].北京:國防工業出版社,2005.
[4]秦文虎,狄嵐,姚曉峰,陳偉琦.虛擬現實基礎及可視化設計[M].北京:化學工業出版社,2009.
[5]胡小強.虛擬現實技術基礎與應用[M].北京:北京郵電大學出版社,2009.
[6]湯磊.基于Virtools的三維場景實時漫游系統的研究與開發[D].大慶:大慶石油學院,2007.
[7]牟萍.虛擬校園建模漫游技術研究及其實踐[D].重慶:重慶師范大學,2006.
[8]羅永紅.基于Virtools的虛擬建筑場景漫游系統的設計[J].義烏工商職業技術學院學報,2008,6(1):82-85.