丁黎明
摘要:Web3D是VRML技術(shù)進(jìn)一步發(fā)展和成熟的結(jié)果,是網(wǎng)絡(luò)三維的簡稱。相對于傳統(tǒng)的VRML而言,它具有更強的視覺表現(xiàn)力和交互性,更適合虛擬教學(xué)環(huán)境和課件制作。EON Studio是一款比較成熟,具有明顯技術(shù)優(yōu)勢的全新虛擬現(xiàn)實開發(fā)展示工具,本文試圖應(yīng)用它進(jìn)行數(shù)字化展覽室教學(xué)實例的開發(fā),對EON Studio在網(wǎng)絡(luò)展示開發(fā)中的應(yīng)用進(jìn)行探索性和實驗性的研究。
關(guān)鍵詞:EON Studio數(shù)字展覽室設(shè)計與實現(xiàn)
1制作和發(fā)布EON Studio作品的基本流程
1.1制作三維模型。通常用第三方三維建模軟件,如3D Max、Maya或VRM L語言編輯三維模型,可以創(chuàng)建新的模型,也可以讀取已有的模型。
1.2將三維模型輸出為EON Studio能夠識別的特定文件格式。如用3D Max完成建模后,輸出的文件格式應(yīng)為(3ds)。
1.3使用EON Studio來導(dǎo)入已經(jīng)保存和建立好的三維模型。
1.4使用EON Studio進(jìn)行三維場景設(shè)計和對象編輯,如添加節(jié)點和行為設(shè)置交互和測試優(yōu)化EON程式。
1.5發(fā)布EON應(yīng)用程式。將三維場景輸出為可在線瀏覽的文件格式,即EON作品。
2數(shù)字展覽室的設(shè)計
2.1使用幫助功能的設(shè)計通過對EON Studio中Textbox節(jié)點相關(guān)屬性的設(shè)置,使與展覽室運行流程和使用操作相關(guān)的說明文字出現(xiàn)在程序運行視窗中,其功能是為學(xué)習(xí)者提供指導(dǎo)課件使用的文字幫助信息。
2.2交互接口的設(shè)計交互實現(xiàn)原理:利用EON支持VB Script開發(fā)的功能,通過編寫Script實現(xiàn)尋找接口,實現(xiàn)數(shù)據(jù)和指令的傳輸,達(dá)到實時交互的目的。使用的方法主要包括scrlDt接口、EAI接口等。EON的Script節(jié)點是連接vC++6.0和EON的橋梁,它可以描述一個由用戶自己定義事件域、事件出口和入口。然后在VC++6.0開發(fā)平臺利用外部創(chuàng)作接口EAI為系統(tǒng)中各實體創(chuàng)建外部環(huán)境接口,從而實現(xiàn)交互。
EON Professional的Script節(jié)點可以由用戶定義任意多個擴展域(expose d Field)、輸入事件(eventln)和輸出事件(eventOut),而每一個事件VB Script中對應(yīng)一個函數(shù),用戶就在這里編寫實現(xiàn)虛擬展室復(fù)雜交互功能的源代碼。然后Scnpt節(jié)點的輸入輸出函數(shù)在EON的流程圖上與交互功能節(jié)點進(jìn)行連接,創(chuàng)建內(nèi)部環(huán)境接口,為EAl訪問入口作好準(zhǔn)備。
EAI可以使外部程序通過EON scnpt實現(xiàn)對虛擬設(shè)備的控制,這里所說的外部程序指在VC++6.0編制的交互界面上訪問EON節(jié)點的程序。
用戶在交互界面上可以通過按鈕或文本框發(fā)送指令給EAI,EAI就能訪問內(nèi)部程序接口,觸發(fā)EON scnpt的某一事件,從而是虛擬環(huán)境中的設(shè)備實現(xiàn)各種動作,同時用戶還可以通過TControI類的GetOutEventType()、GetOutEventName()方法監(jiān)視反饋信息,達(dá)到實時交互的效果。
2.3數(shù)字展室立體展示功能的設(shè)計可以對展覽室的物理結(jié)構(gòu)進(jìn)行立體仿真展示。當(dāng)鼠標(biāo)移動到模型上面時,可以出現(xiàn)其詳細(xì)的文字說明。在模型上單擊鼠標(biāo)左鍵時,模型按照特定的軸方向旋轉(zhuǎn),再次單擊時則停止轉(zhuǎn)動。右鍵單擊模型時,可以從由遠(yuǎn)及近的視覺關(guān)系逐漸獨立地出現(xiàn)在窗口之中,拖動鼠標(biāo)可以實現(xiàn)多角度觀察的結(jié)構(gòu),再次右鍵單擊模型時,恢復(fù)到初始狀態(tài)。
3數(shù)字展覽室的實現(xiàn)
3.1三維建模利用3DMax軟件對數(shù)字展覽室結(jié)構(gòu)模型進(jìn)行建模。在此過程中,為了便于后期展示時對模型進(jìn)行觀察,可以為各個功能區(qū)設(shè)定不同的顏色和大小加以區(qū)分。最后將導(dǎo)出格式為.3ds的文件保存,輸出的文件名為Exhibition.3ds文件。其中,三維建模是整個課件制作的前提和基礎(chǔ),同時也是關(guān)鍵所在。數(shù)字展覽室模型如圖3.1
3.2所使用的節(jié)點和原形介紹框架節(jié)點(FFame):用來群組存放多個節(jié)點,使模擬樹的結(jié)構(gòu)清晰、明了。提示節(jié)點(Tooltip):在模擬物體上加上輔助文字說明。旋轉(zhuǎn)節(jié)點(Rotate):使父系節(jié)點下的所有模型物體轉(zhuǎn)動。單擊傳感節(jié)點(Clicksensor):當(dāng)對象被點擊時,它被觸發(fā),從而觸發(fā)與之有關(guān)聯(lián)的其他功能節(jié)點。開關(guān)節(jié)點Ilatch):利用布爾數(shù)值來觸發(fā)控制運算(O為false,1為true)。文字節(jié)點cTextbox):可以加入一個文字方塊于模擬程式中,用來提供用戶相關(guān)咨詢。對象導(dǎo)航原形(O bjectNav):可以使使用者全方位觀察三維對象的運動模型,利用鼠標(biāo)和鍵盤,使用者可以在任意方位旋轉(zhuǎn)、平移、縮放三維對象。漫游節(jié)點(Walk):用來實現(xiàn)在三維環(huán)境中漫游行走,一般用鼠標(biāo)來控制。
3.3使用幫助功能的實現(xiàn)在Scdne節(jié)點下添加Frame節(jié)點,再向Frame節(jié)點中添加Textbox節(jié)點,雙擊Textbox節(jié)點,打開它的屬性框,輸入想要顯示的說明文字。此外可以修改文字的顏色和字體以及背景顏色,以便獲得更好的視覺效果。
3.4數(shù)字展覽室展示功能的實現(xiàn)步驟一:在Scene節(jié)點下添加一個Frame節(jié)點和ObjectNav原型,將Frame節(jié)點起名為E×一hibition。將先前轉(zhuǎn)換好的E×hibition.3ds文件導(dǎo)入到名為Exhibition的Frame節(jié)點下,并在其下面添加Tooltip、Rotate、CIicksensor和Latch節(jié)點。為了能從多側(cè)面方便觀察模型在操作過程中的模型的整體變化,增添視窗viewport node于vrewports文件下。
步驟二:EON模型中的camera(相當(dāng)于人的眼睛)復(fù)位功能:增添keyboard sensor node于任意位置,以及分別在模型與cameranode下增添place nodeo
步驟三:聲音文檔文件的跟隨:添加clicksensor node、soundnode于模型的frame node下。
步驟四:交互的實現(xiàn):添加Script Node于模型的frame node下,Script Node是實現(xiàn)人機交互的重要節(jié)點,在Scnpt Node里用戶可以利用VB Script和java Script自己定義輸入、輸出事件,起到連接的作用。最終的路徑視窗如圖2—2所示:
步驟五:利用EON Studio自帶的網(wǎng)頁發(fā)布精靈,可以將制作好的作品很容易地發(fā)布到網(wǎng)上,并且它提供了很多種模版以供選擇。
4總結(jié)
EON Studio憑借人性化、可視化的操作界面,簡單的操作性,強大的交互功能,大大簡化和降低了數(shù)字展覽室開發(fā)和制作的過程和技術(shù)難度。本文利用EON Studio制作數(shù)字化展覽室相信是對其在網(wǎng)絡(luò)三維互動應(yīng)用方面研究的深入,相信未來的學(xué)習(xí)者定會開發(fā)出更好更優(yōu)秀的網(wǎng)絡(luò)三維互動作品。