VRML在網(wǎng)頁游戲制作中的應(yīng)用.doc_第1頁
VRML在網(wǎng)頁游戲制作中的應(yīng)用.doc_第2頁
VRML在網(wǎng)頁游戲制作中的應(yīng)用.doc_第3頁
VRML在網(wǎng)頁游戲制作中的應(yīng)用.doc_第4頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

VRML在網(wǎng)頁游戲制作中的應(yīng)用【摘要】網(wǎng)頁游戲近年來發(fā)展迅猛,市場不斷擴(kuò)大。由于網(wǎng)上存在著大量的vrml/x3d資源,本文討論了在vrml/x3d基礎(chǔ)上,結(jié)合其他相關(guān)技術(shù)制作網(wǎng)頁游戲的方法,為低成本的網(wǎng)頁游戲制作提供了一條思路?!娟P(guān)鍵詞】 vrmlx3d網(wǎng)頁游戲引言網(wǎng)頁游戲是一種基于瀏覽器的網(wǎng)絡(luò)游戲,它無需安裝客戶端即可進(jìn)行游戲。隨著計算機(jī)硬件和軟件能力的不斷提升,網(wǎng)頁游戲成為可能并且逐步普及。網(wǎng)頁游戲早期多為2d的,目前正逐步向3d方向發(fā)展。目前網(wǎng)頁游戲前端開發(fā)的主流技術(shù)是flash1。vrml是最早的3d建模語言,網(wǎng)絡(luò)上存在著大量共享的vrml資源。如果用vrml替代flash作為前端開發(fā)技術(shù),則可以很好的利用已有的vrml資源,大大地節(jié)約開發(fā)成本。vrml的交互研究網(wǎng)頁游戲可以看成是一種特殊的網(wǎng)頁交互程序,其基本交互過程為:將客戶端數(shù)據(jù)提交到服務(wù)器端,服務(wù)器端處理完以后再展現(xiàn)在客戶端。相比普通的網(wǎng)頁,網(wǎng)頁游戲所進(jìn)行的數(shù)據(jù)交互更加復(fù)雜和頻繁,而且對實時性的要求也更高。vrml提供諸多交互手段,通??煞殖煞蔷幊探换ズ途幊探换煞N交互方法2。非編程交互是一種基于vrml內(nèi)建節(jié)點的交互方法,是一種靜態(tài)方式的交互,即場景中對象狀態(tài)的改變是預(yù)先設(shè)定好的,不需要什么操作行為來激發(fā)其運動或變化,它通過預(yù)設(shè)的運動方式,由用戶來決定觸發(fā)。具體而言,它會首先通過檢測器檢測到用戶在虛擬場景中的動作,然后通過事件的傳遞來實現(xiàn)虛擬環(huán)境和用戶的交互。編程交互式是一種動態(tài)方式的交互,它是通過一段外部邏輯程序來決定事件的產(chǎn)生,它具有詢問對象狀態(tài)的能力,再基于這些狀態(tài)做出相應(yīng)決定,并改變場景的狀態(tài)。具體來說,就是通過 java 和 javascript 腳本來實現(xiàn)動態(tài)交互,實現(xiàn)互動場景的動態(tài)行為,使用它可以在控制方式上做出很大的進(jìn)步。vrml 有自己的 api,通過這些api接口提供了一個給java程序訪問vrml瀏覽器界面的環(huán)境,而java對vrml的支持是通過附加的封裝類來實現(xiàn)的,在這些類中實現(xiàn)了對 vrml 虛擬場景的全部控制。.3x3d擴(kuò)展x3d可看做vrml的升級版本,部分代碼和vrml兼容,它集xml,java,流技術(shù)等先進(jìn)技術(shù)于一身,具有更強(qiáng)大的3d計算能力、渲染質(zhì)量和網(wǎng)絡(luò)傳輸速度,是可交互操作,可擴(kuò)展,跨平臺的網(wǎng)絡(luò)3d內(nèi)容,在虛擬現(xiàn)實系統(tǒng)交互功能實現(xiàn)方面比vrml技術(shù)有明顯的優(yōu)勢。要實現(xiàn)更復(fù)雜的人機(jī)交互功能,需要用外部語言編寫script節(jié)點的腳本程序,借助x3d的事件和路由機(jī)制,通過傳感器節(jié)點及script節(jié)點形成route-graph(路由圖),場景隨著用戶的操作動態(tài)變化,從而實現(xiàn)復(fù)雜動態(tài)場景交互。x3d兼容vrml,對于vrml代碼只要做下聲明即可成為x3d代碼。為了便于交互,要對整體場景采用分割技術(shù)3。所謂分割技術(shù),就是把整體場景分成若干子場景和實體,子場景可以再分成若干子場景和實體??梢愿鶕?jù)實際情況選擇分割層次,即整個場景最終是由實體組成的,實體是組成虛擬場景最基本的單元,比如一扇門,一顆樹等。封裝先從最基本的實體開始,把每個實體的三維模型創(chuàng)建出來,保存成單個文件。在此基礎(chǔ)上,構(gòu)建實體和場景數(shù)據(jù)庫,通過x3d的數(shù)據(jù)庫驅(qū)動動態(tài)建模功能,動態(tài)地創(chuàng)建出各層的子場景和最終的整體場景,實體之間和子場景之間的連接可以使用inline命令,各個實體和子場景需要動態(tài)的數(shù)據(jù)都存放在數(shù)據(jù)庫中。x3d只是創(chuàng)建了這些實體如何顯示的場景模板。創(chuàng)建好場景模板后,開發(fā)者和使用者只需要修改數(shù)據(jù)庫的數(shù)據(jù)就可以定制不同的場景。采用x3d對場景進(jìn)行分割建模后,可以動態(tài)或者靜態(tài)的進(jìn)行交互設(shè)計。對于一已經(jīng)封裝為x3d格式文件的物體,要實現(xiàn)其移動動畫,可以設(shè)置一個billboard節(jié)點,將物體放入該節(jié)點內(nèi),并定義一個時間傳感器和一個接觸傳感器以及一個動畫位置插補(bǔ)器,與javascript結(jié)合用來控制物體的移動。4多用戶交互最后,要實現(xiàn)多用戶交互,還要聯(lián)合asp的編程技術(shù)在數(shù)據(jù)庫上進(jìn)行交互。先把數(shù)據(jù)庫與asp進(jìn)行連接來讀取數(shù)據(jù)庫中的內(nèi)容,緊接著把讀到的數(shù)據(jù)傳輸給瀏覽器,然后由瀏覽器來結(jié)合vrml中的語句進(jìn)行渲染。這樣用戶進(jìn)行操作時,操作產(chǎn)生的數(shù)據(jù)改變會提交給數(shù)據(jù)庫來實現(xiàn)數(shù)據(jù)庫中vrml場景中物體屬性的更改,從而在不斷刷新的網(wǎng)頁上體現(xiàn)出來。在同一個時間段之內(nèi)可以實現(xiàn)多個用戶對虛擬場景中的vrml/x3d對象進(jìn)行操作,而相互之間只要刷新網(wǎng)頁和讀取數(shù)據(jù)庫中的新數(shù)據(jù)就可實現(xiàn)遠(yuǎn)程交互了4。asp和vrml結(jié)合的部分源代碼如下:transform.translation rotation childreninline url“% = rs(“man”) %”5總結(jié)通過以上分析,基于經(jīng)典vrml虛擬世界“泰偌切蒂蘭城”,已開發(fā)出一個可供多人實時交互的簡單網(wǎng)頁游戲,經(jīng)過測試,多人交互實時性可滿足要求。由于開發(fā)工具的缺乏,vrml在圖像質(zhì)量方面還無法與主流網(wǎng)頁游戲競爭,vrml的優(yōu)勢在于成本的低廉。在某些場合,比如說產(chǎn)品推廣或者項目介紹,將內(nèi)容用vrml制作成網(wǎng)頁游戲形式將會帶來驚喜。參考文獻(xiàn):1徐鹥. 網(wǎng)頁游戲開發(fā)技術(shù)的探討與研究j. 中國信息科技,2010,14:0462孫范榮,王鵬等. 基于vr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論