登錄

VRML

1.什么是VRML[1]

  VRML是一種用于對三維虛擬場景進(jìn)行建模的描述性語言,它與以上所說的標(biāo)記語言并沒有什么關(guān)系。1997年12月,VRML作為國際標(biāo)準(zhǔn)正式發(fā)布,并于1998年1月獲得ISO批準(zhǔn)(國際標(biāo)準(zhǔn)號為ISO/IEC 14772 1:1997),通常稱為VRML 97。

  VRML 97作為ISO/IEC國際標(biāo)準(zhǔn),將推動Internet上交互式三維應(yīng)用的迅速發(fā)展,而且從Netscape Navigator 4.x和Internet Explorer 4.x開始就內(nèi)置了VRML瀏覽器,這為VRML成為Internet上發(fā)布3D內(nèi)容的普遍性開放標(biāo)準(zhǔn)奠定了堅實的基礎(chǔ)。

  VRML是一種三維建模語言,其基本目的是建立Internet上的交互式的三維多媒體虛擬場景,其基本特征包括分布式、三維、交互性、多媒體集成性以及場景逼真性等。

  第一代Web實現(xiàn)文檔訪問,能夠提供閱讀感受;第二代Web以VRML為基礎(chǔ),實現(xiàn)了多媒體、虛擬現(xiàn)實和Internet的結(jié)合,使人們有一種身臨其境的感受,在一個三維虛擬現(xiàn)實的場景中探索Internet上無比豐富的信息資源。

  由于VRML具有分布式、三維、交互性、多媒體集成性以及場景逼真性等基本特征,利用VRML可以創(chuàng)建多媒體通信、分布式虛擬現(xiàn)實、設(shè)計協(xié)作系統(tǒng)、實境式電子商務(wù)、網(wǎng)絡(luò)游戲、虛擬社區(qū)等全新的應(yīng)用系統(tǒng)。

2.VRML的特點[2]

  (1)VRML定義了一組能描述三維圖形的對象——節(jié)點(node)。

  (2)節(jié)點被安排成層次結(jié)構(gòu)——場景圖(scene graph)。

  (3)場景圖定義了節(jié)點的順序,場景圖的狀態(tài)依賴于早期節(jié)點并影響著后來的節(jié)點。

  (4)分隔符(separator)的應(yīng)用可以使一部分場景與其他部分相互獨立。節(jié)點的特性由下列信息決定。

  (5)對象類型包括立方體(cube)、球(sphere)、紋理映射(texture map)、變換(transformation)等。

  (6)描述此對象的參數(shù)。

3.VRML的發(fā)展歷史[3]

  1994年2月,Mark Presce和Tony Parisi創(chuàng)建了稱為Labyrinth(迷宮)的三維瀏覽器,這是WWW上三維瀏覽器的早期原型。同年,Mark和Brian Behlendorf創(chuàng)立了VRML郵遞表WWW VRML,并發(fā)出了在WWW上建立三維應(yīng)用正式規(guī)范的倡儀。SGI的GavinBell注意到了Open Inventor很適合作為這樣的規(guī)范,并很快組織了一份提案。經(jīng)過一番激烈辯論后,Inventor提案被選定為未來規(guī)范的工作文檔。隨后,Gavin在很多Inventor工程師的幫助下,修訂并最終制定了VRML l.0規(guī)范的草案。此規(guī)范1994年10月第二屆WWW國際會議上公布。由于VRML l.0缺少一些關(guān)鍵性特型如動作、交互和行為需要進(jìn)行重大修訂。1996年1月,SGI的動態(tài)世界(Moving World)提案在Sony公司和Mitra的合作下獲得大多數(shù)支持,成為VRML 2.0規(guī)范的工作文檔。之后,VRML 2.0規(guī)范的第一版于1996年8月在新奧爾良舉行的SIGGRAPH’96會議上公布。1997年12月,VRML作為國際標(biāo)準(zhǔn)正式發(fā)布,并于1998年1月獲得ISO批準(zhǔn),通常稱為VRML97。它是VRML 2.0經(jīng)編輯修訂和少量功能性調(diào)整后的結(jié)果。

  現(xiàn)在,VRML已經(jīng)得到了計算機(jī)界的廣泛重視,MicrosoftIBM、Netscape、Apple、SGI、Oracle、Song、Auto Desk、Adobe、Macromedia等著名大公司紛紛推出了各自的VRML產(chǎn)品。Netscape Navigator 4.X和Intemet Explore 4.X都已內(nèi)置了VRML瀏覽器,VRML也是Windows98的標(biāo)準(zhǔn)部分。VRML已成為Intemet上發(fā)布3D內(nèi)容的具有普遍性的開放標(biāo)準(zhǔn)。

