專利名稱:一種在網(wǎng)絡(luò)游戲中實(shí)時(shí)改變虛擬角色外觀的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)游戲技術(shù)領(lǐng)域,尤其涉及一種在網(wǎng)絡(luò)游戲中實(shí)時(shí)改變虛擬 角色外觀的實(shí)現(xiàn)方法。
背景技術(shù):
網(wǎng)絡(luò)游戲是近年來興起的一種網(wǎng)絡(luò)服務(wù)新模式,大型多玩家在線角色扮演 類游戲是目前最流行的網(wǎng)絡(luò)游戲類型之一,玩家通過在一個(gè)虛幻的游戲世界中 扮演或控制特定角色或?qū)ο螅诳山换サ奶摂M環(huán)境中完成特定任務(wù)或?qū)崿F(xiàn)特定 目標(biāo)。在一個(gè)宏大的游戲設(shè)計(jì)背景下,角色設(shè)定常常是非常復(fù)雜的,而且大多 數(shù)角色扮演類游戲都允許玩家對(duì)虛擬角色形象進(jìn)行自定義配置,帶來的設(shè)計(jì)需 求是要能夠在游戲過程中實(shí)時(shí)的改變虛擬角色的外觀。目前的解決方法主要有以下幾種 一是通過紋理材質(zhì)的替換,二是通過模 型部件的替換,三是通過隱藏和顯示特定模型部件組合。第一種方法的優(yōu)點(diǎn)在 于不用改變多邊形模型數(shù)據(jù)就可以達(dá)到改變角色外觀的目的,缺點(diǎn)是對(duì)于角色 外形上諸如發(fā)型、臉型、胖瘦等的改變就無能為力,而且紋理材質(zhì)的替換一般 都需要整體替換,可能會(huì)導(dǎo)致紋理數(shù)據(jù)量過大。第二種方法可以滿足改變虛擬 角色造型的要求,但是由于虛擬角色通常需要在游戲中做各種動(dòng)作,特別是當(dāng) 動(dòng)畫模擬在獨(dú)立的線程中實(shí)現(xiàn)時(shí)常常會(huì)導(dǎo)致動(dòng)畫同步問題,表現(xiàn)為諸如替換模 型后的上半身和下半身的動(dòng)作不協(xié)調(diào)甚至怪異等現(xiàn)象。第三種方法所有的部件 都在同一模型文件中保存,共用同一套動(dòng)畫序列信息,所以可以有效避免動(dòng)畫 同步問題,其問題在于,這需要在進(jìn)行角色設(shè)計(jì)時(shí)充分考慮到所有的可能性, 但一般很難做到, 一旦需要調(diào)整角色設(shè)定則整個(gè)模型數(shù)據(jù)不得不重新制作導(dǎo) 出,進(jìn)而對(duì)生產(chǎn)效率帶來較大的影響。發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題是提供一種在網(wǎng)絡(luò)游戲中實(shí)時(shí)改變虛擬角色外 觀的實(shí)現(xiàn)方法。為解決上述技術(shù)問題,本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的。一種在網(wǎng)絡(luò)游戲中實(shí)時(shí)改變虛擬角色外觀的實(shí)現(xiàn)方法,包括步驟a:預(yù)先準(zhǔn)備虛擬角色改變外觀所需的紋理和多邊形資源數(shù)據(jù);b:為不同的虛擬角色外觀所需的資源數(shù)據(jù)配置信息創(chuàng)建數(shù)據(jù)庫;c:在游戲運(yùn)行過程中,通過讀取數(shù)據(jù)庫中的資源配置信息來獲得改變角 色外觀所需的紋理和多邊形數(shù)據(jù);并根據(jù)用戶請(qǐng)求信息,實(shí)時(shí)改變虛擬角色外 觀。其中,在所述步驟c中,若用戶改變外觀需要新的紋理數(shù)據(jù),則將獲取的 紋理數(shù)據(jù)讀入內(nèi)存,將其按照該紋理對(duì)應(yīng)部位混合到基礎(chǔ)紋理上對(duì)應(yīng)區(qū)域中, 合成新的紋理材質(zhì),供渲染使用。其中,在所述步驟c中,若用戶改變外觀需要新的多邊形數(shù)據(jù),則將獲取 的多邊形數(shù)據(jù)讀入內(nèi)存,將其按照替換部分對(duì)應(yīng)的角色部位,替換原部位的多 邊形頂點(diǎn)數(shù)據(jù),共用原有的骨骼信息和動(dòng)畫序列。其中,所述步驟c具體包括cl:用戶發(fā)起換裝請(qǐng)求;c2:客戶端在本地?cái)?shù)據(jù)表中進(jìn)行判斷是否能夠更換,如果是,則進(jìn)入步驟 c3 ;否則,直4妻返回;c3:將請(qǐng)求發(fā)送給服務(wù)器端進(jìn)行驗(yàn)證和處理,如果成功,則通知客戶端根 據(jù)讀取的紋理和多邊形數(shù)據(jù)進(jìn)行渲染。以上技術(shù)方案可以看出,本發(fā)明具有以下有益效果本發(fā)明在現(xiàn)有的技術(shù)方案基礎(chǔ)上,通過實(shí)時(shí)更改游戲中虛擬角色模型紋理 材質(zhì)和多邊形頂點(diǎn)數(shù)據(jù)來改變其外觀,可以有效的避免角色設(shè)計(jì)、紋理容量、 動(dòng)畫同步等問題,改善制作流程和實(shí)現(xiàn)效率,提高網(wǎng)絡(luò)游戲客戶端運(yùn)行效率。
附圖1為本發(fā)明方法的主流程圖;附圖2為本發(fā)明方法中的紋理布局示意圖;附圖3為本發(fā)明的應(yīng)用實(shí)例流程圖。
具體實(shí)施方式
本發(fā)明的核心思想預(yù)先獨(dú)立制作、保存不同角色^t型外觀所需的紋理材 質(zhì)和多邊形模型數(shù)據(jù),統(tǒng)一制作同一角色模型的骨骼及其動(dòng)作序列,并將虛擬 角色不同外觀所需的資源配置信息保存在本地?cái)?shù)據(jù)庫中,當(dāng)玩家在游戲過程中 進(jìn)行改變虛擬角色外觀的相關(guān)操作時(shí),系統(tǒng)將從數(shù)據(jù)庫中查詢對(duì)應(yīng)的紋理和多 邊形模型數(shù)據(jù)信息,通過直接修改內(nèi)存中的紋理和多邊形數(shù)據(jù)來實(shí)時(shí)改變虛擬 角色外觀。從而達(dá)到了虛擬角色可選外觀數(shù)據(jù)與默認(rèn)角色形象相分離的目的, 從而避免了初始角色設(shè)定的復(fù)雜度和制作難度,又因替代多邊形數(shù)據(jù)與原模型數(shù)據(jù)使用的是同一套骨骼,進(jìn)而避免了虛擬角色改變后的不同部件模型之間的 動(dòng)畫不同步問題,通過對(duì)虛擬角色所需的紋理材質(zhì)資源采用分塊制作、實(shí)時(shí)合成的方法,從而有效減少了紋理資源的使用量。為便于對(duì)本發(fā)明進(jìn)一步理解,現(xiàn)結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì) 描述。請(qǐng)參閱圖1所示本發(fā)明方法流程圖,包括步驟101:預(yù)先準(zhǔn)備虛擬角色改變外觀所需的紋理和多邊形資源數(shù)據(jù);所述紋理需要按照約定的規(guī)則進(jìn)行制作,整個(gè)虛擬角色的默認(rèn)基礎(chǔ)紋理保 存在一張單獨(dú)紋理文件中,紋理格式可以被游戲引擎正確讀取即可。然后對(duì)該 基礎(chǔ)文理進(jìn)行細(xì)分,每個(gè)矩形區(qū)域范圍對(duì)應(yīng)虛擬角色不同位置處的紋理,可以 分為頭部、軀干、上肢、下肢等,每個(gè)部分都有唯一的標(biāo)識(shí)ID,如圖2所示。 為可替換的角色部件制作的紋理,必須按照上述的細(xì)分MJ'J中對(duì)應(yīng)的肢體部分 尺寸相一致,且將該紋理中沒有圖像信息的部分設(shè)置透明通道。而且所有的可 替換部件模型紋理坐標(biāo)映射都以默認(rèn)基礎(chǔ)紋理為基礎(chǔ)。角色模型的制作也必須滿足下面的要求,即默認(rèn)角色模型整體造型完成后 進(jìn)行統(tǒng)一的骨骼蒙皮操作,對(duì)此套骨骼進(jìn)行角色動(dòng)作設(shè)定,然后將模型分為若 干部分單獨(dú)保存成能夠被游戲引擎讀取的模型格式和動(dòng)作序列。制作獨(dú)立的可 替換角色部件多邊形時(shí),保持骨骼系統(tǒng)不變,對(duì)該部分進(jìn)行單獨(dú)的造型,最后 導(dǎo)出備用,而不需要重新導(dǎo)出整個(gè)模型數(shù)據(jù)。步驟102:為不同的角色外觀所需的資源數(shù)據(jù)配置信息創(chuàng)建數(shù)據(jù)庫;為了能夠在游戲過程中,找到更改角色外觀所需的資源信息,還需要預(yù)先 將虛擬角色外觀所需的紋理材質(zhì)和多邊形模型數(shù)據(jù)按照一定的規(guī)則以表格的 形式的保存在數(shù)據(jù)庫中,關(guān)鍵詞為替換項(xiàng)目的名稱,數(shù)據(jù)項(xiàng)包括對(duì)應(yīng)的紋理和 多邊形模型資源部位及其名稱。步驟103:在游戲運(yùn)行過程中,通過讀取數(shù)據(jù)庫中的資源配置信息來獲得 改變角色外觀所需的紋理和多邊形數(shù)據(jù);具體流程參見圖3所示步驟301:玩家在游戲中發(fā)起換裝請(qǐng)求;步驟302:客戶端在本地?cái)?shù)據(jù)表中進(jìn)行判斷是否能夠更換,如果判斷失敗 直接返回,如果判斷成功,則進(jìn)入步驟303;步驟303:將請(qǐng)求發(fā)送給服務(wù)器端進(jìn)行驗(yàn)證和處理,如果服務(wù)器驗(yàn)證失敗 則直接返回錯(cuò)誤提示;如果成功,則進(jìn)入步驟304;步驟304:通知客戶端根據(jù)讀取的紋理和多邊形數(shù)據(jù)進(jìn)行渲染。步驟104:根據(jù)需要,實(shí)時(shí)合成新的紋理數(shù)據(jù)用以新的虛擬角色外觀渲染;如果改變外觀需要新的紋理數(shù)據(jù),則將在步驟103中獲取的紋理數(shù)據(jù)讀入 內(nèi)存,將其按照該紋理對(duì)應(yīng)部位混合到基礎(chǔ)紋理上對(duì)應(yīng)區(qū)域中,合成新的紋理 材質(zhì),供渲染使用。步驟105:根據(jù)需要,實(shí)時(shí)修改默認(rèn)角色模型的特定多邊形數(shù)據(jù)來渲染新 的虛擬角色外觀。如果改變外觀需要新的多邊形數(shù)據(jù),則將在步驟103中獲取的多邊形數(shù)據(jù)讀入內(nèi)存,將其按照替換部分對(duì)應(yīng)的角色部位,替換原部位的多邊形頂點(diǎn)數(shù)據(jù), 共用原有的骨膝信息和動(dòng)畫序列,從而避免了動(dòng)畫同步問題。以上對(duì)本發(fā)明所提供的一種在網(wǎng)絡(luò)游戲中實(shí)時(shí)改變虛擬角色外觀的實(shí)現(xiàn) 方法進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同 時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用 范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
id="icf0001" file="S2008100664011C00011.gif" wi="151" he="198" top= "33" left = "38" img-content="drawing" img-format="tif" orientation="portrait" inline="no"/>
全文摘要
本發(fā)明公開了一種在網(wǎng)絡(luò)游戲中實(shí)時(shí)改變虛擬角色外觀的實(shí)現(xiàn)方法,包括步驟a預(yù)先準(zhǔn)備虛擬角色改變外觀所需的紋理和多邊形資源數(shù)據(jù);b為不同的虛擬角色外觀所需的資源數(shù)據(jù)配置信息創(chuàng)建數(shù)據(jù)庫;c在游戲運(yùn)行過程中,通過讀取數(shù)據(jù)庫中的資源配置信息來獲得改變角色外觀所需的紋理和多邊形數(shù)據(jù);并根據(jù)用戶請(qǐng)求信息,實(shí)時(shí)改變虛擬角色外觀。本發(fā)明在現(xiàn)有的技術(shù)方案基礎(chǔ)上,通過實(shí)時(shí)更改游戲中虛擬角色模型紋理材質(zhì)和多邊形頂點(diǎn)數(shù)據(jù)來改變其外觀,可以有效的避免角色設(shè)計(jì)、紋理容量、動(dòng)畫同步等問題,改善制作流程和實(shí)現(xiàn)效率,提高網(wǎng)絡(luò)游戲客戶端運(yùn)行效率。
文檔編號(hào)G06F19/00GK101276475SQ20081006640
公開日2008年10月1日 申請(qǐng)日期2008年3月31日 優(yōu)先權(quán)日2008年3月31日
發(fā)明者曲 楊, 陳大煒 申請(qǐng)人:康佳集團(tuán)股份有限公司