專利名稱:網(wǎng)絡(luò)虛擬角色合成系統(tǒng)及方法
網(wǎng)絡(luò)虛擬角色合成系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)動畫技術(shù)領(lǐng)域,更具體地說,涉及一種網(wǎng)絡(luò)虛擬角色合成 系統(tǒng)及方法。
背景技術(shù):
在互聯(lián)網(wǎng)中,Avatar是網(wǎng)絡(luò)虛擬角色的代名詞,網(wǎng)絡(luò)虛擬角色即網(wǎng)絡(luò)用戶在 以圖像為主的虛擬世界中的虛擬形象。這類虛擬形象通常為卡通形象,可出現(xiàn) 在論壇、聊天室或網(wǎng)絡(luò)游戲中。用戶可根據(jù)自己的喜好,更換虛擬角色的造型, 如發(fā)型、服飾、表情、場景等。
要實現(xiàn)虛擬角色的動畫效果,需要對虛擬角色的所有裝備位進行合成處理。 所謂裝備位,是指虛擬角色上的某一個部位,例如頭、手、腳等。在對所有裝 備位進行合成處理前,需獲取虛擬角色的裝備位資源。目前的合成算法采用逐 幀逐個裝備位進行合成或按照方向逐個裝備位進行合成。然而這些方法調(diào)用函 數(shù)次數(shù)較多,合成虛擬角色的效率低下,從而影響虛擬角色動作的平滑性,使 畫面表現(xiàn)為卡或者停頓,影響了用戶的體驗需求。
發(fā)明內(nèi)容
基于此,有必要提供一種能提高合成效率的網(wǎng)絡(luò)虛擬角色合成系統(tǒng)。 此外,還有必要提供一種能提高合成效率的網(wǎng)絡(luò)虛擬角色合成方法。 所述網(wǎng)絡(luò)虛擬角色合成系統(tǒng)包括資源管理器,用于提供虛擬角色的裝備
位資源;裝備位加載器,與資源管理器相連,加載虛擬角色的裝備位資源;合
成器,與裝備位加栽器相連,逐個方向合成虛擬角色的裝備位,并將合成結(jié)果
分割為幀數(shù)據(jù);呈現(xiàn)器,與合成器相連,用于播放幀數(shù)據(jù)。
該合成器還可用于獲取選定方向上的裝備位,根據(jù)選定方向調(diào)整裝備位的
層級值,并根據(jù)裝備位的層級值將選定方向上的裝備位進行疊加,以及在選定
方向上合成疊加后的裝備位。
該系統(tǒng)還可包括合成隊列管理器,與合成器相連,將虛擬角色的合成請
求加入合成隊列中,當(dāng)判斷合成器空閑時,將合成隊列中位于隊列頭部的合成請求送入合成器。
該系統(tǒng)還可包括合成角色緩存器,與合成器及呈現(xiàn)器相連,用于緩存合 成結(jié)果及幀數(shù)據(jù)。
另外,上述裝備位資源采用位圖實現(xiàn),同一方向上的多幀裝備位圖像按次 序地排列在位圖中的同 一行上。
所述網(wǎng)絡(luò)虛擬角色合成方法包括加載虛擬角色的裝備位資源;逐個方向 合成虛擬角色的裝備位,將合成結(jié)果分割為幀數(shù)據(jù);播放幀數(shù)據(jù)。
該逐個方向合成虛擬角色的所有裝備位的步驟具體可以是獲取選定方向 上的裝備位;根據(jù)選定方向調(diào)整裝備位的層級值;根據(jù)裝備位的層級值將選定 方向上的裝備位進行疊加;在選定方向上合成疊加后的裝備位。
該方法還可包括將虛擬角色的合成請求加入合成隊列中,在當(dāng)前虛擬角 色合成結(jié)束時,取合成隊列中位于隊列頭部的合成請求進行處理。
該方法還可包括緩存合成結(jié)果及幀數(shù)據(jù)。
另外,上述裝備位資源采用位圖實現(xiàn),同一方向上的多幀裝備位圖像按次 序地排列在位圖中的同 一行上。
上述網(wǎng)絡(luò)虛擬角色合成系統(tǒng)及方法,在選定方向上合成虛擬角色的裝備位 資源,將合成結(jié)果分割為幀數(shù)據(jù),播放該幀數(shù)據(jù)即可得到虛擬角色的動畫效果。 由于逐個方向地對同一方向上的所有裝備位進行合成,其調(diào)用合成函數(shù)的次數(shù) 少,因此能有效提高合成效率,從而改善了虛擬角色動作的平滑性,使畫面更 為流暢,滿足了用戶的體驗需求。
圖1是一個實施例中網(wǎng)絡(luò)虛擬角色合成系統(tǒng)的結(jié)構(gòu)示意圖; 圖2是一個實施例中虛擬角色的 一個裝備位資源的示意圖; 圖3是一個實施例中虛擬角色的另一個裝備位資源的示意圖; 圖4是另 一個實施例中網(wǎng)絡(luò)虛擬角色合成系統(tǒng)的結(jié)構(gòu)示意圖; 圖5是一個實施例中網(wǎng)絡(luò)虛擬角色合成方法的流程圖; 圖6是一個實施例中合成虛擬角色的裝備位的方法流程圖。
具體實施方式
圖1示出了一個實施例中的虛擬角色合成系統(tǒng),該系統(tǒng)包括資源管理器10、 裝備位加載器20、合成器30和呈現(xiàn)器40。其中
資源管理器IO用于提供虛擬角色的裝備位資源。所謂裝備位資源,是指虛 擬角色的裝備位的表現(xiàn)形式。在一個實施方式中,裝備位資源采用位圖實現(xiàn), 虛擬角色的同一個裝備位資源則采用同一張位圖來實現(xiàn),如圖2和圖3所示, 虛擬角色的頭部資源釆用圖2所示的位圖實現(xiàn),而帽子資源采用圖3所示的位 圖實現(xiàn)。在位圖上,同一方向上的多幀裝備位圖像按次序地排列在位圖的同一 行上,虛擬角色的一個裝備位資源的方向數(shù)在位圖上則表現(xiàn)為裝備位圖像的行 數(shù),有多少個方向(例如裝備位向左、向右、向前等)則位圖上有多少行裝備 位圖像,而位圖上的裝備位圖像列數(shù)則是該裝備位在某一方向上的運動幀數(shù)。 如圖2所示,裝備位頭部超前的圖像位于位圖中的第一行,而頭部朝右的圖像 位于位圖中的第二行,每行的頭部圖像的個數(shù)表示該頭部在該方向上的運行幀 數(shù)。
裝備位加載器20與資源管理器10相連,用于加載虛擬角色的裝備位資源。 由于一個虛擬角色可能有多個裝備位,可采用多個裝備位加載器20對應(yīng)加載不 同的多個裝備位資源。
合成器30與多個裝備位加載器20相連,用于逐個方向合成虛擬角色的裝 備位,并將合成結(jié)果分割為幀數(shù)據(jù)。在一個實施方式中,合成器30逐個方向合 成虛擬角色的裝備位的具體過程是合成器30獲取選定方向上的裝備位,根據(jù) 選定方向調(diào)整裝備位的層級值。由于在同一方向上,裝備位之間的層級關(guān)系是 不變的。在某一個選定方向上,根據(jù)該方向即可調(diào)整裝備位的層級值,并根據(jù) 所述裝備位的層級值將所述選定方向上的裝備位進行疊加,在選定方向上合成 疊加后的裝備位。
在一個實施例中,合成器30根據(jù)選定方向調(diào)整裝備位的層級值,可將該方 向上的所有裝備位按照層級值的大小由高到低進行疊加,并放入合成容器中, 然后對該合成容器中疊加后的該方向上的所有裝備位進行合成。例如,虛擬角 色正面朝前時,其背包的層級值則為負值;虛擬角色的正面朝向左邊時,其左 手的層級值則應(yīng)大于右手的層級值。另外,還應(yīng)調(diào)整裝備位的層級值的絕對值。例如腰帶的層級值的絕對值應(yīng)大于衣服的層級值的絕對值,而背包的層級值的 絕對值應(yīng)大于腰帶的層級值的絕對值等。合成該方向上的所有裝備位后,將合 成結(jié)果分割成幀數(shù)據(jù)。
呈現(xiàn)器40與合成器30相連,用于播放幀數(shù)據(jù)。將合成結(jié)果分割得到的幀 數(shù)據(jù)進行播放,即可得到虛擬角色的動畫效果。
圖4示出了另一個實施例中的網(wǎng)絡(luò)虛擬角色合成系統(tǒng),該系統(tǒng)除了包括上 述資源管理器IO、多個裝備位加載器20、合成器30和呈現(xiàn)器40外,還包括合 成隊列管理器50和合成角色緩存器60。其中
合成隊列管理器50與合成器30相連,用于將虛擬角色的合成請求加入合 成隊列中,當(dāng)判斷合成器30空閑時,則將合成隊列中位于隊列頭部的合成請求 送入合成器30中。在需要合成多個虛擬角色時,合成隊列管理器50則用于管 理多個虛擬角色的合成請求,可按照請求的先后次序?qū)⒍鄠€合成請求放入合成 隊列中,并優(yōu)先取隊列頭部的合成請求送入合成器30進行處理。
合成角色緩存器60與合成器30及呈現(xiàn)器40相連,用于緩存合成器30得 到的合成結(jié)果及幀數(shù)據(jù)。當(dāng)多個虛擬角色采用同樣的裝備位資源時,僅需合成 一次并將合成結(jié)果分割后的幀數(shù)據(jù)緩存至合成角色緩存器60中,則可直接播放 合成角色緩存器60中存儲的幀數(shù)據(jù)。另外,由于合成角色緩存器60還緩存了 合成結(jié)果,在刪除某一個虛擬角色后的預(yù)設(shè)時間內(nèi),若需再次使用該虛擬角色 的裝備位資源時,則可直接調(diào)用緩存的合成結(jié)果,而無需再次進行合成操作。
圖5示出了一個實施例中的網(wǎng)路虛擬角色合成方法流程,具體過程如下 在步驟S10中,加載虛擬角色的裝備位資源。如上所述, 一個虛擬角色包 含多個裝備位,每一個裝備位資源對應(yīng)一張位圖,位圖上排列的裝備位圖像中, 每行圖像表示裝備位位于同一方向(例如向前、向左、向右等),而在每個方向 上裝備位圖像個數(shù)表示該裝備位在該方向上的運動幀數(shù)。
在步驟S12中,逐個方向合成所述虛擬角色的裝備位,并將合成結(jié)果分割 為幀數(shù)據(jù)。在同一個方向上,各裝備位之間的層級關(guān)系是不變的,而在不同的 方向上,各裝備位之間的層級關(guān)系會有所變化。選擇同一方向上的裝備位進行 合成,即選擇各位圖上的同一行的裝備位圖像進行合成。在步驟S14中,播;改所述幀數(shù)據(jù)。播放合成結(jié)果分割得到的幀數(shù)據(jù),即可 得到虛擬角色的動畫效果。
圖6示出了一個實施例中合成虛擬角色的裝備位的方法流程,具體過程如
下
在步驟S120中,獲取選定方向上的裝備位。選定方向上的裝備位即各位圖 上表示同 一方向的某一行上的所有裝備位圖像。
在步驟S122中,才艮據(jù)選定方向調(diào)整裝備位的層級值。由于在同一方向上, 裝備位之間的層級關(guān)系是不變的。在某一個選定方向上,根據(jù)該方向即可調(diào)整 裝備位的層級值。例如,虛擬角色正面朝前時,其背包的層級值則為負值;虛 擬角色的正面朝向左邊時,其左手的層級值則應(yīng)大于右手的層級值。另外,還 應(yīng)調(diào)整裝備位的層級值的絕對值。例如腰帶的層級值的絕對值應(yīng)大于衣服的層 級值的絕對值,而背包的層級值的絕對值應(yīng)大于腰帶的層級值的絕對值等。在 一個實施例中,虛擬角色的裝備位資源如圖2和圖3所示,則應(yīng)調(diào)整帽子的層 級值大于頭部的層級值。在一個實施例中,對于一些特定的裝備位,例如腰帶, 衣服等,還需要按照虛擬角色模型對這些裝備位進行鏤空處理。
在步驟S124中,根據(jù)裝備位的層級值將所述選定方向上的裝備位進行疊加。 在一個實施方式中,合成器30根據(jù)選定方向調(diào)整裝備位的層級值后,可將該方 向上的所有裝備位按照層級值的大小由高到低進行疊加,并放入合成容器。
在步驟S126中,在選定方向上合成疊加后的裝備位。在一個實施方式中, 可直接對合成容器中的裝備位進行合成操作。由于對同 一方向上的所有裝備位 進行合成,調(diào)用合成函數(shù)的次數(shù)即為虛擬角色的方向數(shù)(即位圖中裝備位圖像 排列的行數(shù)),這樣能有效提高合成效率,從而能改善虛擬角色動作的平滑性, 使畫面更為流暢,充分滿足了用戶的體驗需求。
在一個實施例中,按照上述合成裝備位的方法逐個方向合成虛擬角色的裝 備位,并每合成一個方向上的裝備位則將合成結(jié)果分割為幀數(shù)據(jù),直到將所有 方向上的裝備位合成完。
在一個實施方式中,當(dāng)有多個虛擬角色需要合成時,可通過合成隊列管理 器50管理多個虛擬角色的合成請求,按照合成請求的先后次序?qū)⒍鄠€合成請求加入合成隊列中,并優(yōu)先處理合成隊列中位于隊列頭部的合成請求。在當(dāng)前合 成流程結(jié)束時,則取合成隊列中等待合成的下一個合成請求進行處理。在處理 多個虛擬角色合成請求時,通過這種隊列管理方式,能緩解多個虛擬角色合成 請求給合成系統(tǒng)帶來的壓力。
在另 一個實施方式中,可將合成器20得到的合成結(jié)果和幀數(shù)據(jù)進行緩存。 當(dāng)多個虛擬角色采用同樣的裝備位資源時,則可直接播放合成角色緩存器60中 存儲的幀數(shù)據(jù)。而在刪除某一個虛擬角色后的預(yù)設(shè)時間內(nèi),若需要再次使用該 虛擬角色的裝備位資源,則可直接調(diào)用緩存的合成結(jié)果,無需在此進行合成操 作。這樣,能進一步提高合成效率。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā) 明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明 的保護范圍之內(nèi)。
權(quán)利要求
1、一種網(wǎng)絡(luò)虛擬角色合成系統(tǒng),其特征在于,所述系統(tǒng)包括資源管理器,用于提供虛擬角色的裝備位資源;裝備位加載器,與所述資源管理器相連,加載虛擬角色的裝備位資源;合成器,與所述裝備位加載器相連,逐個方向合成所述虛擬角色的裝備位,并將所述合成結(jié)果分割為幀數(shù)據(jù);呈現(xiàn)器,與所述合成器相連,用于播放所述幀數(shù)據(jù)。
2、 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)虛擬角色合成系統(tǒng),其特征在于,所述合成 器還用于獲取選定方向上的裝備位,根據(jù)選定方向調(diào)整裝備位的層級值,并根 據(jù)所述裝備位的層級值將所述選定方向上的裝備位進行疊加,以及在所述選定 方向上合成疊加后的裝備位。
3、 根據(jù)權(quán)利要求l所述的網(wǎng)絡(luò)虛擬角色合成系統(tǒng),其特征在于,所述系統(tǒng) 還包括合成隊列管理器,與所述合成器相連,將虛擬角色的合成請求加入合成隊 列中,當(dāng)判斷所述合成器空閑時,將所述合成隊列中位于隊列頭部的合成請求 送入所述合成器。
4、 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)虛擬角色合成系統(tǒng),其特征在于,所述系統(tǒng) 還包括合成角色緩存器,與所述合成器及呈現(xiàn)器相連,用于緩存所述合成結(jié)果及 幀數(shù)據(jù)。
5、 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)虛擬角色合成系統(tǒng),其特征在于,所述裝備 位資源采用位圖實現(xiàn),同一方向上的多幀裝備位圖《象按次序地排列在位圖中的 同一行上。
6、 一種網(wǎng)絡(luò)虛擬角色合成方法,其特征在于,所述方法包括 加載虛擬角色的裝備位資源;逐個方向合成所述虛擬角色的裝備位,將合成結(jié)果分割為幀數(shù)據(jù); 播放所述幀數(shù)據(jù)。
7、 根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)虛擬角色合成方法,其特征在于,所述逐個 方向合成虛擬角色的所有裝備位的步驟具體是獲取選定方向上的裝備位;根據(jù)選定方向調(diào)整裝備位的層級值;根據(jù)所述裝備位的層級值將所述選定方向上的裝備位進行疊加; 在所述選定方向上合成疊加后的裝備位。
8、 根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)虛擬角色合成方法,其特征在于,所述方法 還包括將虛擬角色的合成請求加入合成隊列中,在當(dāng)前虛擬角色合成結(jié)束時,取 所述合成隊列中位于隊列頭部的合成請求進行處理。
9、 根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)虛擬角色合成方法,其特征在于,所述方法 還包括緩存所述合成結(jié)果及幀數(shù)據(jù)。
10、 根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)虛擬角色合成方法,其特征在于,所述裝 備位資源采用位圖實現(xiàn),同 一方向上的多幀裝備位圖像按次序地排列在位圖中 的同一行上。
全文摘要
本發(fā)明提供了一種網(wǎng)絡(luò)虛擬角色合成系統(tǒng)及方法。所述系統(tǒng)包括資源管理器,用于提供虛擬角色的裝備位資源;裝備位加載器,與資源管理器相連,加載虛擬角色的裝備位資源;合成器,與裝備位加載器相連,在選定方向上合成虛擬角色的裝備位,并將合成結(jié)果分割為幀數(shù)據(jù);呈現(xiàn)器,與合成器相連,用于播放所述幀數(shù)據(jù)。所述方法包括加載虛擬角色的裝備位資源;在選定方向上合成虛擬角色的裝備位,將合成結(jié)果分割為幀數(shù)據(jù);播放所述幀數(shù)據(jù)。采用本發(fā)明提供的網(wǎng)絡(luò)虛擬角色合成系統(tǒng)及方法,能提高合成效率,使虛擬角色動畫表現(xiàn)得更流暢,滿足了用戶的體驗需求。
文檔編號G06T15/70GK101645175SQ20091004216
公開日2010年2月10日 申請日期2009年8月25日 優(yōu)先權(quán)日2009年8月25日
發(fā)明者波 崔, 李建峰, 捷 羅, 黃朝興 申請人:騰訊科技(深圳)有限公司