4.VRML的相關(guān)技術(shù)[3]

  VRML的基礎(chǔ)是采用HTTP協(xié)議傳輸數(shù)據(jù)的全球網(wǎng)和SGI設(shè)計的Open Inventor文件格式。VRML可用來在Internet上建造和變換虛擬世界,同時具有很好的交互性可支持大量的用戶。通過VRML瀏覽器用戶可以在虛擬場景中漫游,并可通過超級鏈接(hyperlink)到達(dá)新的三維世界。VRML是一種面向?qū)ο蟮拿枋稣Z言,其對象包括三維幾何形體、MIDI數(shù)據(jù)和JPEG文件等。VRML內(nèi)建了支持多個分布式文件的多種對象和機(jī)制,包括內(nèi)聯(lián)式(inlining)嵌入其他VRML文件,通過超鏈接指向其他文件。

  VRML具有與平臺無關(guān)的特性。VRML的訪問方式是基于客戶服務(wù)器(C/S)模式的,服務(wù)器提供VRML文件及資源(圖像、視頻、聲音等),客戶通過網(wǎng)絡(luò)下載希望訪問的文件,并通過本地平臺的瀏覽器交互地訪問該文件所描述的虛擬世界。由于瀏覽器是本地平臺提供的,所以實現(xiàn)了平臺無關(guān)性。

  VRML像HTML一樣,用ASCII文本格式來描述世界和鏈接,保證了在各種平臺上通用的同時也降低了數(shù)據(jù)量,從而也可以在低帶寬的網(wǎng)絡(luò)上實現(xiàn)。

  傳統(tǒng)的VR中使用的實時3D渲染引擎在VRML中得到了更好的體現(xiàn)。這一特性把VR的建模與實時訪問更明確地隔離開來了,這也是VR不同于三維建模和動畫的地方,后者預(yù)先渲染,因而不能提供交互性。VRML提供了(6十1)個自由度,即3個移動方向和3個轉(zhuǎn)動方向,以及和其他三維空間的超鏈接。

  VRML作為一種標(biāo)準(zhǔn),不可能滿足所有的應(yīng)用需求,有的希望交互性更強(qiáng),有的希望畫面質(zhì)量更高,有的希望VR世界更復(fù)雜。這些要求往往是相互制約的,同時又受到用戶平臺硬件性能的制約,因而VRML是可擴(kuò)充的,即可以根據(jù)需要定義自己的對象及其屬性,并通過原型、描述語言等機(jī)制,使瀏覽器可以解釋這種對象及其行為。

  虛擬世界由對象構(gòu)成,VRML通過各種對象來描述三維場景,這些對象及其屬性稱為結(jié)點(node)。每個結(jié)點是構(gòu)成VRML文件的基本單元。每個場景都是由具有不同層次結(jié)構(gòu)的多個結(jié)點組成。VRML使用場景圖(Scene Graph)數(shù)據(jù)結(jié)構(gòu)來建立3D實境,這是一種以SGI的Open Inventor 3D工具包為基礎(chǔ)的一種數(shù)據(jù)格式。場景圖規(guī)定了節(jié)點之間的等級關(guān)系和嵌套關(guān)系。

  每個結(jié)點都可以有5個方面的特征:類型、域、事件、實現(xiàn)、名字。在VRML l.0中共有36個結(jié)點,分為3類:造型節(jié)點(Shape Node)、屬性節(jié)點(Property Node)、組節(jié)點(Group Node),以及一個類似于C語言中偽指令的特殊節(jié)點WWW Inline。其中造型節(jié)點包括常用幾何體和用于任意集合體的線框圖(Indexed LineSet)和面框圖(Indexed Face Set)。屬性節(jié)點用于指定后續(xù)節(jié)點的屬性,分為幾何與外觀組(Geometry And Appearance Group),如坐標(biāo)、材質(zhì)、文本等;矩陣與變換組(Matrixor Transform Group),包括矩陣變換、旋轉(zhuǎn)、縮放、平移、變換;攝影機(jī)組(Camera Group),包括有無透視變換的兩種攝像機(jī),其位置、方向、視野可定義;燈光組(Lights Group),包括3種光源。VRML 2.0定義了54種基本結(jié)點類型,用戶可以通過原型機(jī)制定義自己的結(jié)點類型。VRML 2.0以SGI的Moving World提案為基礎(chǔ),在動態(tài)和視覺效果兩方面對VRML l.0進(jìn)行了改進(jìn)。為連接和控制動作、反應(yīng)和動畫定義了5個結(jié)構(gòu):節(jié)點事件域(Node Event Field)、路徑(Route)、傳感器(Sensor)、插入件(Interpolator)和腳本節(jié)點(Script Node)。其中腳本節(jié)點包括了Java Script或關(guān)聯(lián)了一個Java Applet,使開發(fā)者可以擴(kuò)充VRML的行為和動態(tài)特性。在效果方面,提供了梯度和紋理映射背景、與地點相關(guān)的聲音以及將MPEG-1視頻映射到任意對象上的MovieTexture節(jié)點,還提供了輪廓地形(ConrouredTerrain)、突出(Extrusion)、碰撞檢驗(CollisionDetection)、霧化效果(Fog)等。

  VRML是一種造型語言,它不同于編程語言C語言、Java語言等,也不同于HTML等標(biāo)記語言。它比HTML語言復(fù)雜,可以用來描述三維物體,但它比任何編程語言都簡單。其他高級語言要求用戶有一定程度的程序設(shè)計基礎(chǔ)。而VRML對使用者的編程功底要求不高。如果將其他高級語言與VRML結(jié)合起來使用會給用戶帶來很多方便。

  VRML也不同于虛擬環(huán)境的專用開發(fā)工具VRT、WTK、MR等。目前它對虛擬現(xiàn)實的外圍設(shè)備的支持欠缺,也不支持在虛擬環(huán)境中創(chuàng)建虛擬環(huán)境。

  VRML最大的優(yōu)點是它的網(wǎng)絡(luò)特性,VRML文件本身所占空間很小,這樣便于通過網(wǎng)絡(luò)傳輸。

  目前,VRML技術(shù)才剛剛起步,其未來將是協(xié)作的、共享的、分布的和普遍的,具有強(qiáng)大的生命力,基于VRML的虛擬現(xiàn)實世界將會越來越豐富多彩。

