專利名稱::一種基于gpu渲染游戲角色及角色換裝的方法和裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及游戲
技術(shù)領(lǐng)域:
,尤其是涉及一種基于GPU渲染游戲角色及角色換裝的方法和裝置。
背景技術(shù):
:網(wǎng)絡(luò)游戲提供了一個虛擬的世界,游戲玩家通過游戲來娛樂、休閑、交流和取得虛擬成就。網(wǎng)絡(luò)游戲中的角色扮演類游戲,即RPG類,在游戲過程中通過扮演某一角色、執(zhí)行任務(wù)、提升等級、得到寶物等實(shí)現(xiàn)娛樂等目的。GPU英文全稱GraphicProcessingUnit,中文翻譯為“圖形處理器”。在現(xiàn)代的計(jì)算機(jī)中(特別是家用系統(tǒng),游戲的發(fā)燒友)圖形的處理變得越來越重要,需要一個專門的圖形的核心處理器。GPU通用計(jì)算方面的標(biāo)準(zhǔn)目前有OPENCL、CUDA、ATISTREAM。其中,OPENCL(全稱OpenComputingLanguage,開放運(yùn)算語言)是第一個面向異構(gòu)系統(tǒng)通用目的并行編程的開放式、免費(fèi)標(biāo)準(zhǔn),也是一個統(tǒng)一的編程環(huán)境,便于軟件開發(fā)人員為高性能計(jì)算服務(wù)器、桌面計(jì)算系統(tǒng)、手持設(shè)備編寫高效輕便的代碼,而且廣泛適用于多核心處理器(CPU)、圖形處理器(GPU)、Cell類型架構(gòu)以及數(shù)字信號處理器(DSP)等其他并行處理器,在游戲、娛樂、科研、醫(yī)療等各種領(lǐng)域都有廣闊的發(fā)展前景。現(xiàn)有技術(shù)對游戲的角色換裝主要采取普通換裝方法,角色換裝時需要為每個動作創(chuàng)建圖片,用戶在進(jìn)行游戲時,操作繁瑣,需要用戶在靜態(tài)情況下實(shí)現(xiàn)換裝,渲染效果不理想,提高了玩家的執(zhí)行難度,降低了游戲的趣味性。現(xiàn)有的技術(shù)方案還沒有有效的解決途徑或解決裝置。
發(fā)明內(nèi)容本發(fā)明所解決的技術(shù)問題是提供一種基于GPU渲染游戲角色及角色換裝的方法和裝置,基于GPU通過骨骼動畫創(chuàng)建角色,再生成裝備的序列圖,利用序列圖配置文件取得相對應(yīng)的裝備圖片,用新的圖片替換角色的某個部位;本發(fā)明角色的每個部位都是獨(dú)立的;通過本方法或裝置,可以在不影響動作的情況下實(shí)現(xiàn)換裝,操作簡便快捷,提升了玩家關(guān)于游戲角色的視覺效果,優(yōu)化了渲染,增加了游戲的趣味性。為了解決上述技術(shù)問題,本發(fā)明提供了一種基于GPU渲染游戲角色及角色換裝的方法,包括:步驟一:客戶端提交角色換裝的請求給編輯服務(wù)器;步驟二:所述編輯服務(wù)器接收所述客戶端的所述請求,所述編輯服務(wù)器將所述請求傳輸給圖形處理器GPU;步驟三:所述圖形處理器GPU接收所述請求并讀取所述請求中JSFL文件的動畫數(shù)據(jù),所述圖形處理器GPU將所述動畫數(shù)據(jù)生成導(dǎo)出數(shù)據(jù),所述圖形處理器GPU再將所述導(dǎo)出數(shù)據(jù)進(jìn)行數(shù)據(jù)間補(bǔ)間,然后所述圖形處理器GPU將所述補(bǔ)間后的所述導(dǎo)出數(shù)據(jù)生成動畫并運(yùn)行所述動畫;步驟四:所述圖形處理器GPU將運(yùn)行的所述動畫通過顯示處理器顯示給所述客戶端。優(yōu)選地,所述圖形處理器GPU讀取所述請求中JSFL文件的動畫數(shù)據(jù)具體步驟包括:1.所述圖形處理器GPU讀取所述請求的XML數(shù)據(jù),找到所述請求的標(biāo)簽層,根據(jù)標(biāo)簽層檢索結(jié)果建立動畫數(shù)據(jù);i1.在檢索標(biāo)簽層建立動畫數(shù)據(jù)的過程中,同時建立起由多個圖層組成的骨架結(jié)構(gòu);ii1.根據(jù)每個骨骼的名稱來命名所述骨架結(jié)構(gòu)圖層中的圖層名稱,角色的每個部位都是獨(dú)立的;iv.在FLA庫中進(jìn)行查找,匹配對應(yīng)的所述圖層名稱,提取對應(yīng)的FLA庫中元件對所述骨架結(jié)構(gòu)的所述圖層進(jìn)行貼圖,并根據(jù)所述圖層名稱來命名貼圖名稱。優(yōu)選地,所述圖形處理器GPU生成導(dǎo)出數(shù)據(jù)步驟包括:1.將所有使用到的貼圖從所述FLA庫中提取出來并進(jìn)行排序,生成SWF數(shù)據(jù)或PNG數(shù)據(jù)的字節(jié)數(shù)組byteArray;I1.將讀取的所述請求的XML數(shù)據(jù)合并到所述SWF數(shù)據(jù)或所述PNG數(shù)據(jù)的字節(jié)數(shù)組byteArray中;II1.將所述SWF數(shù)據(jù)或所述PNG數(shù)據(jù)的字節(jié)數(shù)組byteArray導(dǎo)出。優(yōu)選地,所述圖形處理器GPU還包括工具面板。更加優(yōu)選地,所述工具面板包括:骨骼面板SkeletonPanel主界面、可擴(kuò)展標(biāo)記語言XML界面、紋理Texture界面、JSFL界面、工具Tools界面和關(guān)于About界面。更加優(yōu)選地,所述骨骼面板SkeletonPanel主界面包括:骨架Armature界面、動作Movement界面、骨骼Bone界面、紋理目錄TextureList界面、動作過渡時間TweenTime選項(xiàng)、多關(guān)鍵巾貞動畫播放時間AnimationTime選項(xiàng)、是否循環(huán)播放關(guān)鍵巾貞緩動方式Keyframeeasing選項(xiàng)、骨骼動畫播放周期縮放Boneanimationscale選項(xiàng)、骨骼動畫播放延時Boneanimationdelay選項(xiàng)、輸入Import選項(xiàng)、輸出Export選項(xiàng)、紋理分類Texturesort選項(xiàng)、紋理寬度Texturewidth選項(xiàng)和紋理填充Texturepadding選項(xiàng)。同時,本發(fā)明還提供了一種基于GPU渲染游戲角色及角色換裝的裝置,包括:客戶端、編輯服務(wù)器、圖形處理器GPU和顯示處理器;所述客戶端分別與所述編輯服務(wù)器和所述顯示處理器相連,所述圖形處理器GPU分別與所述編輯服務(wù)器和所述顯示處理器相連。優(yōu)選地,所述圖形處理器GPU還包括存儲裝置。更加優(yōu)選地,所述存儲裝置將所述客戶端提交的角色換裝的所述請求以所述補(bǔ)間后的所述導(dǎo)出數(shù)據(jù)形式進(jìn)行存儲,所述存儲裝置通過所述顯示處理器與所述客戶端相連。其中,所述FLA文件我們通常稱之為源文件,可以在Flash中打開,編輯和保存,所有的原始素材都保存在FLA文件中,由于FLA文件包含所需要的全部原始信息,所以體積較大,F(xiàn)LA文件最好是保留,方便下次直接編輯。其中,所述SWF(shockwaveflash)是Macromedia公司的動畫設(shè)計(jì)軟件Flash的專用格式,是一種支持矢量和點(diǎn)陣圖形的動畫文件格式,被廣泛應(yīng)用于網(wǎng)頁設(shè)計(jì),動畫制作等領(lǐng)域。SWF文件通常也被稱為Flash文件,SffF普及程度很高,現(xiàn)在超過99%的網(wǎng)絡(luò)使用者都可以讀取SWF檔案。其中,所述PNG是一種圖像文件存儲格式,可移植網(wǎng)絡(luò)圖形格式(PortableNetworkGraphicFormat,PNG)是一種位圖文件(bitmapfile)存儲格式。PNG用來存儲灰度圖像時,灰度圖像的深度可多到16位,存儲彩色圖像時,彩色圖像的深度可多到48位,并且還可存儲多到16位的α通道數(shù)據(jù)。PNG使用從LZ77派生的無損數(shù)據(jù)壓縮算法。一般應(yīng)用于JAVA程序中,PNG壓縮比高,生成文件容量小。其中,所述JSFL是Flash軟件中一種常用語言,是Java語言中的一種腳本Script語言。JavaScript是一種面向?qū)ο蟮膭討B(tài)類型的區(qū)分大小寫的客戶端腳本語言,主要目的是為了解決服務(wù)器端語言,為客戶提供更流暢的瀏覽效果。本發(fā)明與現(xiàn)有技術(shù)相比,具有如下有益效果:1.由于骨骼動畫只記錄每個部位的變換矩陣和進(jìn)行補(bǔ)間,所以與部位的圖片無關(guān),即可以在不影響動作的情況下實(shí)現(xiàn)換裝。2.渲染:由于骨骼動畫只需要記錄每個部位的變換矩陣和進(jìn)行補(bǔ)間,所以并不需要為每個動作創(chuàng)建圖片,大大減少了傳送給GPU的紋理量,從而優(yōu)化了渲染。圖1示例性地示出了基于GPU渲染游戲角色及角色換裝的方法流程圖;圖2示例性地示出了基于GPU渲染游戲角色及角色換裝的裝置結(jié)構(gòu)示意圖;圖3示例性地示出了讀取JSFL文件的動畫數(shù)據(jù)示意圖A;圖4示例性地示出了讀取JSFL文件的動畫數(shù)據(jù)示意圖B;圖5示例性地示出了導(dǎo)出數(shù)據(jù)示意圖;圖6示例性地示出了生成動畫示意圖A;圖7示例性地示出了生成動畫示意圖B;圖8示例性地示出了工具面板示意圖。具體實(shí)施例方式為了更好地理解本發(fā)明所解決的技術(shù)問題、所提供的技術(shù)方案,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。此處所描述的具體實(shí)施例僅用以解釋本發(fā)明的實(shí)施,但并不用于限定本發(fā)明。在優(yōu)選的實(shí)施例中,圖1示例性地示出了基于GPU渲染游戲角色及角色換裝的方法流程;S1:客戶端提交角色換裝的請求給編輯服務(wù)器,所述編輯服務(wù)器接收并傳送所述請求給圖形處理器GPU;S2:所述圖形處理器GPU接收所述請求;S2.1:如圖3圖4中所示,所述圖形處理器GPU讀取所述請求中JSFL文件的動畫數(shù)據(jù);S2.2:如圖5所示,所述圖形處理器GPU將所述動畫數(shù)據(jù)生成導(dǎo)出數(shù)據(jù);S2.3:所述圖形處理器GPU再將所述導(dǎo)出數(shù)據(jù)進(jìn)行數(shù)據(jù)間補(bǔ)間;S2.4:如圖6圖7中所示,所述圖形處理器GPU將所述補(bǔ)間后的所述導(dǎo)出數(shù)據(jù)生成動畫;S2.5:所述圖形處理器GPU運(yùn)行所述動畫;S3:將運(yùn)行的所述動畫通過顯示處理器顯示給所述客戶端;在更加優(yōu)選的實(shí)施例中,所述圖形處理器GPU讀取所述請求中JSFL文件的動畫數(shù)據(jù)具體步驟包括:S2.1.1:所述圖形處理器GPU讀取所述請求的XML數(shù)據(jù),找到所述請求的標(biāo)簽層,根據(jù)標(biāo)簽層檢索結(jié)果建立動畫數(shù)據(jù);S2.1.2:在檢索標(biāo)簽層建立動畫數(shù)據(jù)的過程中,同時建立起由多個圖層組成的骨架結(jié)構(gòu);S2.1.3:根據(jù)每個骨骼的名稱來命名所述骨架結(jié)構(gòu)圖層中的圖層名稱,角色的每個部位都是獨(dú)立的;S2.1.4:在FLA庫中進(jìn)行查找,匹配對應(yīng)的所述圖層名稱,提取對應(yīng)的FLA庫中元件對所述骨架結(jié)構(gòu)的所述圖層進(jìn)行貼圖,并根據(jù)所述圖層名稱來命名貼圖名稱。在更加優(yōu)選的實(shí)施例中,所述圖形處理器GPU生成導(dǎo)出數(shù)據(jù)步驟包括:S2.2.1:將所有使用到的貼圖從所述FLA庫中提取出來并進(jìn)行排序,生成SWF數(shù)據(jù)或PNG數(shù)據(jù)的字節(jié)數(shù)組byteArray;S2.2.2:將讀取的所述請求的XML數(shù)據(jù)合并到所述SWF數(shù)據(jù)或所述PNG數(shù)據(jù)的字節(jié)數(shù)組byteArray中;S2.2.3:將所述SWF數(shù)據(jù)或所述PNG數(shù)據(jù)的字節(jié)數(shù)組byteArray導(dǎo)出。在優(yōu)選的實(shí)施例中,所述圖形處理器GPU還包括工具面板。在更加優(yōu)選的實(shí)施例中,如圖8所示,所述工具面板包括:骨骼面板SkeletonPanel主界面、可擴(kuò)展標(biāo)記語言XML界面、紋理Texture界面、JSFL界面、工具Tools界面和關(guān)于About界面。所述骨骼面板SkeletonPanel主界面包括:骨架Armature界面、動作Movement界面、骨豁Bone界面、紋理目錄TextureList界面、動作過渡時間TweenTime選項(xiàng)、多關(guān)鍵巾貞動畫播放時間AnimationTime選項(xiàng)、是否循環(huán)播放關(guān)鍵巾貞緩動方式Keyframeeasing選項(xiàng)、骨骼動畫播放周期縮放Boneanimationscale選項(xiàng)、骨骼動畫播放延時Boneanimationdelay選項(xiàng)、輸入Import選項(xiàng)、輸出Export選項(xiàng)、紋理分類Texturesort選項(xiàng)、紋理寬度Texturewidth選項(xiàng)和紋理填充Texturepadding選項(xiàng)。在優(yōu)選的實(shí)施例中,圖2示例性地示出了基于GPU渲染游戲角色及角色換裝裝置的結(jié)構(gòu)示意圖,包括:客戶端1、編輯服務(wù)器2、圖形處理器GPU3和顯示處理器4;所述客戶端I分別與所述編輯服務(wù)器2和所述顯示處理器4相連,所述圖形處理器GPU3分別與所述編輯服務(wù)器2和所述顯示處理器4相連。在更加優(yōu)選的實(shí)施例中,所述圖形處理器GPU還包括存儲裝置5。在更加優(yōu)選的實(shí)施例中,所述存儲裝置5將所述客戶端I提交的角色換裝的所述請求以所述補(bǔ)間后的所述導(dǎo)出數(shù)據(jù)形式進(jìn)行存儲,所述存儲裝置5通過所述顯示處理器4與所述客戶端I相連。具體的實(shí)施例:用戶對角色部位及其裝備進(jìn)行選擇,提交角色換裝的請求,顯示正在處理中,請稍后,處理完成,顯示新圖片替換原角色的某個部位,點(diǎn)擊完成,換裝完成。用戶還可以提取已經(jīng)提交過的所述請求,重復(fù)角色換裝操作。以上通過具體的和優(yōu)選的實(shí)施例詳細(xì)的描述了本發(fā)明,但本領(lǐng)域技術(shù)人員應(yīng)該明白,本發(fā)明并不局限于以上所述實(shí)施例,凡在本發(fā)明的基本原理之內(nèi),所作的任何修改、組合及等同替換等,均包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1.一種基于GPU渲染游戲角色及角色換裝的方法,其特征在于,包括:步驟一:客戶端提交角色換裝的請求給編輯服務(wù)器;步驟二:所述編輯服務(wù)器接收所述客戶端的所述請求,所述編輯服務(wù)器將所述請求傳輸給圖形處理器GPU;步驟三:所述圖形處理器GPU接收所述請求并讀取所述請求中JSFL文件的動畫數(shù)據(jù),所述圖形處理器GPU將所述動畫數(shù)據(jù)生成導(dǎo)出數(shù)據(jù),所述圖形處理器GPU再將所述導(dǎo)出數(shù)據(jù)進(jìn)行數(shù)據(jù)間補(bǔ)間,然后所述圖形處理器GPU將所述補(bǔ)間后的所述導(dǎo)出數(shù)據(jù)生成動畫并運(yùn)行所述動畫;步驟四:所述圖形處理器GPU將運(yùn)行的所述動畫通過顯示處理器顯示給所述客戶端。2.根據(jù)權(quán)利要求1所述的基于GPU渲染游戲角色及角色換裝的方法,其特征在于,所述圖形處理器GPU讀取所述請求中JSFL文件的動畫數(shù)據(jù)具體步驟包括:1.所述圖形處理器GPU讀取所述請求的XML數(shù)據(jù),找到所述請求的標(biāo)簽層,根據(jù)標(biāo)簽層檢索結(jié)果建立動畫數(shù)據(jù);.在檢索標(biāo)簽層建立動畫數(shù)據(jù)的過程中,同時建立起由多個圖層組成的骨架結(jié)構(gòu);ii1.根據(jù)每個骨骼的名稱來命名所述骨架結(jié)構(gòu)圖層中的圖層名稱,角色的每個部位都是獨(dú)立的;iv.在FLA庫中進(jìn)行查找,匹配對應(yīng)的所述圖層名稱,提取對應(yīng)的FLA庫中元件對所述骨架結(jié)構(gòu)的所述圖層進(jìn)行貼圖,并根據(jù)所述圖層名稱來命名貼圖名稱。3.根據(jù)權(quán)利要求1所述的基于GPU渲染游戲角色及角色換裝的方法,其特征在于,所述圖形處理器GPU生成導(dǎo)出數(shù)據(jù)步驟包括:1.將所有使用到的貼圖從所述FLA庫中提取出來并進(jìn)行排序,生成SWF數(shù)據(jù)或PNG數(shù)據(jù)的字節(jié)數(shù)組byteArray;I1.將讀取的所述請求的XML數(shù)據(jù)合并到所述SWF數(shù)據(jù)或所述PNG數(shù)據(jù)的字節(jié)數(shù)組byteArray中;II1.將所述SWF數(shù)據(jù)或所述PNG數(shù)據(jù)的字節(jié)數(shù)組byteArray導(dǎo)出。4.根據(jù)權(quán)利要求1所述的基于GPU渲染游戲角色及角色換裝的方法,其特征在于,所述圖形處理器GPU還包括工具面板。5.根據(jù)權(quán)利要求4所述的基于GPU渲染游戲角色及角色換裝的方法,其特征在于,所述工具面板包括:骨骼面板SkeletonPanel主界面、可擴(kuò)展標(biāo)記語言XML界面、紋理Texture界面、JSFL界面、工具Tools界面和關(guān)于About界面。6.根據(jù)權(quán)利要求5所述的基于GPU渲染游戲角色及角色換裝的方法,其特征在于,所述骨豁面板SkeletonPanel主界面包括:骨架Armature界面、動作Movement界面、骨豁Bone界面、紋理目錄TextureList界面、動作過渡時間TweenTime選項(xiàng)、多關(guān)鍵巾貞動畫播放時間AnimationTime選項(xiàng)、是否循環(huán)播放關(guān)鍵巾貞緩動方式Keyframeeasing選項(xiàng)、骨骼動畫播放周期縮放Boneanimationscale選項(xiàng)、骨豁動畫播放延時Boneanimationdelay選項(xiàng)、輸入Import選項(xiàng)、輸出Export選項(xiàng)、紋理分類Texturesort選項(xiàng)、紋理寬度Texturewidth選項(xiàng)和紋理填充Texturepadding選項(xiàng)。7.一種基于GPU渲染游戲角色及角色換裝的裝置,其特征在于,包括:客戶端、編輯服務(wù)器、圖形處理器GPU和顯示處理器;所述客戶端分別與所述編輯服務(wù)器和所述顯示處理器相連,所述圖形處理器GPU分別與所述編輯服務(wù)器和所述顯示處理器相連。8.根據(jù)權(quán)利要求7所述的基于GPU渲染游戲角色及角色換裝的裝置,其特征在于,所述圖形處理器GPU還包括存儲裝置。9.根據(jù)權(quán)利要求8所述的基于GPU渲染游戲角色及角色換裝的裝置,其特征在于,所述存儲裝置還直接與所述客戶端相連。全文摘要本發(fā)明涉及游戲
技術(shù)領(lǐng)域:
,具體公開了一種基于GPU渲染游戲角色及角色換裝的方法和裝置;包括客戶端提交角色換裝的請求給編輯服務(wù)器;所述編輯服務(wù)器接收所述客戶端的所述請求,所述編輯服務(wù)器將所述請求傳輸給圖形處理器GPU;圖形處理器GPU讀取所述請求中JSFL文件的動畫數(shù)據(jù),所述圖形處理器GPU將所述動畫數(shù)據(jù)生成導(dǎo)出數(shù)據(jù),再將所述導(dǎo)出數(shù)據(jù)進(jìn)行數(shù)據(jù)間補(bǔ)間,然后將所述補(bǔ)間后的所述導(dǎo)出數(shù)據(jù)生成動畫并運(yùn)行所述動畫;將運(yùn)行的所述動畫通過顯示處理器顯示給所述客戶端。所述圖形處理器GPU還包括工具面板。通過本發(fā)明用戶可以在不影響動作的情況下實(shí)現(xiàn)換裝,操作簡便快捷,優(yōu)化了渲染,增加了游戲的趣味性。文檔編號G06T13/00GK103198505SQ20131014140公開日2013年7月10日申請日期2013年4月23日優(yōu)先權(quán)日2013年4月23日發(fā)明者林少峰申請人:四三九九網(wǎng)絡(luò)股份有限公司