張 嘯
西安外事學院,陜西 西安 710077
3D圖形技術不是一個新話題,但是3D圖形對機器的要求較高,以往都是在圖形工作站實現的。然而,隨著計算機技術的發展和互聯網的出現,卻使3D圖形技術發生了微妙而又深刻的變化,并且深刻影響各個領域。Web3D協會(前身是VRML協會)最先使用Web3D術語,這一術語的出現反映了這種變化的全貌,我們把Web3D理解為:互聯網上的3D圖形技術。下面以PC為平臺,實現一個產品3D展示,來說明現在Web3D技術。
本文用到的VRML是3D圖形和多媒體技術通用交換的文件格式,它基于建模技術,描述交互式的3D對象和場景,不僅應用在互聯網上,也可以用在本地客戶系統中,應用范圍極廣。由于網上傳輸的是模型文件,故其傳輸量大大小于視頻圖像。
制作互聯網3D圖形的軟件并沒有完全遵循VRML97標準,許多公司推出了它們自己的制作工具和插件,對用戶而言,要在互聯網上觀看用這些軟件制作的3D圖形,先要下載1M~7MB的插件,然后安裝在網頁瀏覽器上。插件的種類之多,這也使得用戶難以選擇。要觀看10個不同的網站,用戶就需要下載并安裝10個不同廠家的插件。這是難以忍受的。
所以,我們在綜合考慮之后采用了基于JAVA的Wirefusion作為創作工具。Wirefusion是一個可視化編程工具,可以設計出先進的、交互式動態web3d網頁。
Wirefusion是一個多媒體平臺,集成了幾種不同的媒體類型,成為一個單一的播放器。它支持三維,二維、macromedia的flash、視頻和mp3音頻,也能夠創造360度的全景圖,幻燈片及縮放圖像[1]。不需要安裝插件就可在客戶端觀看作品,這樣就大大方便了訪問者。
在模型制作方面,采用的是3Ds Max 2010,該軟件是Autodesk公司開發的基于PC系統的三維動畫渲染和制作軟件。在WindowsNT出現以前,工業級的CG制作被SGI圖形工作站所壟斷。3D Studio Max + Windows NT組合的出現一下子降低了CG制作的門檻,首選開始運用在電腦游戲中的動畫制作,后更進一步開始參與影視片的特效制作,廣泛應用于廣告、影視、工業設計、建筑設計、多媒體制作、游戲、輔助教學以及工程可視化等領域[2]。該軟件在國內,有很龐大的使用人群,有很好的群眾基礎,非常便于推廣使用。
本文以國產“紅旗”牌轎車為例,采用的車型是紅旗盛世HQ300型汽車,需要全方位展示汽車,用戶可以交互操作車門開關以及車燈開關。
首先,創建藍本,我們需要確定將所有的藍本進行對齊,可以很容易的在Photoshop下完成這一步。將汽車前視圖投影到一個面片柵格上,沿著汽車的主要邊線勾畫出它的各視圖輪廓線。對照其他的幾個視圖(頂視圖、后視圖等),用同樣的方法做出其它的輪廓。然后在3D Max中將所有的圖片對齊到一個平面上。沿著畫出的line擠出一個面,再按照車的大體結構,進行邊的復制,適度縮放,做成大體的車身,由于需要車門和車燈的動畫,所以這幾部分需要單獨來做,其它部分包括內飾也用同樣的方法制作完成。分別給汽車各個部件添加材質,并且使用Render To Textures技術將貼圖保存。制作完成后,按照VRML97格式將模型導出。
進入Wirefusion,Wirefusion的作品設計方式是采用預編程,在Wirefusion里有一套被稱為Wirefusion對象,或者是物體。使用或重用已設計好的對象,可確保你設計的作品的文件小且穩健。首先導入背景圖片,可以用來約束范圍,然后導入模型,并且給每個部件添加貼圖,可以在Wirefusion中設定反射,然后設定每個交互按鈕的功能,編程方式非常類似于傳統的編程技術,數據或資料(俗稱參數,如數字、字符串、顏色、圖像等),由一個函數送到另一個函數。但是,區別于常規技術是,Wirefusion是把兩個有關聯對象用連接線,把它們連接起來,顯得非常直觀。但是不能直接交互式的更換貼圖,比如車體顏色,如果需要更換車體顏色,則必須在網頁代碼中修改,全部設定完成后測試。如果沒有問題,發布到網站。
更換車體圖片需要在網頁中添加如下代碼:

并且配合Wirefusion中設定的腳本文件,就可以實現在網頁中實時更換顏色的功能了。至此,基本完成了所需要的功能。完成后的程序運行穩定,狀態良好。
雖然,Web3D技術將有好的發展前景,但仍然不可盲目樂觀,它還面臨著很多問題,如帶寬、處理器速度等。現在的Web3D圖形是有幾十種可供選擇的技術和解決方案,多種文件格式和渲染引擎的存在是Web3D圖形在互聯網上應用的最大障礙,而這種局面還將長時間存在。網站的訪問者必須先花費時間下載對應的插件,然后再像安裝軟件那樣安裝這個插件,才能觀看一個十分粗糙的3D圖形。用戶苦不堪言。網絡帶寬也是制約網上3D圖形發展的另一個主要瓶頸。
所以本文建議使用JAVA3D,JAVA在互聯網上幾乎隨處可見。使用JAVA的重要理由之一是它的平臺無關性。負責編譯JAVA程序的是JAVA Virtual Machine(JVM),不同的平臺有它自己的JVM,處理與平臺相關的功能。因此,只要支持JVM,就能運行JAVA小程序。兩種最有名的瀏覽器Netscape和IE都支持JVM。因此用JAVA制作的3D圖形幾乎可以在所有的瀏覽器上顯示。
當前,互聯網上的圖形仍以2D圖像為主流,但是3D圖形必將在互聯網上占有重要地位。互聯網上的交互式3D圖形技術Web3D正在取得新的進展,形成自己獨立的框架,并且會廣泛應用在如電子商務、聯機娛樂休閑與游戲、科技與工程的可視化、教育、醫學、地理信息、虛擬社區等方面。
[1]http://www.web3d.com.cn/.
[2]http://www.autodesk.com/.