VRML場景的設計論文

時間:2022-10-02 05:09:00

導語:VRML場景的設計論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

VRML場景的設計論文

摘要:本文通過對HTML和vrml的比較,闡述了VRML的工作原理及特性,簡要介紹了VRML的核心體系,并分析了一個復雜的VRML場景設計制作流程,對可能出現的問題作了相應的解答。

關鍵詞:HTML語言VRML語言、虛擬現實、交互

1.前言

未來信息社會的三大特征是:多媒體(Multimedia)、因特網(Internet)、和虛擬現實(VR,VirtualReality)。1995年,HTML(超文本標識語言,HyperTextMarkedLanguage)語言以其簡單及跨平臺特性,將全球處于十分分散的計算機連接起來,它以超鏈接為基礎,把文本、圖片、聲音、動畫、影像集成在一起,提供了基本的多媒體功能。

但是受HTML語言自身局限,網頁只能是簡單的平面結構,就算Java語言為WWW增色不少,也僅僅停留在平面設計階段;即使CGI(通用網關接口,CommonGatewayInterface)能使Wed有更強的交互功能,但也僅限于單調的文檔及表格。

近幾年出現的VRML(虛擬現實造型語言,VirtualRealityModelingLanguage)徹底改變了WWW上單調、交互性差的弱點,它將用戶的行為作為瀏覽主體,展現在用戶面前的是一個三維、逼真的多媒體界面。

2.VRML的工作原理

VRML的訪問方式是基于客戶/服務器模式(見圖1),其中服務器提供VRML文件(后綴為.wRL)及支持資源客戶通過網絡下載希望訪問的文件,并通過本地平臺上的VRML瀏覽器(Browse)交互式訪問該文件描述的虛擬境界(VirtualWorld),因為瀏覽器是本地平臺提供的,從而實現了和硬件平臺的無關性。

VRML象HTML一樣,是一種ASCII碼描述語言,它是一套告訴瀏覽器如何創建一個三維世界并在其中航行(navigation)的指令,這些指令由再現器(Render)解釋執行,再現器是一個內置于瀏覽器中或外部的程序。

由于VRML是一個三維造型和渲染的圖形描述性語言,復雜的3D術語轉換為動態虛擬世界是高速的硬件和瀏覽器,又由于其交互性強和跨平臺性,使虛擬現實(VR,VirtualReality)在Internet上有著廣泛的應用,例如遠程教育、商業宣傳、娛樂等等,下面作者就一個大型復雜的VRML場景設計,做一些粗淺的分析,先介紹有關概念。

3.VRML的核心體系

VRML文件描述的基于時間的三維空間稱為虛擬境界(VirtualWorld),它由對象構成,而對象及其屬性用節點描述,節點是VRML的基本單元。每個節點由類型、域、事件、實現、名字組成,節點按一定規則構成場景圖(Scenegraph),場景圖中分兩類節點,第一類節點用于視覺、聽覺角度表現對象,它們按層次體系組織,反映境界的空間結構,提供顏色、燈光、超鏈接、材質、化身、重力、碰撞、地形隨動、飛行等功能,支持局部坐標系;第二類節點參與事件產生和路由機制,形成路由圖,確定境界隨時間推移如何動態變化。

環境變化、用戶交互、時間推移產生事件,傳感器(Sensor)檢測并發出初始事件,實踐產生其他事件或修改場景圖結構,從而提供動態特性。插入器(Interpolator)是特殊事件處理器,利用它可以設計動畫。

對于復雜行為處理則須利用腳本節點(Scriptnode),它包含一組腳本描述語言編寫的函數,Script節點收到事件后,將執行相應的函數,該函數可以通過常規的事件路由機制發送事件或直接向Script節點指定節點發送事件,腳本也能動態增、刪路由。以下(圖2)是場景中事件流程圖。

4.基于VRML的場景設計

VRML,從用戶的角度來說,基本上是HTML加上第三維,但從開發者角度來說,VRML環境的產生提供了一套完全的新標準,新過程以及新的Web技術。

交叉平臺和瀏覽器的兼容性是首先要解決的問題。設計之前,必須明確指定目標平臺(PC、Mac、SGI的新O2等等),CPU速度、可以運行的帶寬以及最適合使用的VRML瀏覽器。

VRML制作大致可分為兩個階段

⑴第一階段獨立與計算機工作之外的建模

VRML世界的建造概念和其他工程建模概念相似,必須解決交流的問題,畫出草圖并研究材質的處理,生成模型(models)、空間(spaces)、化身(avatars),但必須考慮一些技術的限制,如,考慮到目標平臺,決定在VRML文件中放入多少多邊圖形;預先考慮到VRML世界的運動和執行的動作,把相應的目標歸類,用于設定三維物體之間的相互聯系,建模與動畫相互配合,如果歸類正確合適,就會縮小生成動畫效果之后文件的體積。

