山西工商學(xué)院,山西太原 030001
隨著我國(guó)信息化技術(shù)的不斷發(fā)展,虛擬現(xiàn)實(shí)技術(shù)從目前的網(wǎng)絡(luò)化、虛擬化,逐步向智能化、普適化、人性化發(fā)展,其主要涉及的領(lǐng)域有設(shè)計(jì)、娛樂、醫(yī)學(xué)、軍事、航空、制造、考古、教育訓(xùn)練、災(zāi)難重現(xiàn)、人機(jī)交互界面、參考咨詢、農(nóng)業(yè)等[1]。
上述應(yīng)用針對(duì)地物實(shí)體外部空間的表達(dá)和模擬,對(duì)室內(nèi)虛擬現(xiàn)實(shí)技術(shù)方面,其研究和應(yīng)用較少,因此迫切需要開展室內(nèi)的視景仿真工作,使得地物內(nèi)部的景象數(shù)字化、靈活化、逼真化。
本文以某大學(xué)實(shí)驗(yàn)室為例,對(duì)實(shí)驗(yàn)室的硬件設(shè)備進(jìn)行了統(tǒng)計(jì)和測(cè)量,并以Presagis Creator13為建模工具,對(duì)內(nèi)部景觀及設(shè)備進(jìn)行了全方位的三維模擬,構(gòu)建了真實(shí)的三維環(huán)境,同時(shí),本文也對(duì)建模過(guò)程中容易遇到的問題進(jìn)行探討和總結(jié)。
Presagis Creator(以下簡(jiǎn)稱Creator)是加拿大Presagis公司的新一代實(shí)時(shí)仿真建模工具,用于構(gòu)造高優(yōu)化、高精度的實(shí)時(shí)三維場(chǎng)景,廣泛應(yīng)用于視景仿真、交互式游戲。它擁有對(duì)實(shí)時(shí)應(yīng)用優(yōu)化的OpenFlight數(shù)據(jù)格式,強(qiáng)大的多邊形建模、矢量建模、大面積地形精確生成功能,以及多種專業(yè)選項(xiàng)和插件,能高效、最優(yōu)化地生成實(shí)時(shí)數(shù)據(jù)庫(kù),并與后續(xù)的實(shí)時(shí)仿真軟件緊密的結(jié)合,在視景仿真、模擬訓(xùn)練、城市仿真、交互式游戲及工程應(yīng)用、科學(xué)可視化等實(shí)時(shí)仿真領(lǐng)域有著廣泛的應(yīng)用[2]。
基于對(duì)校園三維漫游系統(tǒng)的開發(fā)經(jīng)驗(yàn),針對(duì)建模過(guò)程中模型復(fù)雜、種類繁多的現(xiàn)狀,得出在三維模型建立之前,需要對(duì)被建模型的本身進(jìn)行全方位了解,并根據(jù)每個(gè)小塊模型之間的聯(lián)系以及模型在虛擬場(chǎng)景的幾何空間位置,同時(shí)結(jié)合OpenFlight層次化數(shù)據(jù)結(jié)構(gòu)[3],來(lái)對(duì)實(shí)體模型的層次結(jié)構(gòu)進(jìn)行總體設(shè)計(jì)。為了在建模中省時(shí)省力,本文采用了相對(duì)合理的方案來(lái)規(guī)劃三維建模過(guò)程。主要體現(xiàn)在以下兩個(gè)方面:
1、由于建模過(guò)程比較復(fù)雜,不僅模型種類不同,對(duì)建模過(guò)程中的精度要求不同,而且每個(gè)模型的點(diǎn)、線、面、體元素很多,不利于提高建模效率,所以需要將模型分類,單獨(dú)整理建模;
2、分類完成后,把可以簡(jiǎn)化的模型歸類,針對(duì)不同模型,選用不同的建模技巧,以達(dá)到最好的視景效果。如實(shí)驗(yàn)室內(nèi)景中,擺放的實(shí)驗(yàn)桌子、椅子,這時(shí)可以建立一個(gè)典型的模型,之后運(yùn)用建模技巧對(duì)這個(gè)模型進(jìn)行移動(dòng),或者鏡像等來(lái)完成對(duì)應(yīng)幾何位置的其他模型,這就相對(duì)的減少了建模工作量。
相對(duì)于3DSMax、Sketchup等建模軟件來(lái)講,Creator在模型數(shù)據(jù)管理方面有較多優(yōu)勢(shì)。它可以在基本建模環(huán)境中,為用戶提供功能豐富強(qiáng)大的建模環(huán)境,使用戶可以快速地創(chuàng)建仿真模型。Creator的劣勢(shì)在于它的布爾運(yùn)算功能相對(duì)較差,不支持NURBS建模,對(duì)于實(shí)體較復(fù)雜且要求較精細(xì)的建模比較艱難,不易達(dá)到理想的效果。
由于可視化仿真襯里渲染的實(shí)現(xiàn)過(guò)程和其本身所具有的交互性特點(diǎn),決定了可視化仿真系統(tǒng)的模型數(shù)據(jù)庫(kù)跟傳統(tǒng)的三維模型數(shù)據(jù)庫(kù)有不同:
(1)支持多種格式的模型進(jìn)行轉(zhuǎn)換;
(2)支持多自由度(Degree of Freedom,DOF)、多細(xì)節(jié)層次(Level of Detail ,LOD)建模;
(3)支持光點(diǎn)系統(tǒng)以及動(dòng)畫模擬。
在建模過(guò)程中,為了使模型數(shù)據(jù)快速建立以及被應(yīng)用程序快速讀取,需要盡量減少模型的多邊形數(shù)量,以使模型構(gòu)造最簡(jiǎn)化,同時(shí)也減少對(duì)系統(tǒng)內(nèi)存的占用。
在Creator建模時(shí)要注意幾點(diǎn)原則:
(1)在從其他建模軟件導(dǎo)入模型時(shí),要注意采用統(tǒng)一的計(jì)量單位和比例尺;
(2)要注意設(shè)備模型的底面與網(wǎng)格的關(guān)系,比如車輛類模型的底面要與網(wǎng)格重合,船艦類模型要與吃水線重合,飛機(jī)類模型要與其中心面重合;
(3)建模過(guò)程中,盡量用貼圖代替面,減少模型的面數(shù);
(4)貼圖要符合Creator軟件的要求,Creator紋理庫(kù)[4]有128個(gè)調(diào)色板存放紋理,紋理圖像的邊長(zhǎng)必須是2的冪次方個(gè)像素,且貼圖盡量要??;
(5)要設(shè)置合適的LOD節(jié)點(diǎn)和DOF節(jié)點(diǎn),要隨時(shí)注意模型數(shù)據(jù)庫(kù)中父節(jié)點(diǎn)的設(shè)置、名稱的改變,避免名稱為默認(rèn)值,產(chǎn)生Default節(jié)點(diǎn)。并且放在同一個(gè)自由度下的節(jié)點(diǎn)不能移動(dòng)到其他節(jié)點(diǎn);
(6)建模時(shí),要對(duì)模型進(jìn)行合理的簡(jiǎn)化,考慮現(xiàn)實(shí)場(chǎng)景的要求,針對(duì)模型設(shè)計(jì)合理的紋理貼圖,增強(qiáng)模型的真實(shí)感。
在室內(nèi)實(shí)體建模過(guò)程中,由于觀察的視點(diǎn)在實(shí)體內(nèi)部,所以需要建立操作部分的精確視圖。但Creator對(duì)精細(xì)化的建模效果不是很理想,這時(shí)需要結(jié)合其他建模軟件,比如常用的是3DSMax或者Sketchup,將模型存儲(chǔ)為3ds或者dxf格式,然后導(dǎo)入Creator中,經(jīng)過(guò)一定的改造、優(yōu)化(比如刪除多余的面,調(diào)整紋理貼圖大小,添加LOD、DOF節(jié)點(diǎn)等),并導(dǎo)出成Openf l ight格式。
在此過(guò)程中需要注意的是:
(1)導(dǎo)入之前要選定統(tǒng)一的計(jì)量單位,避免導(dǎo)入后不在原位置;
(2)所建立的模型不要分很多段,避免某個(gè)面的細(xì)節(jié)很多。
在模型導(dǎo)入后,面與面之間進(jìn)行整理合并,減少多余的面。如圖1所示是椅子三維模型及數(shù)據(jù)庫(kù)結(jié)構(gòu)圖。
紋理貼圖[5]在三維建模中起著重要的作用,因?yàn)榧y理直接反應(yīng)了模型的逼真程度,高質(zhì)量的紋理貼圖不僅可以描述實(shí)體細(xì)節(jié)特征,而且可以簡(jiǎn)化模型。例如一張好的臺(tái)階圖像就可以代替臺(tái)階模型,從而減少了模型的復(fù)雜程度以及對(duì)內(nèi)存的占用。三維模型的逼真程度同時(shí)也映射著紋理圖像的質(zhì)量。
紋理貼圖的本質(zhì)是二維的圖像轉(zhuǎn)換成三維的圖像,在模型中表現(xiàn)出來(lái)真實(shí)的效果[6]。紋理圖像的格式不符合Creator所識(shí)別的格式,或者大小不符合Creator所要求的范圍,這時(shí)所貼模型的面就會(huì)出現(xiàn)模糊不清或者馬賽克狀。處理貼圖時(shí),在保證視覺效果的前提下,盡量選擇小的圖像代替大的圖像,比如用32px×32px的圖片代替128px×128px的圖片。如圖2所示是實(shí)驗(yàn)室桌子模型貼圖效果圖。
在貼圖過(guò)程中,首先要對(duì)紋理圖像進(jìn)行處理,使紋理、材質(zhì)與環(huán)境效果相互統(tǒng)一,使用PS技術(shù)對(duì)圖像進(jìn)行一系列的處理,同時(shí)需要注意的是要在PS安裝目錄下的File Formats文件夾中安裝rgb插件,這樣輸出的圖片格式符合OpenFilght的要求。
本文中對(duì)某大學(xué)教學(xué)實(shí)驗(yàn)室室內(nèi)設(shè)備器材的建模時(shí)采用批量生成的方法。在Creator軟件建模環(huán)境中,軟件只對(duì)貼圖文件的路徑及貼圖以何種方式被使用進(jìn)行記錄,因此沒有直接將貼圖文件包含于模型文件中,基于這個(gè)特點(diǎn),可以將實(shí)體相同的模型,先單獨(dú)建立一個(gè)完整的模型,通過(guò)對(duì)位置及貼圖的修改,即可簡(jiǎn)單的生成新的模型。這種方法的優(yōu)點(diǎn)是對(duì)具有相同特征的模型可以大大的減少工作量,在建模中有重要的意義。缺點(diǎn)是比較單一,對(duì)于具有相同結(jié)構(gòu)但外部紋理不同的模型,紋理的制作量比較大,并且不能互用。圖3所示是教學(xué)實(shí)驗(yàn)室部分相似模型的生成。
在Creator軟件當(dāng)中,除了上文中提到的紋理(漫反射紋理),還有法線紋理和高光紋理,這兩種紋理是在不增加模型幾何復(fù)雜度的情況下豐富細(xì)節(jié)和增加模型美觀度的,可以通過(guò)Creator自帶工具生產(chǎn)[7]。但是當(dāng)模型加入法線紋理后,相應(yīng)的使用模型的三維渲染引擎也應(yīng)進(jìn)行相應(yīng)的設(shè)置,通過(guò)GLSL著色語(yǔ)言使法線紋理高光紋理產(chǎn)生效果。本文中所建立的模型要做Presagis Vega Prime三維渲染引擎中渲染完成。如圖4所示是實(shí)驗(yàn)室最終效果圖。
虛擬現(xiàn)實(shí)技術(shù)雖然現(xiàn)在做不到像電影《時(shí)光機(jī)器》中虛擬館員那樣,當(dāng)讀者說(shuō)出要查找的內(nèi)容,他就會(huì)一邊跟讀者交流一邊很快地檢索出結(jié)果,放到屏幕上如此神奇。但是在室內(nèi)現(xiàn)實(shí)這塊,我們可以設(shè)計(jì)一個(gè)全景漫游,讓人在屏幕上操作攝像機(jī)在室內(nèi)漫游,就像人在真實(shí)的環(huán)境中散步一樣,可以觀看每個(gè)房間內(nèi)的布局及設(shè)備,使參觀更方便、直觀。
本文結(jié)合先前大學(xué)校園漫游系統(tǒng)的開發(fā)經(jīng)驗(yàn),提出了Creator軟件與其他軟件對(duì)比的優(yōu)缺點(diǎn),探討了建模中的關(guān)鍵技術(shù)以及經(jīng)驗(yàn)技巧,總結(jié)了三維建模中的原則和模型數(shù)據(jù)庫(kù)建立時(shí)的簡(jiǎn)化方法,同時(shí)強(qiáng)調(diào)了紋理貼圖過(guò)程中需要注意的事項(xiàng),對(duì)三維建模高效、高質(zhì)量的研究和實(shí)現(xiàn)提出了可行的方法。
最后以某大學(xué)教學(xué)實(shí)驗(yàn)室為例,對(duì)以上提出的部分技巧進(jìn)行實(shí)例運(yùn)用,驗(yàn)證了在三維建模中針對(duì)不同的實(shí)體模型選用合適的技巧后,不僅可以提高建模的速度,減少工作量,而且加快了系統(tǒng)的運(yùn)行速度,更降低了對(duì)系統(tǒng)硬件配置的要求。