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