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