朱映輝 江玉珍
摘要:虛擬現(xiàn)實(shí)技術(shù)與計(jì)算機(jī)圖形學(xué)相輔相成,為使計(jì)算機(jī)圖形學(xué)的實(shí)驗(yàn)開(kāi)設(shè)更具實(shí)際應(yīng)用意義,該文提出基于VRML、基于三維建模技術(shù)和基于Web3D技術(shù)的三種VR實(shí)現(xiàn)方法,并通過(guò)實(shí)例分析了該三種方法的應(yīng)用特點(diǎn)。
關(guān)鍵詞:虛擬現(xiàn)實(shí);計(jì)算機(jī)圖形學(xué);VRML;三維建模
中圖分類(lèi)號(hào):TP391.9 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)01-0209-04
1 概述
虛擬現(xiàn)實(shí)(Virtual Reality)也稱(chēng)虛擬現(xiàn)實(shí)環(huán)境,是指用計(jì)算機(jī)技術(shù)生成一個(gè)逼真的三維視覺(jué)、聽(tīng)覺(jué)、觸覺(jué)或嗅覺(jué)等感覺(jué)世界,讓用戶(hù)可以從自己的視點(diǎn)出發(fā),利用自然的技能和某些設(shè)備對(duì)這一生成的虛擬世界客體進(jìn)行瀏覽和交互考察。簡(jiǎn)單的說(shuō),虛擬現(xiàn)實(shí)是一種可以創(chuàng)建和體驗(yàn)虛擬世界的計(jì)算機(jī)系統(tǒng),提供了先進(jìn)的人機(jī)交流技術(shù)。目前虛擬現(xiàn)實(shí)技術(shù)已被廣泛應(yīng)用視景仿真現(xiàn)實(shí)、軍事駕駛模擬、3D游戲開(kāi)發(fā)、虛擬設(shè)計(jì)與規(guī)劃、仿真培訓(xùn)、遠(yuǎn)程操作控制等領(lǐng)域之中[1]。
虛擬現(xiàn)實(shí)技術(shù)同時(shí)也是一項(xiàng)綜合性計(jì)算機(jī)圖形交互技術(shù)。計(jì)算機(jī)圖形學(xué)中的一些方法,如三維造型與變換、光照模型、科學(xué)計(jì)算可視化等為虛擬現(xiàn)實(shí)技術(shù)提供了理論和技術(shù)基礎(chǔ)。計(jì)算機(jī)圖形學(xué)的發(fā)展帶動(dòng)了虛擬現(xiàn)實(shí)技術(shù)的進(jìn)步,同時(shí)虛擬現(xiàn)實(shí)技術(shù)在各領(lǐng)域中的廣泛應(yīng)用也使圖形學(xué)的各個(gè)研究方向得到充分發(fā)展[2]。在高校計(jì)算機(jī)專(zhuān)業(yè)的計(jì)算機(jī)圖形學(xué)課件的教學(xué)中,虛擬現(xiàn)實(shí)不算是一個(gè)重要的、必修的知識(shí)點(diǎn),但如能在掌握三維造型方法的基礎(chǔ)上輔以虛擬現(xiàn)實(shí)的運(yùn)用,那么將能有效地提升實(shí)踐操作的實(shí)際應(yīng)用意義,激發(fā)學(xué)生研究探索興趣,令圖形學(xué)課程的相關(guān)知識(shí)綜合運(yùn)用起來(lái),達(dá)到學(xué)以致用,相得益彰。
2 虛擬實(shí)現(xiàn)技術(shù)簡(jiǎn)介
虛擬現(xiàn)實(shí)有四個(gè)主要特征:多感性;沉浸感;交互性;自主性。理想的、最高境界的VR技術(shù)是:虛擬場(chǎng)景具備與真實(shí)環(huán)境一樣的真實(shí)感、能調(diào)動(dòng)一切人所具有的感知功能、操作者完全感受與自然環(huán)境一樣的自由度和人-物交互感應(yīng)。但實(shí)現(xiàn)中由于技術(shù)的限制,達(dá)到高度逼真的虛擬現(xiàn)實(shí)比較困難。目前,從技術(shù)難度和體驗(yàn)程度來(lái)劃分,虛擬現(xiàn)實(shí)技術(shù)主要分成以下三類(lèi):
1) 桌面虛擬現(xiàn)實(shí)(Desktop VR):利用個(gè)人計(jì)算機(jī)和工作站進(jìn)行仿真,將計(jì)算機(jī)的屏幕作為用戶(hù)觀察虛擬境界的一個(gè)窗口,通過(guò)各種輸入設(shè)備實(shí)現(xiàn)與虛擬現(xiàn)實(shí)世界的充分交互。
2) 沉浸式虛擬現(xiàn)實(shí)(Immersive VR):利用頭盔式顯示器、位置跟蹤器、數(shù)據(jù)手套等多種交互設(shè)備,為參與者提供一個(gè)新的、虛擬的感覺(jué)空間,并產(chǎn)生一種身臨其境、全心投入和沉浸其中的感覺(jué)。
3) 分布式虛擬現(xiàn)實(shí)(Distributed VR):將不同用戶(hù)通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)連接在一起,共享同一個(gè)虛擬空間并協(xié)同工作達(dá)到一個(gè)更高的參與協(xié)作境界[3]。
其中,桌面虛擬現(xiàn)實(shí)是最基礎(chǔ)的VR方式,雖然現(xiàn)實(shí)體驗(yàn)真實(shí)感不足,但該方式成本低最易容實(shí)現(xiàn),且其應(yīng)用也最為廣泛。在計(jì)算機(jī)圖形學(xué)教學(xué)實(shí)踐中,根據(jù)學(xué)習(xí)程度的不同,可以引導(dǎo)學(xué)生通過(guò)以下三種方式實(shí)踐桌面虛擬現(xiàn)實(shí)的實(shí)驗(yàn):(1) 基于VRML的VR實(shí)現(xiàn);(2) 基于三維建模技術(shù)的VR實(shí)現(xiàn);(3) 基于Web3D技術(shù)的VR實(shí)現(xiàn)。
3 計(jì)算機(jī)圖形學(xué)的虛擬現(xiàn)實(shí)實(shí)驗(yàn)探索
3.1 基于VRML的VR實(shí)現(xiàn)
VRML(Vritual Reality modeling Language,虛擬實(shí)現(xiàn)建模語(yǔ)言)于1997年作為國(guó)標(biāo)標(biāo)準(zhǔn)正式發(fā)布,它揭開(kāi)VR技術(shù)在互聯(lián)網(wǎng)上的應(yīng)用序幕,也推動(dòng)了后來(lái)Web3D技術(shù)的發(fā)展更新。
VRML提供對(duì)三維基本對(duì)象如長(zhǎng)方體、球體、圓錐、圓柱等的描述,同時(shí)定義了三維應(yīng)用中常用的語(yǔ)言描述,如層次變換、光源、視點(diǎn)、材質(zhì)和紋理映射等,并且有簡(jiǎn)單的行為特征描述功能。一個(gè)VRML文件一般由文件頭、腳本和路由組成,其基本語(yǔ)法結(jié)構(gòu)如下:
#VRML V2.0 utf8 #文件頭,放在第一行,是VRML文件的標(biāo)志
節(jié)點(diǎn)名{
域 域值
… …
}Script{ #腳本節(jié)點(diǎn)
… …
}
ROUTE … … #路由,把入事件與出事件相關(guān)聯(lián)
以一個(gè)簡(jiǎn)單的程序?qū)嵗f(shuō)明VRML的編程模式。該程序建立了三個(gè)3D對(duì)象:長(zhǎng)方體、球體和圓錐并賦予了不同的方位、顏色等屬性。
#VRML V2.0 utf8
DEF box Transform{ #定義一個(gè)變換節(jié)點(diǎn)box
translation -5 0 0 #設(shè)置空間坐標(biāo)位置
children [ #定義節(jié)點(diǎn)的子節(jié)點(diǎn)
Shape { #定義形狀
geometry Box{size 2.0 3.0 1.0} #長(zhǎng)方體定義
appearance Appearance{ #定義外觀
material Material{ #定義材質(zhì)
diffuseColor 1 0 0 #設(shè)置漫射色顏色
} } } ] }
DEF sphere Transform{
translation 0 0 0
children [
Shape {
geometry Sphere{} #定義一個(gè)球體
appearance Appearance{
material Material{ diffuseColor 0 1 0 }
} } ] }
DEF cone Transform{
translation 5 0 0
children [
Shape {
geometry Cone{ } #定義一個(gè)圓錐體
appearance Appearance{
material Material{ diffuseColor 0 0 1 }
} } ] }
VRML程序保存成.wrl文件格式。另外,要使瀏覽器提供VRML的瀏覽功能,還必須安裝VRML插件,常用的插件有Contact、Cosmoplayer、Cortona等,圖1是上述程序在安裝了BS Contact VRML插件的IE瀏覽器中的顯示效果。在瀏覽器中用戶(hù)可通過(guò)系統(tǒng)提供的工具實(shí)現(xiàn)對(duì)三維對(duì)象的交互式顯示操作。
基于VRML的虛擬實(shí)現(xiàn)技術(shù)可展示虛擬場(chǎng)景中各部件的位置及相互之間的關(guān)系,其文件短小,適用于網(wǎng)絡(luò)應(yīng)用。但其不足之處是三維圖象質(zhì)量一般,難以實(shí)現(xiàn)復(fù)雜場(chǎng)景展示及交互,與外界的通信能力也比較差。
3.2 基于三維建模技術(shù)的VR實(shí)現(xiàn)
在掌握一定三維建模方法的基礎(chǔ)上,也可借助三維建模軟件的功能進(jìn)行VR實(shí)現(xiàn)。三維建模軟件能夠提供虛擬現(xiàn)實(shí)中所需要的各種三維模型,較常用的軟件有3DSmax、Maya及Creator等,這些軟件把復(fù)雜的建模過(guò)程變得非常簡(jiǎn)單和易于理解。以下以3DSmax實(shí)現(xiàn)擺球仿真為例介紹VR實(shí)現(xiàn)方法:(1)在軟件平臺(tái)中建立了仿真擺球模型,并實(shí)現(xiàn)擺球的運(yùn)動(dòng)動(dòng)畫(huà),如圖2如示。(2)使用3DSmax“導(dǎo)出”功能將該模型導(dǎo)出為VRML97(*.WRL)格式文件。(3)使用安裝了VRML插件的瀏覽器打開(kāi)該wrl文件實(shí)現(xiàn)擺球的虛擬運(yùn)動(dòng)展示及交互。圖3為擺球在IE瀏覽器中的VR顯示效果,用戶(hù)可用工且以任意方位和角度觀察擺球的運(yùn)動(dòng)。
該方法可在實(shí)現(xiàn)較復(fù)雜模型、動(dòng)態(tài)模型的基礎(chǔ)上現(xiàn)實(shí)VR。其最終顯示方式仍是VRML描述模式,由于受插件的限制,瀏覽器達(dá)不到理想的實(shí)時(shí)展示和實(shí)時(shí)交互效果。
3.3 基于Web3D技術(shù)的VR實(shí)現(xiàn)
目前更主流的虛擬現(xiàn)實(shí)技術(shù)是憑借Unity3D、Wirefusion、Cult 3D、Virtools、C3d、Truntool等一類(lèi)引擎下實(shí)現(xiàn)的Web3d技術(shù)。這些軟件使用專(zhuān)用的文件格式和瀏覽器插件,在實(shí)現(xiàn)實(shí)時(shí)渲染、圖像質(zhì)量、造型技術(shù)、交互性以及數(shù)據(jù)的壓縮與優(yōu)化上均優(yōu)于VRML。此外,這些軟件也可與3DSmax等三維建模軟件配合使用。
以Unity3D為例,它是一款VR應(yīng)用程序開(kāi)發(fā)引擎,具有跨平臺(tái)發(fā)布、強(qiáng)大的地形編輯功能、高效高質(zhì)渲染效果、支持用戶(hù)定制交互要求等特點(diǎn),非常適合開(kāi)發(fā)高逼真虛擬和交互展示的需求。基于Unity3D的虛擬現(xiàn)實(shí)是用Unity3D引擎開(kāi)發(fā)的一個(gè)能夠?qū)崿F(xiàn)動(dòng)態(tài)加載和展現(xiàn)3D模型的Web Player應(yīng)用。通過(guò)安裝Unity3D插件就可以實(shí)現(xiàn)在瀏覽器上運(yùn)行Web Player來(lái)加載產(chǎn)品模型展示[4]。
在虛擬展示系統(tǒng)中,用戶(hù)對(duì)場(chǎng)景中具體的產(chǎn)品的選取及操作是交互性最充分的體現(xiàn),即當(dāng)用戶(hù)在虛擬場(chǎng)景中用鼠標(biāo)點(diǎn)擊或指向某一產(chǎn)品時(shí),系統(tǒng)應(yīng)做出相應(yīng)設(shè)定的響應(yīng)[5]。Unity3D 的GUI接口提供了各種控件(如按鈕、窗口等)以支持編輯用戶(hù)交互界面;通過(guò)重寫(xiě)鼠標(biāo)事件可以檢測(cè)用戶(hù)的各種輸入信息并作出相應(yīng)的響應(yīng);通過(guò)變換組件又可以完成產(chǎn)品的平移、旋轉(zhuǎn)、比例變換等各種操作。圖4及圖5是運(yùn)用Unity3D和3Dsmax開(kāi)發(fā)的“運(yùn)動(dòng)與健康虛擬現(xiàn)實(shí)展廳”。作品通過(guò)VR技術(shù)實(shí)現(xiàn)主題為“運(yùn)動(dòng)與健康”的漫游展廳,并以Web3D網(wǎng)頁(yè)形式提供了一個(gè)實(shí)時(shí)交互的參觀平臺(tái),使用戶(hù)可以身臨其境地感受展廳內(nèi)的景觀。
就目前而言,大多數(shù)的Web3D技術(shù)主要用于三維顯示技術(shù)的網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā),這也決定了Web3D技術(shù)主要特點(diǎn)就是對(duì)3D模型的網(wǎng)上三維交互演示。
4 結(jié)束語(yǔ)
虛擬現(xiàn)實(shí)技術(shù)與圖形學(xué)技術(shù)緊密關(guān)聯(lián),圖形學(xué)三維造型等技術(shù)是虛擬現(xiàn)實(shí)的一個(gè)堅(jiān)實(shí)臺(tái)階,VR技術(shù)又是圖形學(xué)的拓展延伸,具有廣泛的應(yīng)用前景。該文嘗試在高校計(jì)算機(jī)圖形學(xué)教學(xué)中引入桌面虛擬現(xiàn)實(shí)的實(shí)驗(yàn),并由淺入深地提出三種VR實(shí)現(xiàn)方法,旨以使計(jì)算機(jī)圖形學(xué)的實(shí)驗(yàn)開(kāi)展更具實(shí)用及研究意義。
參考文獻(xiàn):
[1] 陸楓,何云峰. 計(jì)算機(jī)圖形學(xué)基礎(chǔ)[M].2版.北京:電子工業(yè)出版社,2008:11-12.
[2] 石玉玲.虛擬現(xiàn)實(shí)技術(shù)與圖形學(xué)[J]. 職大學(xué)報(bào),2008(2):90-91
[3] 張義寬.計(jì)算機(jī)圖形學(xué)[M]. 西安:西安電子科技大學(xué)出版社,2004:26-27.
[4] 倪樂(lè)波,戚鵬,遇麗娜,王婧. Unity3d產(chǎn)品虛擬展示技術(shù)的研究與應(yīng)用[J]. 數(shù)字技術(shù)與應(yīng)用, 2010(9) :54-55.
[5] 郭海新. Unity3D與HTML交互機(jī)理的研究[J]. 煤炭技術(shù), 2011(9):228-229.