虛擬現實的設計中必須考慮加入重力(gravity)和碰撞(collision)的效果,以使虛擬現實的場景和生活中的相似。建模者需要生成幾何模塊(一系列的調用指令),其作用在于是瀏覽器在虛擬現實場景中只需監測一個很小的子目標,而無須計算虛擬場景中所有目標的重力和碰撞效果,最大限度的減少瀏覽器的工作量,并改善VRML的演示效果。

還必須考慮VRML文件的體積。VRML文件對自由曲面描述方式一直是基于ploygon,文件中描述了曲面上各個點在場景中的位置,故而文件中產生了大量的數字,致使文件體積龐大,NURBS(非均勻有理B樣條,Non-UniformB-Splines)是一種在3D模型空間中,用曲線和曲面表示物體輪廓和形狀的方法,簡化了對復雜曲面的描述,VRML97(VRML的最新國際標準)的擴展標準里已經加入了NURBS的描述語句,NURBS在VRML上的廣泛應用使得三維模型文件變得很小,效果也要比ploygon的描述方式好的多,另外,VRML文件格式支持Zip壓縮,也使模型文件體積進一步縮小,減少對網絡帶寬的要求,卻不影響瀏覽效果。

加入虛擬顏色、材質和燈光。各個瀏覽器有不同的染色器(負責轉換顏色),各個染色器的工作方法個不一樣,染色器中使用適時的3D著色引擎,它使虛擬現實建模與實時訪問隔離,可能出現在不同瀏覽器里顏色不同的現象,因而著色必須保證制作者與用戶在不同的平臺、瀏覽器里顯示都是相同的。

加入材質、燈光能夠產生層次感和現場效果,增加真實性,但也必須質感與實際運行效果之間權衡,因為使文件體積增大,占用CPU執行時間。

設定執行參數。NavigationInfo(VRML文件的一個要素)用于設定用戶航行的基本原則,例如,用戶在場景中顯示的比例,穿過整個場景的速度,采用何種方式穿過場景。

視角選定。建模者應設想出最能表現出場景效果的某一區域,因此視角人員最好能有較好的技術背景以便分析出制作工具在實際應用上述特色時可能會遇到的問題及在不同瀏覽器上顯示效果及該瀏覽器是否支持這些特色,視角設計對VRML世界設計至關重要,視角選擇不當可能將之毀于一旦。

⑵第二階段生成VRML行為并設定虛擬現實中可以實現的功能

VRML97的交互性很強,用戶可以通過化身(用戶在虛擬空間的代表)與其他的用戶化身“面對面”交流和溝通,真正實現WWW上的多人環境,而它的實現需要編制復雜的行為。

VRML制作的內容應當能在所有的瀏覽器上運行。一種方法是使用動畫,動畫可以使VRML世界更加逼真,許多制作程序都需要用大量的時間檢測節點(TimeSensors)來驅動動畫,但同時也占用大量的CPU工作時間,減少TimeSensors的數量并在其不執行實時工作時關閉是提高VRML文件運行性能的通用方法。

另一種方法是通過語言編制復雜的行為,VRML97互動性很強,除了包括內部的屬性,更支持Java、ECMAScript(javascript)、VRMLScript,甚至CGI等的接口,以便建立真3D虛擬社區,目前VRML主流編程是基于Java、javascript,特別是Java語言的日益成熟將成為VRML的實時動態交互提供良好的程序環境。無論那一種都必須使用Script節點。

現在有三種編程方式:一,內嵌在Script節點中的描述性語言二,在Script節點中引用外部的Java字節流(后綴為“.class”),通常只是實現一些特殊的,描述性語言不能實現的功能,或者是為了源程序保密三,通過VRML瀏覽器EAI(外部編程接口,ExternalAuthoringInterface)進行編程,允許VRML世界與網頁上其他對象溝通。雖然編程方式各不相同,但所用語言都必須是有面向對象、面向事件、跨平臺的特性。

由于各瀏覽器對上述編程語言可能不支持,為了使其在各平臺都能運行,可以在Script節點將所有編程方式逐一列出,當然將加大文件的體積,以后VRML瀏覽器標準編程語言的規范化,這種現象或許將得到改觀。

5.結束語

雖然目前主宰WWW服務的仍是HTML標準,但由于VRML以其交互性強、分布式、三維、多媒體集成、境界逼真等特性,加之價格低廉、易于實現,受到各大公司重視,相信作為代Web的強力后盾,從其誕生之日就預示它取代HTML的趨勢。

參考文獻:

①黃鐵軍柳鍵《VRML國際標準與應用指南》電子工業出版社1999年1月

②張旆杜可亮劉見灼等《WWW上的虛擬現實技術-棗VRML語言》電子工業出版社1998年8月