- 相關(guān)推薦
一個(gè)復(fù)雜的VRML場景的設(shè)計(jì)
摘要:本文通過對(duì)HTML和VRML的比較,闡述了VRML的工作原理及特性,簡要介紹了VRML的核心體系,并分析了一個(gè)復(fù)雜的VRML場景的設(shè)計(jì)制作流程,對(duì)可能出現(xiàn)的問題作了相應(yīng)的解答。
關(guān)鍵詞:HTML語言 VRML語言、虛擬現(xiàn)實(shí)、交互
A Design Of A Complex VRML Scene
Zhangchaoqin Tanxianhai
。–omputer Department Of Southwest Jiaotong Univerity, SiChuan ChengDu 610031)
Abstract :In this paper,,through comparing the HTML with the VRML ,the author describles the working principle of the VRML,introduces the kernel scheme of the VRML in brief,analyses the facture procession of a complex VRML Scence ,and solves the problem which may occur.
Key Words:HTML 、 VRML、 VR 、interaction
1. 前言
未來信息社會(huì)的三大特征是:多媒體(Multimedia)、因特網(wǎng)(Internet)、和虛擬現(xiàn)實(shí)(VR,Virtual Reality)。1995年,HTML(超文本標(biāo)識(shí)語言,Hyper Text Marked Language)語言以其簡單及跨平臺(tái)特性,將全球處于十分分散的計(jì)算機(jī)連接起來,它以超鏈接為基礎(chǔ),把文本、圖片、聲音、動(dòng)畫、影像集成在一起,提供了基本的多媒體功能。
但是受HTML語言自身局限,網(wǎng)頁只能是簡單的平面結(jié)構(gòu),就算Java語言為WWW增色不少,也僅僅停留在平面設(shè)計(jì)階段;即使CGI(通用網(wǎng)關(guān)接口,Common Gateway Interface)能使Wed有更強(qiáng)的交互功能,但也僅限于單調(diào)的文檔及表格。
近幾年出現(xiàn)的VRML(虛擬現(xiàn)實(shí)造型語言,Virtual Reality Modeling Language)徹底改變了WWW上單調(diào)、交互性差的弱點(diǎn),它將用戶的行為作為瀏覽主體,展現(xiàn)在用戶面前的是一個(gè)三維、逼真的多媒體界面。
2. VRML的工作原理
VRML的訪問方式是基于客戶/服務(wù)器模式(見圖1),其中服務(wù)器提供VRML文件(后綴為。wRL)及支持資源客戶通過網(wǎng)絡(luò)下載希望訪問的文件,并通過本地平臺(tái)上的VRML瀏覽器(Browse)交互式訪問該文件描述的虛擬境界(Virtual World),因?yàn)闉g覽器是本地平臺(tái)提供的,從而實(shí)現(xiàn)了和硬件平臺(tái)的無關(guān)性。
圖1 VRML的客戶/服務(wù)器模型
VRML象HTML一樣,是一種ASCII碼描述語言,它是一套告訴瀏覽器如何創(chuàng)建一個(gè)三維世界并在其中航行(navigation)的指令,這些指令由再現(xiàn)器(Render)解釋執(zhí)行,再現(xiàn)器是一個(gè)內(nèi)置于瀏覽器中或外部的程序。
由于VRML是一個(gè)三維造型和渲染的圖形描述性語言,復(fù)雜的3D術(shù)語轉(zhuǎn)換為動(dòng)態(tài)虛擬世界是高速的硬件和瀏覽器,又由于其交互性強(qiáng)和跨平臺(tái)性,使虛擬現(xiàn)實(shí)(VR,Virtual Reality)在Internet上有著廣泛的應(yīng)用,例如遠(yuǎn)程教育、商業(yè)宣傳、娛樂等等,下面作者就一個(gè)大型復(fù)雜的VRML場景設(shè)計(jì),做一些粗淺的分析,先介紹有關(guān)概念。
3. VRML的核心體系
VRML文件描述的基于時(shí)間的三維空間稱為虛擬境界(Virtual World),它由對(duì)象構(gòu)成,而對(duì)象及其屬性用節(jié)點(diǎn)描述,節(jié)點(diǎn)是VRML的基本單元。每個(gè)節(jié)點(diǎn)由類型、域、事件、實(shí)現(xiàn)、名字組成,節(jié)點(diǎn)按一定規(guī)則構(gòu)成場景圖(Scene graph),場景圖中分兩類節(jié)點(diǎn),第一類節(jié)點(diǎn)用于視覺、聽覺角度表現(xiàn)對(duì)象,它們按層次體系組織,反映境界的空間結(jié)構(gòu),提供顏色、燈光、超鏈接、材質(zhì)、化身、重力、碰撞、地形隨動(dòng)、飛行等功能,支持局部坐標(biāo)系;第二類節(jié)點(diǎn)參與事件產(chǎn)生和路由機(jī)制,形成路由圖,確定境界隨時(shí)間推移如何動(dòng)態(tài)變化。
環(huán)境變化、用戶交互、時(shí)間推移產(chǎn)生事件,傳感器(Sensor)檢測(cè)并發(fā)出初始事件,實(shí)踐產(chǎn)生其他事件或修改場景圖結(jié)構(gòu),從而提供動(dòng)態(tài)特性。插入器(Interpolator)是特殊事件處理器,利用它可以設(shè)計(jì)動(dòng)畫。
對(duì)于復(fù)雜行為處理則須利用腳本節(jié)點(diǎn)(Script node),它包含一組腳本描述語言編寫的函數(shù),Script節(jié)點(diǎn)收到事件后,將執(zhí)行相應(yīng)的函數(shù),該函數(shù)可以通過常規(guī)的事件路由機(jī)制發(fā)送事件或直接向Script節(jié)點(diǎn)指定節(jié)點(diǎn)發(fā)送事件,腳本也能動(dòng)態(tài)增、刪路由。以下(圖2)是場景中事件流程圖。
圖2場景中事件流程圖
4. 基于VRML的場景設(shè)計(jì)
VRML,從用戶的角度來說,基本上是HTML加上第三維,但從開發(fā)者角度來說,VRML環(huán)境的產(chǎn)生提供了一套完全的新標(biāo)準(zhǔn),新過程以及新的Web 技術(shù)。
交叉平臺(tái)和瀏覽器的兼容性是首先要解決的問題。設(shè)計(jì)之前,必須明確指定目標(biāo)平臺(tái)(PC、Mac、SGI的新O2等等),CPU速度、可以運(yùn)行的帶寬以及最適合使用的VRML瀏覽器。
VRML制作大致可分為兩個(gè)階段
、 第一階段 獨(dú)立與計(jì)算機(jī)工作之外的建模
VRML世界的建造概念和其他工程建模概念相似,必須解決交流的問題,畫出草圖并研究材質(zhì)的處理,生成模型(models)、空間(spaces)、化身(avatars),但必須考慮一些技術(shù)的限制,如,考慮到目標(biāo)平臺(tái),決定在VRML文件中放入多少多邊圖形;預(yù)先考慮到VRML世界的運(yùn)動(dòng)和執(zhí)行的動(dòng)作,把相應(yīng)的目標(biāo)歸類,用于設(shè)定三維物體之間的相互聯(lián)系,建模與動(dòng)畫相互配合,如果歸類正確合適,就會(huì)縮小生成動(dòng)畫效果之后文件的體積。
虛擬現(xiàn)實(shí)的設(shè)計(jì)中必須考慮加入重力(gravity)和碰撞(collision)的效果,以使虛擬現(xiàn)實(shí)的場景和生活中的相似。建模者需要生成代理幾何模塊(一系列的調(diào)用指令),其作用在于是瀏覽器在虛擬現(xiàn)實(shí)場景中只需監(jiān)測(cè)一個(gè)很小的子目標(biāo),而無須計(jì)算虛擬場景中所有目標(biāo)的重力和碰撞效果,最大限度的減少瀏覽器的工作量,并改善VRML的演示效果。
還必須考慮VRML文件的體積。VRML文件對(duì)自由曲面描述方式一直是基于ploygon,文件中描述了曲面上各個(gè)點(diǎn)在場景中的位置,故而文件中產(chǎn)生了大量的數(shù)字,致使文件體積龐大,NURBS(非均勻有理B樣條,Non-Uniform B-Splines)是一種在3D模型空間中,用曲線和曲面表示物體輪廓和形狀的方法,簡化了對(duì)復(fù)雜曲面的描述,VRML97(VRML的最新國際標(biāo)準(zhǔn))的擴(kuò)展標(biāo)準(zhǔn)里已經(jīng)加入了NURBS的描述語句,NURBS在VRML上的廣泛應(yīng)用使得三維模型文件變得很小,效果也要比ploygon的描述方式好的多,另外,VRML文件格式支持Zip壓縮,也使模型文件體積進(jìn)一步縮小,減少對(duì)網(wǎng)絡(luò)帶寬的要求,卻不影響瀏覽效果。
加入虛擬顏色、材質(zhì)和燈光。各個(gè)瀏覽器有不同的染色器(負(fù)責(zé)轉(zhuǎn)換顏色),各個(gè)染色器的工作方法個(gè)不一樣,染色器中使用適時(shí)的3D著色引擎,它使虛擬現(xiàn)實(shí)建模與實(shí)時(shí)訪問隔離,可能出現(xiàn)在不同瀏覽器里顏色不同的現(xiàn)象,因而著色必須保證制作者與用戶在不同的平臺(tái)、瀏覽器里顯示都是相同的。
加入材質(zhì)、燈光能夠產(chǎn)生層次感和現(xiàn)場效果,增加真實(shí)性,但也必須質(zhì)感與實(shí)際運(yùn)行效果之間權(quán)衡,因?yàn)槭刮募w積增大,占用CPU執(zhí)行時(shí)間。
設(shè)定執(zhí)行參數(shù)。NavigationInfo(VRML文件的一個(gè)要素)用于設(shè)定用戶航行的基本原則,例如,用戶在場景中顯示的比例,穿過整個(gè)場景的速度,采用何種方式穿過場景。
視角選定。建模者應(yīng)設(shè)想出最能表現(xiàn)出場景效果的某一區(qū)域,因此視角人員最好能有較好的技術(shù)背景以便分析出制作工具在實(shí)際應(yīng)用上述特色時(shí)可能會(huì)遇到的問題及在不同瀏覽器上顯示效果及該瀏覽器是否支持這些特色,視角設(shè)計(jì)對(duì)VRML世界設(shè)計(jì)至關(guān)重要,視角選擇不當(dāng)可能將之毀于一旦。
、 第二階段 生成VRML行為并設(shè)定虛擬現(xiàn)實(shí)中可以實(shí)現(xiàn)的功能
VRML97的交互性很強(qiáng),用戶可以通過化身(用戶在虛擬空間的代表)與其他的用戶化身“面對(duì)面”交流和溝通,真正實(shí)現(xiàn)WWW上的多人環(huán)境,而它的實(shí)現(xiàn)需要編制復(fù)雜的行為。
VRML制作的內(nèi)容應(yīng)當(dāng)能在所有的瀏覽器上運(yùn)行。一種方法是使用動(dòng)畫,動(dòng)畫可以使VRML世界更加逼真,許多制作程序都需要用大量的時(shí)間檢測(cè)節(jié)點(diǎn)(TimeSensors)來驅(qū)動(dòng)動(dòng)畫,但同時(shí)也占用大量的CPU工作時(shí)間,減少TimeSensors的數(shù)量并在其不執(zhí)行實(shí)時(shí)工作時(shí)關(guān)閉是提高VRML文件運(yùn)行性能的通用方法。
另一種方法是通過語言編制復(fù)雜的行為,VRML97互動(dòng)性很強(qiáng),除了包括內(nèi)部的屬性,更支持Java、ECMAScript(JavaScript)、VRMLScript,甚至CGI等的接口,以便建立真3D虛擬社區(qū),目前VRML主流編程是基于Java、JavaScript,特別是Java語言的日益成熟將成為VRML的實(shí)時(shí)動(dòng)態(tài)交互提供良好的程序環(huán)境。無論那一種都必須使用Script節(jié)點(diǎn)。
現(xiàn)在有三種編程方式:一,內(nèi)嵌在Script節(jié)點(diǎn)中的描述性語言 二,在Script節(jié)點(diǎn)中引用外部的Java字節(jié)流(后綴為“.class”),通常只是實(shí)現(xiàn)一些特殊的,描述性語言不能實(shí)現(xiàn)的功能,或者是為了源程序保密 三,通過VRML瀏覽器EAI(外部編程接口,External Authoring Interface)進(jìn)行編程,允許VRML世界與網(wǎng)頁上其他對(duì)象溝通。雖然編程方式各不相同,但所用語言都必須是有面向?qū)ο蟆⒚嫦蚴录、跨平臺(tái)的特性。
由于各瀏覽器對(duì)上述編程語言可能不支持,為了使其在各平臺(tái)都能運(yùn)行,可以在Script節(jié)點(diǎn)將所有編程方式逐一列出,當(dāng)然將加大文件的體積,以后VRML瀏覽器標(biāo)準(zhǔn)編程語言的規(guī)范化,這種現(xiàn)象或許將得到改觀。
5. 結(jié)束語
雖然目前主宰WWW服務(wù)的仍是HTML標(biāo)準(zhǔn),但由于VRML以其交互性強(qiáng)、分布式、三維、多媒體集成、境界逼真等特性,加之價(jià)格低廉、易于實(shí)現(xiàn),受到各大公司重視,相信作為代Web的強(qiáng)力后盾,從其誕生之日就預(yù)示它取代HTML的趨勢(shì)。
參考文獻(xiàn):
、冱S鐵軍 柳鍵《VRML國際標(biāo)準(zhǔn)與應(yīng)用指南》 電子工業(yè)出版社 1999年1月
、趶堨 杜可亮 劉見灼等《WWW上的虛擬現(xiàn)實(shí)技術(shù)-棗VRML語言》電子工業(yè)出版社 1998年8月
張超欽 男 西南交通大學(xué)計(jì)算機(jī)系99級(jí)計(jì)算機(jī)應(yīng)用專用研究生
感興趣方向:計(jì)算機(jī)網(wǎng)絡(luò)及網(wǎng)絡(luò)新技術(shù)
通訊地址:西南交通大學(xué)306信箱
郵編:610031
電話:028-7601945
E-mail :***
譚獻(xiàn)海 男 西南交通大學(xué)計(jì)算機(jī)系副教授,碩士 張超欽的指導(dǎo)老師
研究方向:計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、協(xié)議開發(fā)
【一個(gè)復(fù)雜的VRML場景的設(shè)計(jì)】相關(guān)文章:
寫一個(gè)場景的優(yōu)秀作文08-09
《場景描寫》作文指導(dǎo)課教學(xué)設(shè)計(jì)08-17
心情復(fù)雜的句子07-31
人心復(fù)雜的句子10-26
心情復(fù)雜的句子12-27
復(fù)雜的心情句子02-15
簡單與復(fù)雜作文04-20
復(fù)雜的心情作文01-03
場景的作文03-20