5.VRML的發(fā)展前景[2]

  VRML在遠(yuǎn)程教育、科學(xué)計算可視化、工程技術(shù)、建筑、電子商務(wù)、交互式娛樂、藝術(shù)等領(lǐng)域都有著廣泛的應(yīng)用前景,利用它可以創(chuàng)建多媒體通信、分布式虛擬現(xiàn)實、設(shè)計協(xié)作系統(tǒng)、實境式電子商務(wù)、網(wǎng)絡(luò)游戲、虛擬社區(qū)、賽博空間等全新的應(yīng)用系統(tǒng)。

  (1)工程應(yīng)用

  當(dāng)前的工程很大程度上要依賴于圖形工具,以便直觀地顯示各種產(chǎn)品,目前CAD/CAM已經(jīng)成為機(jī)械、建筑等領(lǐng)域必不可少的軟件工具。VRML將使工程人員能通過全球網(wǎng)或內(nèi)部網(wǎng)按協(xié)作方式進(jìn)行三維模型的設(shè)計、交流和發(fā)布,從而進(jìn)一步提高生產(chǎn)率并削減成本

  (2)商業(yè)應(yīng)用

  對于那些期望與客戶建立直接聯(lián)系的公司,尤其是那些在他們的主頁上向客戶發(fā)送電子廣告的公司,Imemet具有特別的吸引力。VRML有可能大幅度改善顧客購買商品的經(jīng)歷。例如,顧客可以訪問虛擬世界中的商店,在那里挑選商品,然后通過Imemet辦理付款手續(xù),商店則及時把商品送到顧客手中。

  (3)教育應(yīng)用

  把VRML用于建造人體模型、電腦太空旅行、化合物分子結(jié)構(gòu)顯示等領(lǐng)域。由于數(shù)據(jù)更加逼真,大大提高了人們的想像力、激發(fā)了受教育者的學(xué)習(xí)興趣,學(xué)習(xí)效果十分顯著。隨著計算機(jī)技術(shù)、心理學(xué)、教育學(xué)等多種學(xué)科的相互結(jié)合、促進(jìn)和發(fā)展,能夠提供更加協(xié)調(diào)的人機(jī)對話途徑。

  (4)娛樂應(yīng)用

  娛樂領(lǐng)域是VRML的一個重要應(yīng)用領(lǐng)域。VRML是一個功能十分強(qiáng)大的在Internet網(wǎng)上交換三維場景的描述性語言,它能提供更好的多人之間的交互,提供更加逼真的虛擬環(huán)境,從而使人們能夠享受其中的樂趣,帶來更好的娛樂感覺。VRML目前正朝著實時通信、大規(guī)模用戶交互的方向發(fā)展。

評論  |   0條評論