摘要:該文通過對虛擬現實技術發展現狀的分析,提出了影響虛擬現實發展的若干因素,并對未來虛擬現實的發展做出了思考與預測。
關鍵詞:虛擬現實;VRML技術;全景;X3D
中圖分類號:TP391文獻標識碼:A文章編號:1009-3044(2008)32-1223-02
Impact on the Development of Virtual Reality Technology to a Number of Factors Analysis
HU Yang
(Qiannan National Teachers College of Computer Science and Technology, Duyun 558000, China)
Abstract: The book on virtual reality technology through the development of the analysis, the impact of virtual reality development of a number of factors, and the future of virtual reality has made the development of thinking and forecasting.
Key words: virtual reality; VRML technology; panoramic view; X3D
1 虛擬現實發展現狀
VRML(Virtual Reality Modeling Language)是一種建模語言,用來在Web環境中描述三維物體及其行為,從而在網絡環境中構建虛擬場景。VRML以Internet為應用平臺,作為構筑虛擬現實應用的基本構架,具有分布式、三維全景、交互性、多媒體集成、境界逼真等特性。傳統的文字、平面和三維技術帶來的信息表達式已經難以滿足多媒體和互聯網技術的飛速發展,以虛擬現實為特征的網絡3D技術的廣泛應用和發展勢在必行。VRML被稱為第二代網絡程序設計語言,是網絡3D的核心技術。
虛擬現實技術已成為計算機領域中繼多媒體技術、Internet網絡技術之后關注及研究、開發與應用的熱點,也是目前發展最快的一項多學科綜合技術。從去年開始,為了我們當地的數字化民族博物館的建設,開始研究VRML。之后對畢業生畢業設計的課題輔導也選了一個VRML的設計應用。剛開始時候收集了很多VRML的資料。給我的感覺是,大量的文章似乎在說明VRML已經廣泛應用于我們的各行各業,網頁瀏覽業已進入3D時代,所以當時我研究的時候也很是激動。但深入之后,卻發現絕大多數文章停留在研究、初探、淺析等階段,這些同志往往把應用范圍搞得很大,例如:VRML在軍事領域、教育領域、建筑工程、數字化博物館方面的應用等等。讓人誤以為國內VRML很火似的,殊不知,除了一些篇幅很長的論文外,卻很少有成功、漂亮的VRML作品,數字化博物館的成功案例也不多見。從事VRML的公司也沒有見到。隨著應用的深入,本人似乎窺探到了一些VRML方面的問題,現在把這些觀點獻給喜愛VRML同行或朋友,大家一起參與,給VRML一個準確地評價。不足之處,敬請指正。
2 影響虛擬現實技術發展的若干問題分析
2.1 虛擬現實技術的軟件開發環境和語言上沒有統一的標準
VRML開始于20世紀90年代初期。1994年3月在日內瓦召開的第一屆WWW大會上,首次正式提出了VRML這個名字。 1994年10月在芝加哥召開的第二屆WWW大會上公布了規范的VRML1.0草案。 1996年8月在新奧爾良召開的優秀3D圖形技術會議-Siggraph'96上公布通過了規范的VRML2.0第一版。它在 VRML1.0的基礎上進行了很大的補充和完善。它是以SGI公司的動態境界Moving Worlds提案為基礎的。1997年12月VRML作為國際標準正式發布, 1998年1月正式獲得國際標準化組織ISO批準簡稱VRML97。VRML97只是在VRML2.0基礎進行上進行了少量的修正。 VRML規范支持紋理映射、全景背景、霧、視頻、音頻、對象運動、和碰撞檢測——一切用于建立虛擬世界的所具有的東西。 但是VRML并沒有得到預期的推廣運用,不過這不是VRML的錯,要知道當時撥號上網的14.4k 的modems都還末普遍。VRML是幾乎沒有得到壓縮的腳本代碼,加上龐大的紋理貼圖等數據,要在當時的互連網上傳輸簡直是場噩夢。1998年,VRML組織把自己改名為Web3D組織,同時制訂了一個新的標準:Extensible 3D (X3D),到了2000年春天,Web3D組織完成了VRML到X3D的轉換。X3D整合正在發展的XML、JAVA、流技術等先進技術,包括了更強大、更高效的3D計算能力、渲染質量和傳輸速度。
Flash能夠在今天大行其道是因為它是唯一的,JAVA在各平臺得到運用也因他是唯一的。沒有標準,3D在Web上的實現過程顯得如此混亂。 另外插件的問題也是一個困繞。幾乎每個廠商開發的標準都需要自己插件的支持,這些插件從幾百K到幾兆不等,在帶寬不理想的條件下必然限制了一部分人的使用熱情。不妨讓我們瀏覽一下目前這些在web3D中劃地自治的各路諸侯們:VRML/X3D;VEGA;VIRTOOLS;Viewpoint;Cult3D;JAVA3D;QUEST3D;OPENGL/DIRECTX3D。
盡管出現了如此之多的解決方案,難道讓我們每個人都跳上了Web3D的列車了嗎?其實不然,由于每一個方案都有自己的長處、短處,它們都力圖使自己的方案成為標準,但卻使得我們在選擇開發環境與語言上無所適從。
2.2 軟件開發環境的困難與障礙
在上述開發環境軟件中,并沒有一款很好的可視化軟件支持VRML的可視化編輯,多數的軟件需要注冊激活,甚至有些軟件無法在32位計算機上正常運行。VRML程序的編寫體制還不是很成熟,沒有很好的可視化編輯軟件支持,使得VRML程序的開發十分緩慢。例如在VRML97設計中,運用Transform節點嵌套坐標系時,這一點得到了充分的體現。但無法可視化移動節點的坐標,實現該操作需要大量的手工數據計算以及調整。
3D Max雖然支持可視化建模,支持導入、導出VRML文件。但是經過該軟件編輯后的VRML文件冗余變得很大,多了很多不必要的代碼。要命的是,VRML文件的體積很大,動輒幾十K上百K的。而VRML的所有編輯器中,都沒有一款很好的能夠優化和簡化代碼的插件支持。3D Max雖然對建模帶來了便利,但是代碼優化的工作量也增大了,而且基本上都是手工操作,操作過程的繁瑣可想而知。
另外, VRML僅僅是一種用于描述基于互聯網的虛擬三維場景的規范,其提供的交互性對于開發復雜的應用稍嫌不足,而交互技術恰恰是虛擬網絡技術的關鍵。其次,場景描述信息與交互信息共存在同一VRML文件中也不便開發者使用。
2.3 目前國內的網絡帶寬也嚴重制約VRML的發展
VRML文件的體積太大,不適合國內的網絡現狀。我國是全世界網民最多的國家,網絡資源緊張,目前大多數網民的帶寬都在2M左右。以往用JAVA或者ASP編寫的網頁代碼總體體積不過幾十KB,但是要制作一個大型的VRML場景,加上完整的貼圖修飾,音樂元素等,文件體積以MB為單位,就算對代碼作了優化,效果也不太理想。這對當前網絡資源是一個很大的挑戰。
2.4 確少大公司的支持也是制約VRML發展的因素
最近MICROSOFT公司宣布,基于安全的理由,它不再支持JAVA,其最新的操作系統Window s XP也沒有內建JAVA虛擬機。如果在Windows XP使用VRML的新標準X3D、以及能實現復雜三維圖形開發、具有效好交互性的JAVA 3D時,必須安裝JAVA虛擬機、JAVA運行環境等。其它Web3D軟件也必須在客戶端安裝瀏覽器插件,才能實現對VRML作品的瀏覽。確少大公司的支持,無疑使本來就孱弱的VRML雪上加霜。
3 對VRML未來的展望
VRML的路在何方?這個問題一直在我腦海盤旋!在回答這個問題之前,我們先來探討下面兩個方面的問題。
3.1 VRML vs 全景VRML vs flash
目前的全景技術越來越火,國內基于全景技術的軟件開發公司越來越多。一批批汽車、室內環境設計等廣告網站,通過全景技術(全景實際上只是一種對周圍景象以某種幾何關系進行映射生成的平面圖片,通過全景軟件、播放器的處理成為三維全景)全方位的展現產品的各個方面,取得了良好的廣告效果。還有就是flash等平面軟件,他也提供了越來越多的功能,所以我們不僅要問,難道全景、flash將取代VRML?但是我覺得,VRML和全景,flash是不能比的,這不是水平誰好誰差的問題,而是他們針對是不同的對象,就像不同產品針對的不同細分市場一樣的,如果要全方位的展現產品、景點之類的當然是全景好。還有,你要做一個的高中物理多媒體課件當然是flash或者authorware好,如果有一個老師本來想用flash作他的物理課件,但是學了VRML后,就嘗試用VRML來做,但做出來的東西效果肯定比不上用flash,由此得出VRML不如flash,這是可笑的。試想如果做一個很復雜的機器的培訓系統,其中最重要一塊就是讓學員能夠對機器進行虛擬拆裝,從而可以了解其結構和原理,這全景和flash可以嗎?唯有VRML。
3.2 X3D真的是VRML的未來嗎
正如前面提到的在1998年,VRML組織把自己改名為Web3D組織,同時制訂了一個新的標準: Extensible 3D(X3D),到了2000年春天,Web3D組織完成了VRML到X3D的轉換。X3D到底給VRML帶來了什么?我們先來看看X3D的簡介:
在X3D之前,市場上出現了為數眾多的互聯網3D圖形軟件,這些圖形軟件遵循各自的技術規格,讓用戶感到無所適從和難以忍受。Web3D聯盟發布的新一代國際標準X3D有望結束這種混亂的局面,X3D所具有的高度可擴展性可使開發人員根據自己的需求來擴展其功能。同時 X3D整合正在發展的可擴展標記語言(Extensible Markup Language ,簡稱XML) 、JAVA、流技術等先進技術,包括了更強大、更高效的3D計算能力、渲染質量和傳輸速度。 X3D被定義為可交互操作,可擴展,跨平臺的網絡3D內容標準。可以斷言X3D必將為互聯網3D圖形的發展提供一個廣闊的發展前景,X3D 是 VRML的繼承。X3D還提供了以往VRML 97標準所不具備的十幾種新功能。
限于篇幅原因,有關X3D的介紹在這里就不再贅述。我僅對我使用X3D談談自己的幾點看法。
1) X3D-EDIT場景編緝器還不是一款真正意義上的可視化編緝器。雖然通過它的Process-XSL(工具欄XSL按鈕最右邊一個)可實現與IE互聯,但得到的是轉化的html文檔,依然不能夠實現可視化編緝。
2) 在IE上瀏覽.3D文件,依然需要BS插件的支持。
3) 缺少有價值的、實用性較強的X3D書籍與資料。大多數資料都在大談其功能如何如何,但就是缺乏如何實現的關鍵性技術代碼。號稱全國最大的購書網(當當)上,也只能搜索到一、二本有關X3D的書籍。
4) X3D雖然整合了XML、JAVA,較好的實現了可移植性、平臺性與交互性。但微軟對它們的支持可以用太不仁道來說明。真不知道微軟這個軟件巨頭是如何想的,要知道,國內90%的電腦在使用windows xp。并且,由于缺乏相應的技術支持,在它們整合的應用上,依然難有突破。
5) 對X3D的開發人員來說,需要有較強的綜合知識能力。很多是基于Java、DirectX、OpenGL、XML等等技術的網絡應用,所以要學好,涉及的技術是相當多的,相信僅僅憑個人的摸索是遠遠不夠的,也是難以適應快速社會的要求。
以上這些因素或許就是在www上未能看到較多X3D成功案例的原因吧!
其實,X3D實質上還是一個正在發展的標準,X3D Specification Working Group 正在努力的完善。但X3D相對VRML來講,在規范和語法方面都有了很大的改進,雖然不能說完全解決了VRML所存在的缺陷,但是在VRML的基礎上有了很大的提高。更簡單的節點集,更快的渲染速度,更適合網絡的傳輸。特別是它采用XML的編碼形式,使它在可移植性、頁面整合性、工具支持以及結構化主面取得較大的突破。我們有理由相信該技術必定能將Web推向一個新的紀元。
4 總結
VRML之路充滿坎坷,但Web三維化是必然的趨勢。就像幾年前人們無法想像得到網絡對我們的生活產生如此巨大的影響。虛擬現實技術是未來網絡的進一步延伸,它充滿交互性和能動性。未來的購物很有可能代替現在大家進超市購物的習慣,你只需要進入用虛擬現實技術建立的虛擬超市網站,點擊相關物品分類,便可來到相應的物品架前,選擇你想要的商品,再通過信用卡付款的方式,一個按鍵,虛擬超市的工作人員便可以將你選購的物品直接送到你的家中。更如以后的虛擬聊天室,不再是一個人坐在電腦前看著電腦屏幕打字,而是戴上虛擬感應裝置(用于聲音感應的耳罩、用于圖像感應的眼罩和用于肢體感覺感應的插線等)后,直接身臨其境的進入虛擬聊天室與相隔千里的好友進行交流。虛擬教學的發展也將如此,到時候為學生和老師們只需要配備一套虛擬感應設備,不用出門都可以完成從小學到大學的所有課程。虛擬現實技術的發展都將為人類的生活帶來很大的便利。
以上的遐想不會是遙不可及的夢,因為很多遙不可及的夢已經被我們實現了。
參考文獻:
[1] 劉怡,張洪定,崔欣.虛擬現實VRML程序設計[M].天津:南開大學出版社,2007:1-50.
[2] 汪志達,葉偉.VRML虛擬現實網頁設計[M].北京:清華大學出版社,2006:1-148.
[3] http://www.vr100.com/article/view.asp?id=1802[EB/OL].