張 嘯
西安外事學(xué)院,陜西 西安 710077
3D圖形技術(shù)不是一個(gè)新話題,但是3D圖形對(duì)機(jī)器的要求較高,以往都是在圖形工作站實(shí)現(xiàn)的。然而,隨著計(jì)算機(jī)技術(shù)的發(fā)展和互聯(lián)網(wǎng)的出現(xiàn),卻使3D圖形技術(shù)發(fā)生了微妙而又深刻的變化,并且深刻影響各個(gè)領(lǐng)域。Web3D協(xié)會(huì)(前身是VRML協(xié)會(huì))最先使用Web3D術(shù)語(yǔ),這一術(shù)語(yǔ)的出現(xiàn)反映了這種變化的全貌,我們把Web3D理解為:互聯(lián)網(wǎng)上的3D圖形技術(shù)。下面以PC為平臺(tái),實(shí)現(xiàn)一個(gè)產(chǎn)品3D展示,來(lái)說(shuō)明現(xiàn)在Web3D技術(shù)。
本文用到的VRML是3D圖形和多媒體技術(shù)通用交換的文件格式,它基于建模技術(shù),描述交互式的3D對(duì)象和場(chǎng)景,不僅應(yīng)用在互聯(lián)網(wǎng)上,也可以用在本地客戶系統(tǒng)中,應(yīng)用范圍極廣。由于網(wǎng)上傳輸?shù)氖悄P臀募?,故其傳輸量大大小于視頻圖像。
制作互聯(lián)網(wǎng)3D圖形的軟件并沒(méi)有完全遵循VRML97標(biāo)準(zhǔn),許多公司推出了它們自己的制作工具和插件,對(duì)用戶而言,要在互聯(lián)網(wǎng)上觀看用這些軟件制作的3D圖形,先要下載1M~7MB的插件,然后安裝在網(wǎng)頁(yè)瀏覽器上。插件的種類之多,這也使得用戶難以選擇。要觀看10個(gè)不同的網(wǎng)站,用戶就需要下載并安裝10個(gè)不同廠家的插件。這是難以忍受的。
所以,我們?cè)诰C合考慮之后采用了基于JAVA的Wirefusion作為創(chuàng)作工具。Wirefusion是一個(gè)可視化編程工具,可以設(shè)計(jì)出先進(jìn)的、交互式動(dòng)態(tài)web3d網(wǎng)頁(yè)。
Wirefusion是一個(gè)多媒體平臺(tái),集成了幾種不同的媒體類型,成為一個(gè)單一的播放器。它支持三維,二維、macromedia的flash、視頻和mp3音頻,也能夠創(chuàng)造360度的全景圖,幻燈片及縮放圖像[1]。不需要安裝插件就可在客戶端觀看作品,這樣就大大方便了訪問(wèn)者。
在模型制作方面,采用的是3Ds Max 2010,該軟件是Autodesk公司開發(fā)的基于PC系統(tǒng)的三維動(dòng)畫渲染和制作軟件。在WindowsNT出現(xiàn)以前,工業(yè)級(jí)的CG制作被SGI圖形工作站所壟斷。3D Studio Max + Windows NT組合的出現(xiàn)一下子降低了CG制作的門檻,首選開始運(yùn)用在電腦游戲中的動(dòng)畫制作,后更進(jìn)一步開始參與影視片的特效制作,廣泛應(yīng)用于廣告、影視、工業(yè)設(shè)計(jì)、建筑設(shè)計(jì)、多媒體制作、游戲、輔助教學(xué)以及工程可視化等領(lǐng)域[2]。該軟件在國(guó)內(nèi),有很龐大的使用人群,有很好的群眾基礎(chǔ),非常便于推廣使用。
本文以國(guó)產(chǎn)“紅旗”牌轎車為例,采用的車型是紅旗盛世HQ300型汽車,需要全方位展示汽車,用戶可以交互操作車門開關(guān)以及車燈開關(guān)。
首先,創(chuàng)建藍(lán)本,我們需要確定將所有的藍(lán)本進(jìn)行對(duì)齊,可以很容易的在Photoshop下完成這一步。將汽車前視圖投影到一個(gè)面片柵格上,沿著汽車的主要邊線勾畫出它的各視圖輪廓線。對(duì)照其他的幾個(gè)視圖(頂視圖、后視圖等),用同樣的方法做出其它的輪廓。然后在3D Max中將所有的圖片對(duì)齊到一個(gè)平面上。沿著畫出的line擠出一個(gè)面,再按照車的大體結(jié)構(gòu),進(jìn)行邊的復(fù)制,適度縮放,做成大體的車身,由于需要車門和車燈的動(dòng)畫,所以這幾部分需要單獨(dú)來(lái)做,其它部分包括內(nèi)飾也用同樣的方法制作完成。分別給汽車各個(gè)部件添加材質(zhì),并且使用Render To Textures技術(shù)將貼圖保存。制作完成后,按照VRML97格式將模型導(dǎo)出。
進(jìn)入Wirefusion,Wirefusion的作品設(shè)計(jì)方式是采用預(yù)編程,在Wirefusion里有一套被稱為Wirefusion對(duì)象,或者是物體。使用或重用已設(shè)計(jì)好的對(duì)象,可確保你設(shè)計(jì)的作品的文件小且穩(wěn)健。首先導(dǎo)入背景圖片,可以用來(lái)約束范圍,然后導(dǎo)入模型,并且給每個(gè)部件添加貼圖,可以在Wirefusion中設(shè)定反射,然后設(shè)定每個(gè)交互按鈕的功能,編程方式非常類似于傳統(tǒng)的編程技術(shù),數(shù)據(jù)或資料(俗稱參數(shù),如數(shù)字、字符串、顏色、圖像等),由一個(gè)函數(shù)送到另一個(gè)函數(shù)。但是,區(qū)別于常規(guī)技術(shù)是,Wirefusion是把兩個(gè)有關(guān)聯(lián)對(duì)象用連接線,把它們連接起來(lái),顯得非常直觀。但是不能直接交互式的更換貼圖,比如車體顏色,如果需要更換車體顏色,則必須在網(wǎng)頁(yè)代碼中修改,全部設(shè)定完成后測(cè)試。如果沒(méi)有問(wèn)題,發(fā)布到網(wǎng)站。
更換車體圖片需要在網(wǎng)頁(yè)中添加如下代碼:
并且配合Wirefusion中設(shè)定的腳本文件,就可以實(shí)現(xiàn)在網(wǎng)頁(yè)中實(shí)時(shí)更換顏色的功能了。至此,基本完成了所需要的功能。完成后的程序運(yùn)行穩(wěn)定,狀態(tài)良好。
雖然,Web3D技術(shù)將有好的發(fā)展前景,但仍然不可盲目樂(lè)觀,它還面臨著很多問(wèn)題,如帶寬、處理器速度等?,F(xiàn)在的Web3D圖形是有幾十種可供選擇的技術(shù)和解決方案,多種文件格式和渲染引擎的存在是Web3D圖形在互聯(lián)網(wǎng)上應(yīng)用的最大障礙,而這種局面還將長(zhǎng)時(shí)間存在。網(wǎng)站的訪問(wèn)者必須先花費(fèi)時(shí)間下載對(duì)應(yīng)的插件,然后再像安裝軟件那樣安裝這個(gè)插件,才能觀看一個(gè)十分粗糙的3D圖形。用戶苦不堪言。網(wǎng)絡(luò)帶寬也是制約網(wǎng)上3D圖形發(fā)展的另一個(gè)主要瓶頸。
所以本文建議使用JAVA3D,JAVA在互聯(lián)網(wǎng)上幾乎隨處可見(jiàn)。使用JAVA的重要理由之一是它的平臺(tái)無(wú)關(guān)性。負(fù)責(zé)編譯JAVA程序的是JAVA Virtual Machine(JVM),不同的平臺(tái)有它自己的JVM,處理與平臺(tái)相關(guān)的功能。因此,只要支持JVM,就能運(yùn)行JAVA小程序。兩種最有名的瀏覽器Netscape和IE都支持JVM。因此用JAVA制作的3D圖形幾乎可以在所有的瀏覽器上顯示。
當(dāng)前,互聯(lián)網(wǎng)上的圖形仍以2D圖像為主流,但是3D圖形必將在互聯(lián)網(wǎng)上占有重要地位。互聯(lián)網(wǎng)上的交互式3D圖形技術(shù)Web3D正在取得新的進(jìn)展,形成自己獨(dú)立的框架,并且會(huì)廣泛應(yīng)用在如電子商務(wù)、聯(lián)機(jī)娛樂(lè)休閑與游戲、科技與工程的可視化、教育、醫(yī)學(xué)、地理信息、虛擬社區(qū)等方面。
[1]http://www.web3d.com.cn/.
[2]http://www.autodesk.com/.