虛擬校園漫游系統(tǒng)優(yōu)化算法研究
虛擬現(xiàn)實(shí) (virtual reality,VR)是一種可以創(chuàng)建和體驗(yàn)虛擬世界的計(jì)算機(jī)系統(tǒng),是指利用高性能的計(jì)算機(jī)生成逼真的視、聽、觸、嗅覺等一體化的虛擬環(huán)境,用戶借助必要的專用設(shè)備(如數(shù)據(jù)手套、頭盔)以 自然的方式與虛擬環(huán)境中的虛擬對象進(jìn)行實(shí)時(shí)交互,相互作用,相互影響,從而產(chǎn)生身臨其境的感覺.
本文引用地址:http://m.butianyuan.cn/article/163261.htm近年來,隨著計(jì)算機(jī)硬件技術(shù)的加速發(fā)展,虛擬現(xiàn)實(shí)技術(shù)在建筑環(huán)境實(shí)時(shí)漫游中的應(yīng)用成為人們關(guān)注的熱點(diǎn).虛擬校園漫游是城市規(guī)劃應(yīng)用的基本功能之一,構(gòu)造一個(gè)虛擬校園漫游系統(tǒng),必須綜合應(yīng)用計(jì)算機(jī)圖形技術(shù)、多媒體技術(shù)、傳感器技術(shù)、顯示技術(shù)以及網(wǎng)絡(luò)技術(shù)等多種計(jì)算機(jī)領(lǐng)域的最新技術(shù).文中根據(jù)第 2炮兵士官學(xué)校規(guī)劃設(shè)計(jì),應(yīng)用虛擬現(xiàn)實(shí)技術(shù)開發(fā)了基于桌面系統(tǒng)的“虛擬校園實(shí)時(shí)漫游系統(tǒng)”,該系統(tǒng)以中檔 Pc機(jī)為硬件平臺,對實(shí)時(shí)漫游系統(tǒng)的各種優(yōu)化算法進(jìn)行了深入研究。
1 系統(tǒng)總體結(jié)構(gòu)
為了保證整個(gè)場景能順利、流暢地在普通高檔微機(jī)上運(yùn)行,同時(shí)達(dá)到實(shí)時(shí)漫游的功能,保證其安全、可靠地運(yùn)行,按照任務(wù)側(cè)重點(diǎn)的不同,可將整個(gè)系統(tǒng)分解成場景模型子系統(tǒng)、漫游引擎子系統(tǒng)、輸入子系統(tǒng) 、渲染輸 出子系統(tǒng)等,它們在功能上相對獨(dú)立,通過數(shù)據(jù)接口相互聯(lián)系,其總體結(jié)構(gòu)如圖 1所示.
2 模型及貼圖的優(yōu)化
2.1 三維復(fù)雜模型結(jié)構(gòu)的優(yōu)化
虛擬校園中有許多復(fù)雜結(jié)構(gòu)模型,如果模型數(shù)據(jù)庫中多邊形數(shù) 目超過系統(tǒng)的計(jì)算能力,在虛擬場景中漫游時(shí)幀處理將無法及時(shí)完成,場景變換的平滑性會(huì)受到破壞 .為了提高運(yùn)行系統(tǒng)的實(shí)時(shí)性,必須對模型進(jìn)行簡化處理,以減少數(shù)據(jù)庫的多邊形開銷,從下面幾個(gè)方面對模型進(jìn)行簡化:
1)使用 LOD表達(dá)復(fù)雜結(jié)構(gòu)模型.虛擬校園中有許多復(fù)雜模型必須用 LOD來表達(dá),以使運(yùn)行系統(tǒng)中的多邊形數(shù)控制在預(yù)算之內(nèi),有利于提高運(yùn)行系統(tǒng)的實(shí)時(shí)性.
2)用紋理代替多邊形表達(dá)結(jié)構(gòu)細(xì)節(jié).紋理映射能夠在不增加多邊形數(shù)目的前提下提高場景表達(dá)的詳實(shí)程度,用 LOD模型配合一定細(xì)節(jié)程度的紋理來代替多邊形模型會(huì)大大降低系統(tǒng)的繪制負(fù)載.
3)刪除冗余多邊形.刪除數(shù)據(jù)庫中的冗余多邊形可以在一定程度上減少系統(tǒng)中的多邊形數(shù)量,這些多邊形可能是模型內(nèi)部的細(xì)節(jié)結(jié)構(gòu),某些多邊形的背面可能是位于某平面上的模型的底面,如地面上內(nèi)部不需漫游的房屋的底面等.可以用 3DSMAX中的 Optimize修飾器進(jìn)行簡化 ,主要用于減少模型的面數(shù).值得注意的是,Optimize必須在貼圖之前進(jìn)行,否則貼圖會(huì)發(fā)生扭曲.
4)移除多邊形的背面.虛擬校園環(huán)境中組成絕大多數(shù)模型的多邊形都是單面可見,3DSMAX能 自動(dòng)剔除多邊形的背面,僅顯示其前面,虛擬校園環(huán)境中除構(gòu)成樹木模型之外的絕大多數(shù)多邊形都是單面可見的.為減輕系統(tǒng)的運(yùn)行負(fù)載,提高渲染速度,如果多邊形是單面可見,應(yīng)確保其狀態(tài)沒被設(shè)定為 2side.
2.2 紋理映射優(yōu)化
虛擬校園中所使用的紋理是用數(shù)碼相機(jī)拍攝景物表面細(xì)節(jié)獲得的數(shù)字圖像來離散定義的,之后用3 DSMAX的紋理工具進(jìn)行紋理映射和對紋理進(jìn)行編輯 ;但系統(tǒng)中紋理的大小、數(shù)量和分辨率受運(yùn)行系統(tǒng)中紋理存儲(chǔ)空間的限制.所以為了在不降低模擬真實(shí)性的前提下,使紋理占據(jù)的系統(tǒng)資源(如存儲(chǔ)空間)盡可能少,必須對紋理數(shù)據(jù)進(jìn)行優(yōu)化,以提高系統(tǒng)的運(yùn)行實(shí)時(shí)性.
從以下幾個(gè)方面對紋理數(shù)據(jù)進(jìn)行優(yōu)化:
1)紋理大小的合理確定.紋理大小應(yīng)根據(jù)圖形加速卡性能、運(yùn)行系統(tǒng)的內(nèi)存及人的視覺生理特性等合理確定.為有效節(jié)省內(nèi)存,虛擬校園中所用紋理多數(shù)是512×512或更小.高分辨率的紋理只有當(dāng)虛擬場景需近距離觀看時(shí)才使用.
2)紋理內(nèi)部格式分辨率的優(yōu)化配置.紋理內(nèi)部格式分辨率決定了如何改變紋理數(shù)據(jù)各顏色分量的字節(jié)配置,以得到不同格式紋理在諸如性能、效率或圖像質(zhì)量等方面的不同效果.虛擬校園中的紋理數(shù)據(jù)做了如下的優(yōu)化處理:為節(jié)省內(nèi)存 ,將源數(shù)據(jù)采集效果較好 的多數(shù) RGB文件 內(nèi)部 格式分 配為 TX― RGB一5,RGBA文件的內(nèi)部格式分配為 TX―RGBA一4;有些紋理數(shù)據(jù)因?yàn)椴杉Ч焕硐?,為保證圖像質(zhì)量,將其內(nèi)部格式設(shè)定為 TX―RGB一12.
3)子紋理的運(yùn)用.虛擬校園中有些表面的紋理細(xì)節(jié)差別較小,如不同路段的路面紋理等,采用子紋理進(jìn)行處理,既避免了明顯的雷同,又節(jié)省了內(nèi)存.[
3 漫游引擎子系統(tǒng)的優(yōu)化
3.1 建立一個(gè)好 的層次結(jié)構(gòu)庫
由于建立的模型的各個(gè)部分在層次圖中分別對應(yīng)一塊面板,實(shí)時(shí)漫游系統(tǒng)將通過層次結(jié)構(gòu)圖來展示數(shù)據(jù)庫組成,一個(gè)有序的、有條理的層次結(jié)構(gòu)圖將使您的模型在實(shí)時(shí)漫游系統(tǒng)中以最快的速度和最正確的方式顯示出來.層次結(jié)構(gòu)庫也是一個(gè)可視化的數(shù)據(jù)結(jié)構(gòu)庫.這種結(jié)構(gòu)像一棵倒立的大樹,根在最上面,樹枝、樹葉在下面.它將展示出模型的結(jié)構(gòu)組織,各個(gè)組成部分以小面板的形式按照一種或多種樹形結(jié)構(gòu)排列,這樣的方式十分有利于模型的修改.通過在層次結(jié)構(gòu)圖中用鼠標(biāo)點(diǎn)擊并拖動(dòng)小面板來編輯任意一個(gè)面,例如,單擊便可編輯視圖中的任一模型結(jié)構(gòu)體,雙擊便可得到或修改結(jié)構(gòu)體的屬性.而且由于面在組中或?qū)嶓w中時(shí)按從左到右的順序排列,如果其中有一部分是按錯(cuò)誤的順序排列,可以左移或右移面板來調(diào)整它們的順序.在顯示時(shí),對于任意一點(diǎn),Z―buffer將計(jì)算這一點(diǎn)附近所有物體到屏幕的距離 ,最近的物體的顏色將被賦給這一點(diǎn),從而防止在建立面時(shí)需要對面進(jìn)行轉(zhuǎn)換或排序.另外,好的層次結(jié)構(gòu)庫能夠更加方便地用于場景的挑選.換句話說,此虛擬場景結(jié)構(gòu)可以根據(jù)當(dāng)前視點(diǎn)來挑選場景中的哪一部分是可以看到的.在渲染開始時(shí),對不可視的幾何體元素不予處理,從而加強(qiáng)虛擬現(xiàn)實(shí)場景的渲染階段的性能.
評論