- 相關推薦
小研三維虛擬場景漫游系統的設計與實現
1、引言
虛擬現實(Virtual Reality,簡稱VR)是人們對計算機仿真環境進行可視化操作和交互的一種全新方式,與傳統人機界面相比,在技術思想上有了質的飛躍。利用計算機生成虛擬環境,通過視、聽、觸,甚至味覺等多種通道的實時模擬和實時交互[1]。虛擬現實技術融合了計算機圖形學、數字圖像處理、人工智能、傳感器、多媒體技術、網絡以及并行技術等多個信息技術分支的最新發展成果,大大推進了計算機技術的發展,已被廣泛應用于軍事模擬、視景仿真、飛機汽車制造、科學可視化等領域[2]。虛擬漫游是虛擬現實技術的重要應用,實現了對三維景觀的數字化和虛擬化[3],在虛擬場景中漫游具有實時性和交互性,使用戶產生了身臨其境的感受。
2、構建面向漫游的三維虛擬場景
構建虛擬場景是整個漫游系統的基礎,模型的質量好壞直接影響了場景的逼真程度和運行的效果。本文采用Maya軟件進行建模,得到模型具有很強的逼真度。虛擬漫游系統中場景的構建主要采用幾何建模技術進行建模,根據不同的需求,將多邊形建模、曲面建模等多種方法結合起來應用。正式建模之前,首先要獲得整個場景的地圖數據,確定需要哪些建筑物以及每個建筑物所處的位置。本文主要是通過照片和錄像資料采集數據,照片由于分辨率較高并且是靜態的,通常用來描述場景細節信息,同時也作為紋理貼圖的主要參照來源。錄像資料收集的范圍比較廣,更適合記錄建筑物之間的相對位置。
在建模的過程中,可以將場景分為若干個模塊,主次分明,重點的建筑物需要對其精細建模,次要的建筑物則可以粗略建模,逐層逐塊的利用Maya提供的強大建模功能和修改工具進行建模。需要精細建模的部分盡量采用精確的幾何體,而粗略的部分可以使用面片數較少的幾何體構建,爭取用最少的多邊形達到理想的效果。但是,在建好的模型中往往會出現冗余的多邊形,不僅增加了面片數,而且在漫游的過程中會出現畫面閃爍的現象。為此,可通過刪除一些瑣碎、細小的部分等方法對模型做初步的簡化。另外,可以采用紋理貼圖代替多邊形表示模型細節的方法來減少多邊形的數量,也保證了模型的逼真度。
3、基于LOD技術的場景優化
在虛擬現實的視景仿真中,為提高視景生成的效果,達到實時繪制的要求,本文根據側重不同,采用精細建模與粗略建模相結合,并運用LOD(level of details)場景簡化技術,減少繪制多邊形的數量,提高渲染效率。
3.1、LOD簡介
LOD(Level Of Detail)層次細節模型,是指對同一個場景或場景的不同部分建立多個相似的模型,不同的模型對物體的細節描述不同。同一個物體,觀察者的位置不同,所能看到該物體的細節程度也不同。LOD技術根據這一原理,在生成場景時以視點與物體的距離為準則,距離較近的調入精細的模型,距離較遠的調入粗略模型。這樣既節約了繪制時間,又不影響場景的逼真度,大大提高了計算效率。LOD技術在復雜的三維場景快速繪制、交互式可視化、三維動畫、虛擬現實等領域都得到了廣泛的應用[3]。
LOD模型可分為離散的LOD模型和連續的LOD模型。離散的LOD模型是按不同的細節程度,對同一個模型制作多個模型放在場景庫中。這樣的一系列模型之間互不關聯,且數據冗余大,在不同分辨率之間轉換的時候會引起視覺上的跳躍現象[4]。連續的LOD模型在一個時間上只保留該層次細節的模型,根據需要利用算法實時生成其他層次細節的模型。這樣幾乎沒有冗余數據,而且視覺上的連續性很好,但是由于算法復雜,模型生成較慢。本文為了保證視覺效果,采用連續的LOD模型來優化場景,并且只應用于精細模型。
3.2、在Virtools中實現LOD過程
在Virtools中實現LOD模型優化的過程包括以下幾個步驟:
1、在Level Manager部分選擇需要應用LOD技術的物體,為其添加LOD屬性。在添加屬性時選擇面片數較多的物體,面片數少的或者不重要的物體可不應用LOD技術,這樣可以提高優化效率。也可以通過在Scripts腳本中拖放Set LOD Attribute BB來添加LOD屬性。
2、LOD屬性參數編輯窗口如所示,參數包括Virtools提供的幾種網格簡化算法,如Multiple Meshes、Character Animation、Patch Mesh和LOD Alpha。
參數還包括LOD模型的選擇標準,如Screen Mag、Screen Min、Face Mag、Face Min,其中Screen Mag表示物體的放大尺寸,如果物體在屏幕上的投影占整個屏幕的比例超過Screen Mag,網格簡化就會停止,此時物體的面片數由Face Mag決定。如果物體在屏幕上的投影占整個屏幕的比例小于Screen Mag,簡化開始,面片數減少。投影比例小于下限Screen Min,網格簡化也會停止,此時物體的面片數由Face Min確定。系統會根據設定好參數調節每次簡化邊折疊的次數,控制簡化程度。清楚地說明了物體面片數與投影比例之間的關系。
3、LOD漸進網格簡化是最經常用到的簡化算法,物體的面片被自動移除。注意到,LOD參數編輯窗口中沒有LOD Progressive Mesh選項,這是由于構造漸進網格是一個代價很高的過程,在漫游的同時進行構造漸進網格的過程會消耗大量的系統資源,影響系統的實時性,所以要在系統正式運行之前完成該過程。在Mesh Setup窗口中叉選Progressive Mesh選項, Virtools會自動將物體的網格轉化為漸進網格,對于復雜的模型這個過程會持續一段時間。
4、最后,在Scripts腳本中添加LOD Manager Options BB,控制LOD簡化過程的開啟和關閉。
4、漫游引擎的設計
在虛擬場景漫游系統中,為了方便用戶與場景之間的交互,需要提供多種漫游控制功能。包括了視角的前進、后退、左右平移、重置觀察點位置、左右旋轉、旋轉視圖以及視角的上升、下降。在虛擬場景中建立一個攝像機模擬用戶的觀察點,當觀察點的位置和視線的方向改變時,看到的場景部分也會隨之改變。系統實時獲取視點的位置信息,改變參數重新繪制場景,實現了用戶在移動過程中,從不同位置、不同角度觀察場景。
4.1、交互模式漫游
在復雜的三維虛擬場景中漫游,主要依靠鍵盤和鼠標作為輸入手段。實現原理是預先為鼠標、鍵盤等輸出設備設置對用的操作內容,當用戶按下某一功能鍵,即獲取相應的動作信息,并將該信息傳遞給場景繪制模塊。然后繪制模塊調整參數,重新繪制場景。隨著用戶不斷地操作,場景會呈現出不同的姿態和角度。
本文中用戶按下W鍵向前移動(靠近屏幕方向),按下S鍵后退(遠離屏幕方向)。按下A鍵向右走,D鍵向左走。用戶可通過在視圖上按下鼠標左鍵并拖動旋轉視圖,環視場景。另外,通過Z鍵和X鍵調整觀察點的高度,按下R鍵回到初始時的觀察位置。是交互式漫游的程序腳本,Mouse Waiter BB、Rotate BB實現了鼠標旋轉視圖,Switch On Key BB定義各個功能鍵以及調用每個鍵對應的動作。是交互式漫游的效果圖。
4.2、自動模式漫游
在虛擬場景中自動漫游可以完全脫離用戶的手動操作而獨立完成。主要設計思想:首先設計一條漫游路徑曲線,當漫游動作開始后,觀察點沿著這條預設的路徑移動,這樣連續轉換觀察點的位置,連續重新繪制新狀態的場景,達到了自動漫游的效果和目的。漫游路徑曲線可在建模軟件中提前設計并計算好,在模型導入交互設計軟件時將路徑曲線一并導出。只需相機沿著路徑移動并同時依此重繪場景,而不需要人為干預,即可實現自由動態顯示。由于漫游路徑是預先設定好的,相對于交互式漫游,限制了觀察點的位置變換,靈活性較差。
是自動漫游的程序腳本,Curve Follow BB控制攝像機沿著設定的路徑曲線移動,通過設置參數控制移動的時間和速度,Position On Curve BB能夠保證攝像機在路徑上移動的方向和位置。Curve Follow BB中的Position Curve選項由一條曲線描述攝像機移動過程中的速度,曲線的最低點表示過程的開始,最高點表示過程的結束,曲線的斜率和正負代表攝像機移動速度的大小和方向。
5、結束語
三維虛擬場景漫游系統的實現融合了三維造型技術、虛擬現實技術和可視化技術。本文采用Maya軟件構建了虛擬場景的三維模型,利用漸進網格算法生成場景模型的連續LOD描述,達到場景優化的目的,有效地提升了三維漫游場景渲染速度。采用Virtools軟件設計了漫游引擎,簡單方便,容易掌握。通過實時的交互操作,使用戶更具有真實感和臨場感。
中國碩士論文網提供大量免費碩士畢業論文,如有業務需求請咨詢網站客服人員!
參考文獻
[1] Grigore C.Burdea(美), Philippe Coiffet(法). 虛擬現實技術(第二版)[M]. 北京:電子工業出版社, 2005.
[2] 申蔚, 夏立文. 虛擬現實技術[M]. 北京:北京希望電子出版社, 2002.
[3] 周演, 陳天滋. 三維虛擬漫游技術的研究[J]. 計算機工程與技術, 2012, 30(5):1209-1211.
[4] 尚建嘎, 吳丹等. 基于微機的三維圖形引擎體系結構研究[J]. 現代計算機,2002, 135:47-50.
【小研三維虛擬場景漫游系統的設計與實現】相關文章:
基于網絡的遠程虛擬儀器系統的實現03-07
談動漫游戲中的場景設計03-20
新聞發布系統的設計和實現03-07
基于PQRM的PACS系統設計與實現03-07
高校信息查詢系統的設計與實現03-28
學生成績管理系統的設計與實現03-18
淺析網絡招生錄取系統的設計與實現03-29