一種游戲角色換裝方法、裝置及終端的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及游戲領(lǐng)域,尤其涉及一種游戲角色換裝方法、裝置及終端。
【背景技術(shù)】
[0002]2D游戲中的動畫,是基于序列幀圖片的連續(xù)翻動來實現(xiàn)的。這種表現(xiàn)方法由于畫面細(xì)致程度與運行時效率相關(guān)性較小,因而畫面表現(xiàn)可以非常細(xì)致,但本身也存在著硬盤空間和內(nèi)存占用相對較大的問題。
[0003]對于一個持續(xù)運營的網(wǎng)絡(luò)游戲來說,換裝系統(tǒng)應(yīng)該是個可持續(xù)的賣點。為了表現(xiàn)一個時裝效果,一般會分成幾個可變的圖層,比如:本身躱體,衣服,頭發(fā)和飾品,翅膀或披風(fēng),武器等。整個效果可以由這幾個分部位的層疊組合展現(xiàn)。但是上層圖會遮住下層圖,而上層圖也會有部分被下層圖遮擋,傳統(tǒng)的換裝方法在實現(xiàn)換裝時,需要上層圖針對下層圖片鏤空一上層圖被下層圖遮擋的地方也要進(jìn)行挖空,即上層圖片的展現(xiàn),依賴所有下層圖片對其產(chǎn)生的鏤空效果。因而如果在2D游戲中引入換裝系統(tǒng)的話,每增加一套裝備,就要重新進(jìn)行鏤空設(shè)計并增加鏤空后的資源包,這種情況下所需的圖片資源量,會隨著裝備套數(shù)成倍數(shù)增加,造成游戲資源包急劇膨脹,所以很多2D游戲即使有換裝系統(tǒng),也不會提供太多的換裝種類,無法滿足玩家的需求。
【發(fā)明內(nèi)容】
[0004]針對上述問題,本發(fā)明的目的在于提供一種游戲角色換裝方法、裝置及終端,可減少換裝所需的資源的數(shù)據(jù)量,降低美術(shù)制作的工作量,節(jié)約游戲開發(fā)時間。
[0005]第一方面,提供一種游戲角色換裝方法,包括如下步驟:
[0006]接收換裝指令,所述換裝指令包括待換裝角色的標(biāo)識及至少一個換裝部位的標(biāo)識;
[0007]根據(jù)所述待換裝角色的標(biāo)識,獲取關(guān)聯(lián)的第一數(shù)據(jù)包;其中,所述第一數(shù)據(jù)包包括構(gòu)成所述待換裝角色的至少一幀圖層及與每幀圖層對應(yīng)的深度信息圖,所述深度信息圖記錄了對應(yīng)的圖層上的每個像素點的深度值;
[0008]根據(jù)所述至少一個換裝部位的標(biāo)識,獲取至少一個關(guān)聯(lián)的第二數(shù)據(jù)包;其中,每個所述第二數(shù)據(jù)包包括一幀換裝部位的圖層及與所述圖層對應(yīng)的深度信息圖;
[0009]根據(jù)所述第一數(shù)據(jù)包內(nèi)的至少一幀圖層與所述至少一個第二數(shù)據(jù)包內(nèi)的圖層上的像素點的深度值的大小關(guān)系,確定每幀圖層上需要顯示的像素點,獲得換裝后的角色的圖片;及
[0010]顯示所述換裝后的角色的圖片。
[0011]在第一種實現(xiàn)方式,所述待換裝角色的標(biāo)識包括所述待換裝角色當(dāng)前造型的標(biāo)識、當(dāng)前動作的標(biāo)識及當(dāng)前朝向的標(biāo)識。
[0012]在第二種實現(xiàn)方式,所述根據(jù)所述待換裝角色的標(biāo)識,獲取關(guān)聯(lián)的第一數(shù)據(jù)包,具體包括:
[0013]根據(jù)所述待換裝角色的標(biāo)識,查詢本地資源數(shù)據(jù)庫,獲取關(guān)聯(lián)的第一數(shù)據(jù)包;
[0014]其中,所述本地資源數(shù)據(jù)庫內(nèi)包括了至少一個第一數(shù)據(jù)包,每個第一數(shù)據(jù)包與一個待換裝角色的標(biāo)識關(guān)聯(lián)。
[0015]在第三種實現(xiàn)方式,所述根據(jù)所述待換裝角色的標(biāo)識,獲取關(guān)聯(lián)的第一數(shù)據(jù)包,具體包括:
[0016]向資源服務(wù)器發(fā)送所述待換裝角色的標(biāo)識,以使所述資源服務(wù)器根據(jù)所述待換裝角色的標(biāo)識查詢關(guān)聯(lián)的第一數(shù)據(jù)包;其中,所述資源服務(wù)器上配置有至少一個第一數(shù)據(jù)包,每個第一數(shù)據(jù)包與一個待換裝角色的標(biāo)識關(guān)聯(lián);及
[0017]接收所述資源服務(wù)器查詢后返回的第一數(shù)據(jù)包。
[0018]在第四種實現(xiàn)方式,所述根據(jù)所述至少一個換裝部位的標(biāo)識,獲取至少一個關(guān)聯(lián)的第二數(shù)據(jù)包,具體包括:
[0019]根據(jù)所述至少一個換裝部位的標(biāo)識,查詢本地資源數(shù)據(jù)庫,獲得至少一個關(guān)聯(lián)的第二數(shù)據(jù)包;
[0020]其中,所述本地資源數(shù)據(jù)庫內(nèi)包括了至少一個第二數(shù)據(jù)包,每個第二數(shù)據(jù)包與一個換裝部位的標(biāo)識關(guān)聯(lián)。
[0021]在第五種實現(xiàn)方式,所述根據(jù)所述至少一個換裝部位的標(biāo)識,獲取至少一個關(guān)聯(lián)的第二數(shù)據(jù)包,具體包括:
[0022]向資源服務(wù)器發(fā)送所述至少一個換裝部位的標(biāo)識,以使所述資源服務(wù)器根據(jù)所述換裝部位的標(biāo)識查詢關(guān)聯(lián)的第二數(shù)據(jù)包;其中,所述資源服務(wù)器上配置有至少一個第二數(shù)據(jù)包,每個第二數(shù)據(jù)包與一個換裝部位的標(biāo)識關(guān)聯(lián);及
[0023]接收所述資源服務(wù)器查詢后返回的至少一個第二數(shù)據(jù)包。
[0024]在第六種實現(xiàn)方式,
[0025]所述根據(jù)所述第一數(shù)據(jù)包內(nèi)的至少一幀圖層與所述至少一個第二數(shù)據(jù)包內(nèi)的圖層上的像素點的深度值的大小關(guān)系,確定每幀圖層上需要顯示的像素點,獲得換裝后的角色的圖片,具體包括:
[0026]將所述第一數(shù)據(jù)包內(nèi)的至少一幀圖層與所述至少一個第二數(shù)據(jù)包內(nèi)的圖層進(jìn)行組合,使每幀圖層上的同一坐標(biāo)的像素點重合;
[0027]比較所有圖層的同一坐標(biāo)的像素點的深度值的大小關(guān)系,并將深度值最小的像素點確定為需要顯示的像素點,其他像素點確定為不需要顯示的像素點;及
[0028]對每幀圖層上不需要顯示的像素點進(jìn)行透明處理,獲得換裝后的角色的圖片。
[0029]在第七種實現(xiàn)方式,所述根據(jù)所述第一數(shù)據(jù)包內(nèi)的至少一幀圖層與所述至少一個第二數(shù)據(jù)包內(nèi)的圖層上的像素點的深度值的大小關(guān)系,確定每幀圖層上需要顯示的像素點,獲得換裝后的角色的圖片,具體包括:
[0030]獲取所述第一數(shù)據(jù)包內(nèi)的至少一幀圖層與所述至少一個第二數(shù)據(jù)包內(nèi)的圖層上的每一個像素點的深度值;
[0031]比較所有圖層的同一坐標(biāo)的像素點的深度值的大小關(guān)系,并將深度值最小的像素點確定為需要顯示的像素點;及
[0032]將所述需要顯示的像素點繪制在一幀新的圖片上,獲得換裝后的角色的圖片。
[0033]結(jié)合第一方面的第六種實現(xiàn)方式或第七種實現(xiàn)方式,在第八種實現(xiàn)方式,在所述確定所有需要顯示的像素點,獲得換裝后的角色的圖片之后,還包括:
[0034]存儲所述換裝后的角色的圖片。
[0035]第二方面,提供一種游戲角色換裝方法,包括如下步驟:
[0036]接收換裝指令,所述換裝指令包括待換裝角色的標(biāo)識及至少一個換裝部位的標(biāo)識;
[0037]根據(jù)所述待換裝角色的標(biāo)識,獲取關(guān)聯(lián)的第一數(shù)據(jù)包;其中,所述第一數(shù)據(jù)包包括用于展現(xiàn)所述待換裝角色姿態(tài)連續(xù)變化的多幀圖片,每幀圖片包括構(gòu)成所述待換裝角色的當(dāng)前姿態(tài)的至少一幀圖層及每幀圖層的深度信息圖,所述深度信息圖記錄了對應(yīng)的圖層上的每個像素點的深度值;
[0038]根據(jù)所述至少一個換裝部位的標(biāo)識,獲取至少一個關(guān)聯(lián)的第二數(shù)據(jù)包;其中,所述第二數(shù)據(jù)包包括用于展現(xiàn)一個所述換裝部位形態(tài)連續(xù)變化的多幀圖片;每幀圖片包括構(gòu)成所述換裝部位的當(dāng)前形態(tài)的至少一幀圖層及與每幀圖層對應(yīng)的深度信息圖,且所述第二數(shù)據(jù)包的每幀圖片與所述第一數(shù)據(jù)包的每幀圖片一一對應(yīng);
[0039]根據(jù)時間的行進(jìn),逐一根據(jù)所述第一數(shù)據(jù)包內(nèi)的至少一幀圖層與所述至少一個第二數(shù)據(jù)包內(nèi)的圖層上的像素點的深度值的大小關(guān)系,確定每幀圖層上需要顯示的像素點,獲得換裝后的角色的每一幀圖片;
[0040]連續(xù)顯示所述換裝后的角色的每一幀圖片。
[0041]在第一種實現(xiàn)方式,所述待換裝角色的標(biāo)識包括所述待換裝角色當(dāng)前造型的標(biāo)識、當(dāng)前動作的標(biāo)識及當(dāng)前朝向的標(biāo)識。
[0042]在第二種實現(xiàn)方式,所述根據(jù)所述待換裝角色的標(biāo)識,讀取對應(yīng)的第一數(shù)據(jù)包,具體包括:
[0043]根據(jù)所述待換裝角色的標(biāo)識,查詢本地資源數(shù)據(jù)庫,獲得關(guān)聯(lián)的第一數(shù)據(jù)包;
[0044]其中,所述本地資源數(shù)據(jù)庫內(nèi)包括了至少一個第一數(shù)據(jù)包,每個第一數(shù)據(jù)包與一個待換裝角色的標(biāo)識關(guān)聯(lián)。
[0045]在第三種實現(xiàn)方式,所述根據(jù)所述待換裝角色的標(biāo)識,讀取對應(yīng)的第一數(shù)據(jù)包,具體包括:
[0046]向資源服務(wù)器發(fā)送所述待換裝角色的標(biāo)識,以使所述資源服務(wù)器根據(jù)所述待換裝角色的標(biāo)識查詢關(guān)聯(lián)的第一數(shù)據(jù)包;其中,所述資源服務(wù)器上配置有至少一個第一數(shù)據(jù)包,每個第一數(shù)據(jù)包與一個待換裝角色的標(biāo)識關(guān)聯(lián);及
[0047]接收所述資源服務(wù)器查詢后返回的第一數(shù)據(jù)包。
[0048]在第四種實現(xiàn)方式,所述根據(jù)所述至少一個換裝部位的標(biāo)識,獲取至少一個關(guān)聯(lián)的第二數(shù)據(jù)包,具體包括:
[0049]根據(jù)所述換裝部位的標(biāo)識,查詢本地資源數(shù)據(jù)庫,獲得關(guān)聯(lián)的第二數(shù)據(jù)包;
[0050]其中,所述本地資源數(shù)據(jù)庫內(nèi)包括了至少一個第二數(shù)據(jù)包,每個第二數(shù)據(jù)包與一個換裝部位的標(biāo)識關(guān)聯(lián)。
[0051]在第五種實現(xiàn)方式,所述根據(jù)所述至少一個換裝部位的標(biāo)識,獲取至少一個關(guān)聯(lián)的第二數(shù)據(jù)包,具體包括:
[0052]向資源服務(wù)器發(fā)送所述換裝部位的標(biāo)識,以使所述資源服務(wù)器根據(jù)所述換裝部位的標(biāo)識查詢關(guān)聯(lián)的第二數(shù)據(jù)包;其中,所述資源服務(wù)器上配置有至少一個第二數(shù)據(jù)包,每個第二數(shù)據(jù)包與一個換裝部位的標(biāo)識關(guān)聯(lián);及
[0053]接收所述資源服務(wù)器查詢后返回的第二數(shù)據(jù)包。
[0054]在第六種實現(xiàn)方式
[0055]所述根據(jù)時間的行進(jìn),逐一根據(jù)所述第一數(shù)據(jù)包內(nèi)的至少一幀圖層與所述至少一個第二數(shù)據(jù)包內(nèi)的圖層上的像素點的深度值的大小關(guān)系,確定每幀圖層上需要顯示的像素點,得到換裝后的角色的每一幀圖片,具體包括:
[0056]根據(jù)時間的行進(jìn),逐一將所述第一數(shù)據(jù)包內(nèi)的每一幀圖片的圖層與所述至少一個第二數(shù)據(jù)包內(nèi)對應(yīng)的一個圖片的圖層進(jìn)行組合,使每幀圖層上的同一坐標(biāo)的像素點重合;
[0057]比較所有圖層上位于同一坐標(biāo)的像素點的深度值的大小關(guān)系,并確定深度值最小的像素點為需要顯示的像素點,其他像素點確定為不需要顯示的像素點;及
[0058]對每幀圖層上不需要顯示的像素點進(jìn)行透明處理,獲得換裝后的角色的每一幀圖片。
[0059]在第七種實現(xiàn)方式,所述根據(jù)時間的行進(jìn),逐一根據(jù)所述第一數(shù)據(jù)包內(nèi)的至少一幀圖層與所述至少一個第二數(shù)據(jù)包內(nèi)的圖層上的像素點的深度值的大小關(guān)系,確定每幀圖層上需要顯示的像素點,具體包括:
[0060]根據(jù)時間的行進(jìn),逐一獲取所述第一數(shù)據(jù)包內(nèi)的至少一幀圖層與所述至少一個第二數(shù)據(jù)包內(nèi)的圖層上的每一個像素點的深度值;
[0061]比較所有圖層上位于同一坐標(biāo)的像素點的深度值的大小關(guān)系,并確定深度值最小的像素點為需要顯示的像素點;及
[0062]將所述需要顯示的像素點繪制在一幀新的圖片上,獲得換裝后的角色的每一幀圖片。
[0063]結(jié)合第二方面的第六種實現(xiàn)方式或第七種實現(xiàn)方式,在第八種實現(xiàn)方式,在確定所有需要顯示的像素點,得到換裝后的角色的每一幀圖片之后,還包括:
[0064]存儲所述換裝后的角色的每一幀圖片。
[0065]第三方面,提供一種游戲角色換裝裝置,包括指令接收單元、第一獲取單元、第二獲取單元、圖片處理單元及顯示單元,其中:
[0066]所述指令接收單元,用于接收換裝指令,所述換裝指令包括待換裝角色的標(biāo)識及至少一個換裝部位的標(biāo)識;
[0067]所述第一獲取單元,用于根據(jù)所述待換裝角色的標(biāo)識,獲取關(guān)聯(lián)的第一數(shù)據(jù)包;其中,所述第一數(shù)據(jù)包包括構(gòu)成所述待換裝角色的至少一幀圖層及與每幀圖層對應(yīng)的深度信息圖,所述深度信息圖記錄了對應(yīng)的圖層上的每個像素點的深度值;
[0068]所述第二獲取單元,用于根據(jù)所述至少一個換裝部位的標(biāo)識,獲取至少一個關(guān)聯(lián)的第二數(shù)據(jù)包;其中,每個所述第二數(shù)據(jù)包包括一幀換裝部位的圖層及與所述圖層對應(yīng)的深度?目息圖;
[0069]所述圖片處理單元,用于根據(jù)所述第一數(shù)據(jù)包內(nèi)的至少一幀圖層與所述至少一個第二數(shù)據(jù)包內(nèi)的圖層上的像素點的深度值的大小關(guān)系,確定每幀圖層上需要顯示的像素點,獲得換裝后的角色的圖片;及
[0070]所述顯示單元,用于顯示所述換裝后的角色的圖片。
[0071]在第一種實現(xiàn)方式,所述待換裝角色的標(biāo)識包括所述待換裝角色當(dāng)前造型的標(biāo)識、當(dāng)前動作的標(biāo)識及當(dāng)前朝向的標(biāo)識。
[0072]在第二種實現(xiàn)方式,所述第一獲取單元具體用于,根據(jù)所述待換裝角色的標(biāo)識,查詢本地資源數(shù)據(jù)庫,獲取關(guān)聯(lián)的第一數(shù)據(jù)包;
[0073]其中,所述本地資源數(shù)據(jù)庫內(nèi)包括了至少一個第一數(shù)據(jù)包,每個第一數(shù)據(jù)包與一個待換裝角色的標(biāo)識關(guān)聯(lián)。
[0074]在第三種實現(xiàn)方式,所述第一獲取單元包括第一發(fā)送單元及第一接收單元,其中:
[0075]所述第一發(fā)送單元,用于向資源服務(wù)器發(fā)送所述待換裝角色的標(biāo)識,以使所述資源服務(wù)器根據(jù)所述待換裝角色的標(biāo)識查詢關(guān)聯(lián)的第一數(shù)據(jù)包;其中,所述資源服務(wù)器上配置有至少一個第一數(shù)據(jù)包,每個第一數(shù)據(jù)包與一個待換裝角色的標(biāo)識關(guān)聯(lián);及
[0076]所述第一接收單元,用于接收所述資源服務(wù)器查詢后返回的第一數(shù)據(jù)包。
[0077]在第四種實現(xiàn)方式,所述第二獲取單元具體用于,根據(jù)所述至少一個換裝部位的標(biāo)識,查詢本地資源數(shù)據(jù)庫,獲得至少一個關(guān)聯(lián)的第二數(shù)據(jù)包;
[0078]其中,所述本地資源數(shù)據(jù)庫內(nèi)包括了至少一個第二數(shù)據(jù)包,每個第二數(shù)據(jù)包與一個換裝部位的標(biāo)識關(guān)聯(lián)。
[0079]在第五種實現(xiàn)方式,所述第二獲取單元包括第二發(fā)送單元及第二接收單元,其中:
[00