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