[發明專利]3D骨骼動畫的渲染方法及裝置有效
| 申請號: | 201310634747.8 | 申請日: | 2013-11-29 |
| 公開(公告)號: | CN103606180B | 公開(公告)日: | 2017-06-16 |
| 發明(設計)人: | 陳蘇俊 | 申請(專利權)人: | 廣州菲動軟件科技有限公司 |
| 主分類號: | G06T13/40 | 分類號: | G06T13/40 |
| 代理公司: | 廣州華進聯合專利商標代理有限公司44224 | 代理人: | 王茹,黃曉慶 |
| 地址: | 510000 廣東省廣州市天河區*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 骨骼 動畫 渲染 方法 裝置 | ||
技術領域
本發明涉及計算機圖形技術領域,特別是涉及一種3D骨骼動畫的渲染方法以及一種3D骨骼動畫的渲染裝置。
背景技術
當前有兩種模型動畫的方式:頂點動畫和骨骼動畫。在骨骼動畫中,模型具有互相連接的“骨骼”組成的骨架結構,通過改變骨骼的朝向和位置來為模型生成動畫。
骨骼動畫比頂點動畫要求更高的處理器性能,但同時它也具有更多的優點,骨骼動畫可以更容易、更快捷地創建。不同的骨骼動畫可以被結合到一起,比如模型可以轉動頭部、射擊并且同時也在走路。一些引擎可以實時操縱單個骨骼,這樣就可以和環境更加準確地進行交互——模型可以俯身并向某個方向觀察或射擊,或者從地上的某個地方撿起一個東西等。
目前,一般的3D(即三維)引擎中,在實現骨骼動畫的時候,都是每幀動畫使用CPU(Central Processing Unit,中央處理器)即時計算全局骨骼矩陣數據,然后再提交給GPU(Graphics Processing Unit,圖形處理單元),渲染出3D骨骼動畫模型來。然而,采用上述方法實現3D骨骼動畫,由于每幀動畫均需消耗CPU計算資源,3D骨骼動畫模型數量大時會導致CPU占用率過高;尤其是對于一些特別消耗CPU來計算骨骼姿勢數據的骨骼模型來說,對CPU資源的消耗更為嚴重,甚至會導致引用卡頓現象的出現。
發明內容
基于此,本發明提供一種3D骨骼動畫的渲染方法及裝置,能夠降低CPU的占用率,減小CPU資源的消耗。
為實現上述目的,本發明采用如下的技術方案:
一種3D骨骼動畫的渲染方法,包括以下步驟:
創建骨骼動畫對象,并加載預先生成的全局骨骼矩陣數據;
載入動畫對象并進行動畫播放,從所述全局骨骼矩陣數據中獲取動畫的當前幀所需要的骨骼矩陣數據,并將該骨骼矩陣數據傳入GPU中;
在GPU中獲取骨骼動畫著色器代碼、圖像對象以及模型頂點數據,并根據所獲取的骨骼矩陣數據、骨骼動畫著色器代碼、圖像對象以及模型頂點數據進行運算,渲染出骨骼動畫畫面。
一種3D骨骼動畫的渲染裝置,包括:
對象創建及數據加載模塊,用于創建骨骼動畫對象,并加載預先生成的全局骨骼矩陣數據;
數據獲取模塊,用于載入動畫對象并進行動畫播放,從所述全局骨骼矩陣數據中獲取動畫的當前幀所需要的骨骼矩陣數據,并將該骨骼矩陣數據傳入GPU中;
渲染模塊,用于在GPU中獲取骨骼動畫著色器代碼、圖像對象以及模型頂點數據,并根據所獲取的骨骼矩陣數據、骨骼動畫著色器代碼、圖像對象以及模型頂點數據進行運算,渲染出骨骼動畫畫面。
由以上方案可以看出,本發明的3D骨骼動畫的渲染方法及裝置,在動畫播放前已經預先生成了全局骨骼矩陣數據,這樣一來在播放動畫的過程中可以直接加載全局骨骼矩陣數據,不再需要CPU去計算骨骼動畫每幀的全局骨骼矩陣數據,從而避免了在實際環境中通過CPU計算全局骨骼矩陣數據所帶來的CPU資源消耗過大的問題,有效降低了CPU的占用率,特別是針對復雜和計算量龐大的骨骼動畫模型具有顯著的性能優勢。
附圖說明
圖1為本發明一種3D骨骼動畫的渲染方法的流程示意圖;
圖2為本發明一種3D骨骼動畫的渲染裝置的結構示意圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
參見圖1所示,一種3D骨骼動畫的渲染方法,包括以下步驟:
步驟S101,創建骨骼動畫對象,并加載預先生成的全局骨骼矩陣數據。
需要說明的是,本發明中的全局骨骼矩陣數據并不是在實際使用環境中利用CPU即時計算出來的,而是在實際使用環境外就已經事先生成的。以實際使用環境如游戲中為例進行說明,本發明在游戲前就已經預先生成全局骨骼矩陣數據,游戲時直接使用全局骨骼矩陣提交到GPU中進行渲染即可,無需再用CPU去計算全局骨骼姿勢矩陣,故可以不用考慮資源的消耗問題。作為一個較好的實施例,本發明中生成所述全局骨骼矩陣數據的過程具體包括如下:
創建骨骼動畫對象,加載骨骼動畫所需要的資源,并對所述資源進行解析,獲得骨骼、動作姿勢數據;
根據所述骨骼、動作姿勢數據進行動畫播放,并在播放動畫的每一幀時計算全局骨骼姿勢矩陣數據,將計算得到的全局骨骼姿勢矩陣數據存放到一個動作幀列表中;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州菲動軟件科技有限公司,未經廣州菲動軟件科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310634747.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種無線電力抄表系統
- 下一篇:一種快速二維離散余弦變換裝置





