專利名稱:基于Flash的三維游戲場景管理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機動畫制作技術(shù),特別是涉及Flash游戲開發(fā)領(lǐng)域中支持可視化的直接應用于三維的Flash游戲開發(fā)場景生成系統(tǒng)。
背景技術(shù):
隨著網(wǎng)絡的普及,F(xiàn)lash憑借其優(yōu)秀的傳輸速度和和良好的跨平臺性很快成為了 Web應用及網(wǎng)頁游戲的主角。從二維應用向三維應用的轉(zhuǎn)型也是Flash未來發(fā)展的一個必然趨勢。對于實現(xiàn)Flash游戲的三維效果,一個良好的3D引擎是必要的。目前Adobe官方發(fā)布的Flash底層3D渲染引擎Molehill已經(jīng)可以進行Flash的三維效果開發(fā),第三方的引擎如Away3D等也可以良好地支持Molehill。
在Flash三維引擎的基礎上,目前廣泛采用的Flash游戲開發(fā)方式主要有兩種,一種是使用Adobe Flash進行圖形化開發(fā),但缺點是不能良好地支持最新的Flash三維引擎, 在引用Molehill類庫時無法調(diào)試;另一種是使用Adobe Flex進行開發(fā),其明顯的缺點是需要使用MXML語言編寫腳本才能完成基本的場景管理功能,實現(xiàn)起來較為復雜,而且沒有類似于Adobe Flash的圖形化操作界面,對于游戲的美工設計人員造成很大的不便,與可視化的游戲開發(fā)理念相違背。
鑒于現(xiàn)有開發(fā)方式的缺陷,一個圖形化的場景管理系統(tǒng)是填補這一技術(shù)空白的最佳選擇,場景管理系統(tǒng)作為三維引擎的基礎及核心,它是構(gòu)建三維場景、加載3D模型、光線跟蹤還是實現(xiàn)骨骼動畫與物理仿真,以及用戶交互接口的設計,都要求3D引擎提供一個良好的場景管理系統(tǒng)對各種復雜的元素進行統(tǒng)一管理。
本發(fā)明的基于Flash的三維游戲場景管理系統(tǒng),針對目前的Flash游戲開發(fā)現(xiàn)狀以及Flash三維化的趨勢,提供了一套具備圖形化操作界面的游戲場景管理系統(tǒng),能實現(xiàn)場景布局、環(huán)境設置等自動化的功能,同時支持用戶自主選擇外掛3D模型,并可以輸出正式的Flash字節(jié)流編碼文件。本系統(tǒng)可以將游戲開發(fā)人員從繁重的代碼編寫工作中解放出來,用更多的精力來關(guān)注游戲本身。。發(fā)明內(nèi)容
基于上述現(xiàn)有技術(shù),本發(fā)明提出了一種基于Flash的三維游戲場景管理系統(tǒng),通過可視化的設計,為三維Flash游戲的開發(fā)提供一個高效的開發(fā)系統(tǒng),方便地對游戲場景進行管理一套可視化的前端場景控制平臺,并提供穩(wěn)定的工程代碼生成系統(tǒng)及編譯系統(tǒng), 用以彌補現(xiàn)有三維Flash開發(fā)無法進行實時以及圖形化場景管理的缺陷。
本發(fā)明提出了一種基于Flash的三維游戲場景管理系統(tǒng),基于場景的構(gòu)建,添加攝像機、視點并加載資源配置文件,設置好環(huán)境光照,作為管理系統(tǒng)中默認的場景,實時進行三維動畫預覽及渲染;該系統(tǒng)包括以下模塊
MFC前端控制模塊,作為構(gòu)建于系統(tǒng)中的基于MFC框架的前臺控制界面,該模塊用于完成的操作接收使用者的操作命令輸入;內(nèi)嵌生成OGRE窗口,即通過載入OGRE資源文件,然后獲得子渲染系統(tǒng)并創(chuàng)建渲染窗口 ;以及,在MFC前端控制模塊發(fā)出指令的同時不斷更新后臺的Actior^cript腳本文件;
OGRE預覽渲染模塊,在前臺使用MFC框架內(nèi)嵌OGRE窗口,由OGRE引擎來完成實時渲染;
ActionScript腳本生成模塊,提供本系統(tǒng)后臺調(diào)用的預設Actior^cript腳本,;
MXMLC編譯模塊,接收從MFC控制臺發(fā)出編譯指令,啟動MXMLC的批處理文件,該批處理文件引入用于3D加速的Molehill引擎和必要的類庫,同時配置輸入輸出文件的路徑及其他編譯時參數(shù);MXMLC編譯器將Actior^cript腳本編譯成SWF字節(jié)碼并生成SWF文件;
開發(fā)人員在IE瀏覽頁中查看工程的最終效果。
所述操作命令包括場景的初始化,地面、天空、實體對象的添加和刪除,模型的位置調(diào)整、縮放及旋轉(zhuǎn),攝像機位置和角度的調(diào)整。
所述渲染包括以下處理進行材質(zhì)及紋理的設置,在MFC框架中建立OGRE實體,并將指定的材質(zhì)文件名稱傳入,以及OGRE引擎將自動載入關(guān)聯(lián)的紋理圖片。
所述系統(tǒng)中還創(chuàng)建一個臨時的腳本文件,將經(jīng)過腳本處理程序處理的代碼暫時存入臨時腳本文件;當代碼處理完成時再寫回正式的工程Actior^cript腳本文件。
所述Actior^cript腳本文件中的設定包括系統(tǒng)所要引用Flash類庫和Away3D ; 系統(tǒng)所要使用的Embed加載資源文件;聲明場景成員變量;加入場景初始化函數(shù),即添加視點、攝像機、光照、陰影模式;添加監(jiān)聽函數(shù),完成場景初始配置。
與現(xiàn)有技術(shù)相比,本發(fā)明將MFC框架、OGRE引擎以及MXMLC編譯器相結(jié)合,可以實時渲染場景并預覽效果,提供了一套可視化的游戲場景管理界面;同時也解決了 OGRE與 Away3D引擎間模型格式不同的問題,并且可以快速編譯,輸出源代碼或直接輸出SWF字節(jié)流文件,能夠?qū)崟r預覽和渲染動畫制作結(jié)果,大大簡化了三維Flash游戲的開發(fā)流程。
圖1為本發(fā)明的基于Flash的三維游戲場景管理系統(tǒng)功能模塊圖2為本發(fā)明的基于Flash的三維游戲場景管理系統(tǒng)操作示意圖3為本發(fā)明的具體實施方式
舉例示意圖。
具體實施方式
本發(fā)明的基于Flash的三維游戲場景管理系統(tǒng),該系統(tǒng)構(gòu)建場景樹的根節(jié)點,創(chuàng)建場景管理器后添加攝像機、視點并加載資源配置文件,設置好環(huán)境光照,作為管理系統(tǒng)中默認的場景,實時進行三維動畫預覽及渲染;具體包括以下模塊
接收使用者命令輸入的MFC前端控制模塊10、OGRE預覽渲染模塊20、 ActionScript腳本生成模塊30、MXMLC編譯模塊40,直至生成的SWF文件50,其中
MFC前端控制模塊,作為構(gòu)建于系統(tǒng)中的基于MFC框架的前臺控制界面,該模塊用于完成以下操作
接收使用者的操作命令輸入,具體的操作命令包括場景的初始化,地面、天空、實體對象的添加和刪除,模型的位置調(diào)整、縮放及旋轉(zhuǎn),攝像機位置和角度的調(diào)整等等;
內(nèi)嵌生成OGRE窗口,生成內(nèi)嵌的OGRE窗口的具體操作是載入OGRE資源文件,然后獲得子渲染系統(tǒng)并創(chuàng)建渲染窗口 ;
以及,在MFC前端控制模塊發(fā)出指令的同時不斷更新后臺的Actior^cript腳本文件;例如根據(jù)MFC前端控制模塊的指令調(diào)用相應的腳本處理程序如添加地面、天空、實體對象等;將經(jīng)過腳本處理程序處理的代碼暫時存入臨時腳本文件;當代碼處理完成時再寫回正式的工程Actior^cript腳本文件。
OGRE預覽渲染模塊,在前臺使用MFC框架內(nèi)嵌OGRE窗口,由OGRE引擎來完成實時渲染;
其中,該模塊的渲染包括以下處理進行材質(zhì)及紋理的設置,在MFC框架中建立 OGRE實體,并將指定的材質(zhì)文件名稱傳入,OGRE引擎將自動載入關(guān)聯(lián)的紋理圖片。
ActionScript腳本生成模塊,提供本系統(tǒng)后臺調(diào)用的預設Actior^cript腳本,該腳本中的設定包括系統(tǒng)所要引用Flash類庫和Away3D ;系統(tǒng)所要使用的Embed加載資源文件;聲明場景成員變量;加入場景初始化函數(shù),即添加視點、攝像機、光照、陰影模式;添加監(jiān)聽函數(shù),該監(jiān)聽函數(shù)包括監(jiān)聽幀事件和鍵盤操作,調(diào)用渲染函數(shù)并更新場景攝像機的位置,完成場景初始配置;
在本發(fā)明中,腳本處理程序并不直接修改工程本身的Actior^cript腳本文件,而是創(chuàng)建一個臨時的腳本文件,該腳本處理流程的好處是可以有效地避免腳本文件的讀寫沖突,增強了程序的穩(wěn)定性;
MXMLC編譯模塊,接收從MFC控制臺發(fā)出編譯指令,啟動MXMLC的批處理文件,該批處理文件引入用于3D加速的Molehill引擎和必要的類庫,同時配置輸入輸出文件的路徑及其他編譯時參數(shù);MXMLC編譯器將Actior^cript腳本編譯成SWF字節(jié)碼并生成SWF文件。
開發(fā)人員在IE瀏覽頁中查看工程的最終效果。
以下通過一具體實施方式
,具體描述本發(fā)明的技術(shù)方案
對于三維Flash游戲的開發(fā)人員,在構(gòu)建本發(fā)明的基于Flash的三維游戲場景管理系統(tǒng)的方式如下
在打開場景管理器后首先載入一個預先配置好的默認場景,此時的場景為空場旦足;
開發(fā)者根據(jù)需要添加地面和天空盒,天空盒,此后可以添加各種自定義的實體對象(MESH文件)。
對添加的各種場景元素做出修改或刪除等操作后,可以對特定的實體對象添加動作信息;
在整個開發(fā)過程中,攝像機的鏡頭可以自由調(diào)節(jié)包括遠近、俯仰角在內(nèi)的各種參數(shù);
當開發(fā)結(jié)束或進行到階段結(jié)束時選擇編譯指令,獲得與前臺顯示效果同步的 Flash字節(jié)碼文件即SWF文件;
在HTML代碼中嵌入該SWF文件并打開IE的GPU加速,即可在IE瀏覽器中看到最終的效果,若效果滿意則可獲得該SWF工程文件,若不滿意則可以重新編輯場景并再次編譯,直至工程文件的效果符合開發(fā)預期。
權(quán)利要求
1.一種基于Flash的三維游戲場景管理系統(tǒng),基于場景構(gòu)建、添加攝像機/視點并加載資源配置文件、設置好環(huán)境光照,作為管理系統(tǒng)中默認的場景,實時進行三維動畫預覽及渲染;該系統(tǒng)包括以下模塊MFC前端控制模塊,作為構(gòu)建于系統(tǒng)中的基于MFC框架的前臺控制界面,該模塊用于完成的操作接收使用者的操作命令輸入;內(nèi)嵌生成OGRE窗口,即通過載入OGRE資源文件, 然后獲得子渲染系統(tǒng)并創(chuàng)建渲染窗口 ;以及,在MFC前端控制模塊發(fā)出指令的同時不斷更新后臺的Actior^cript腳本文件;OGRE預覽渲染模塊,在前臺使用MFC框架內(nèi)嵌OGRE窗口,由OGRE引擎來完成實時渲染;ActionScript腳本生成模塊,提供本系統(tǒng)后臺調(diào)用的預設Actior^cript腳本,;MXMLC編譯模塊,接收從MFC控制臺發(fā)出編譯指令,啟動MXMLC的批處理文件,該批處理文件引入用于3D加速的Molehill引擎和必要的類庫,同時配置輸入輸出文件的路徑及其他編譯時參數(shù);MXMLC編譯器將ActioMcript腳本編譯成SWF字節(jié)碼并生成SWF文件;開發(fā)人員在IE瀏覽頁中查看工程的最終效果。
2.如權(quán)利要求1所述的基于Flash的三維游戲場景管理系統(tǒng),其特征在于,所述操作命令包括場景的初始化,地面、天空、實體對象的添加和刪除,模型的位置調(diào)整、縮放及旋轉(zhuǎn), 攝像機位置和角度的調(diào)整。
3.如權(quán)利要求1所述的基于Flash的三維游戲場景管理系統(tǒng),其特征在于,所述渲染包括以下處理進行材質(zhì)及紋理的設置,在MFC框架中建立OGRE實體,并將指定的材質(zhì)文件名稱傳入,以及OGRE引擎將自動載入關(guān)聯(lián)的紋理圖片。
4.如權(quán)利要求1所述的基于Flash的三維游戲場景管理系統(tǒng),其特征在于,所述系統(tǒng)中還創(chuàng)建一個臨時的腳本文件,將經(jīng)過腳本處理程序處理的代碼暫時存入臨時腳本文件;當代碼處理完成時再寫回正式的工程Actior^cript腳本文件。
5.如權(quán)利要求1所述的基于Flash的三維游戲場景管理系統(tǒng),其特征在于,所述 ActionScript腳本文件中的設定包括系統(tǒng)所要引用Flash類庫和Away3D ;系統(tǒng)所要使用的Embed加載資源文件;聲明場景成員變量;加入場景初始化函數(shù),即添加視點、攝像機、光照、陰影模式;添加監(jiān)聽函數(shù),該監(jiān)聽函數(shù)包括監(jiān)聽幀事件和鍵盤操作,調(diào)用渲染函數(shù)并更新場景攝像機的位,完成場景初始配置。
全文摘要
本發(fā)明公開了一種Flash的三維游戲場景管理系統(tǒng),基于場景構(gòu)建、添加攝像機/視點并加載資源配置文件、設置好環(huán)境光照,作為管理系統(tǒng)中默認的場景,實時進行三維動畫預覽及渲染;該系統(tǒng)包括以下模塊MFC前端控制模塊、OGRE預覽渲染模塊、ActionScript腳本生成模塊、MXMLC編譯模塊,開發(fā)人員在IE瀏覽頁中查看工程的最終效果;與現(xiàn)有技術(shù)相比,將MFC框架、OGRE引擎以及MXMLC編譯器相結(jié)合,可以實時渲染場景并預覽效果,提供了一套可視化的游戲場景管理界面;同時也解決了OGRE與Away3D引擎間模型格式不同的問題,并且可以快速編譯,能夠?qū)崟r預覽和渲染動畫制作結(jié)果,大大簡化了三維Flash游戲的開發(fā)流程。
文檔編號G06F9/44GK102520951SQ20111041563
公開日2012年6月27日 申請日期2011年12月13日 優(yōu)先權(quán)日2011年12月13日
發(fā)明者劉艷, 馬國寧 申請人:天津大學