[發明專利]一種減少實時插值計算量的動畫生成方法在審
| 申請號: | 201310426929.6 | 申請日: | 2013-09-18 |
| 公開(公告)號: | CN103500461A | 公開(公告)日: | 2014-01-08 |
| 發明(設計)人: | 梁波;吳才忠;劉暢;譚賢亮;李翔威 | 申請(專利權)人: | 珠海金山網絡游戲科技有限公司;成都西山居互動娛樂科技有限公司 |
| 主分類號: | G06T13/00 | 分類號: | G06T13/00 |
| 代理公司: | 廣州嘉權專利商標事務所有限公司 44205 | 代理人: | 陳國榮 |
| 地址: | 519000 廣東省珠*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 減少 實時 計算 動畫 生成 方法 | ||
技術領域
本發明涉及動畫實時插值計算的方法,尤其是涉及一種減少實時插值計算量的動畫生成方法。
背景技術
現有動畫更新通常通過制作若干個動畫關鍵幀,并在動畫更新過程中,在關鍵幀與關鍵幀之間通過實時插值計算得到過渡幀序列,從而形成完整的動畫,如圖1所示。對于此方法,實時生成過渡幀序列往往要消耗大量CPU的計算。
發明內容
為了解決現有技術中實時動畫實時插值計算存在CPU消耗過大的問題,本發明提供一種通過預先計算并存儲過渡幀的方式實現減少動畫實時插值計算量的方法。
本發明的技術方案為:
一種減少實時插值計算量的動畫生成方法,涉及動畫序列幀密度預計算,動畫序列幀存儲空間預分配,關鍵幀之間的過渡幀預計算等三個過程,具體包括以下步驟:
首先,對動畫序列的幀密度進行預計算,這個密度是可配置的,如每秒25幀,這個25就是序列幀插值密度,對應的動畫序列幀之間的間隔就是40毫秒。
接著,根據動畫序列幀密度計算出動畫總幀數,動畫總幀數有兩部分組成,一部分是原動畫關鍵幀的幀數,另一部分是根據序列幀密度插值計算出的過渡序列幀的幀數。
再進一步,根據動畫總幀數,分配所有動畫序列幀所需的存儲空間。
更進一步,通過關鍵幀計算出過渡幀。
然后,將動畫關鍵幀和過渡幀保存到之前分配的存儲空間中。
最后,當動畫更新時,根據時間計算得出當前動畫幀是哪一幀,再去存儲的動畫幀序列中取得對應的動畫幀。
根據本發明所提出的方法,系統首先確定動畫序列的幀密度,再預分配動畫序列幀存儲空間,然后通過關鍵幀計算出過渡序列幀,最后將結果保存,以便復用,從而達到減少運行時實時插值計算的CPU開銷的目的。
附圖說明
下文將通過優選實施例并結合附圖說明對本發明的目的、優點和特點進行非限制和解釋和說明。這些實施例僅是應用本發明技術方案的典型范例,凡采取等同替換或等效變換而形成的技術方案,均落在本發明要求保護的范圍之內。這些附圖當中:
圖1為常規的動畫更新示意圖;
圖2為本發明中經過關鍵幀預插值計算的動畫更新示意圖;
圖3為本發明中根據動畫更新時間獲取動畫幀的示意圖;
圖4為本發明中動畫更新的流程圖。
具體實施方式
本發明公開了一種減少軟件(例如,游戲)更新動畫時CPU實時插值計算量的動畫生成方法,根據本方法系統在動畫更新時可以減少CPU實時插值計算的運算開銷,同時卻能保證動畫顯示效果。
下面以一個關鍵幀為3幀,幀間隔為80毫秒的動畫為例對本發明的方法進行詳細說明。
如圖2、3和4所示,在此實施例中,系統首先進行動畫幀密度預計算,例如,系統采用每秒25幀的幀率進行動畫播放,也就是動畫幀之間的間隔為1秒/25=40毫秒。在人眼分辨率來說,常見的電影幀率,即每秒24幀的刷新顯示已經足夠,當然想要更細致也是可以的,例如每秒50幀,那么對應的幀間隔為1秒/50=20毫秒。此實施例采用每秒25幀,即插值密度nInterpolate=25。
接著計算動畫序列的總幀數nTotalFrame,根據上一步的插值密度,系統可以得到關鍵幀之間的過渡幀數目為:
(fOriginalFrameLenth?/?(1000?/?nInterpolate)?–?1)?*?(nOriginalTotalFrame?-?1)?
=?(80/(1000/25)-1)?*?(3-1)=2?
這里的fOriginalFrameLength=80ms,?nOriginalTotalFrame?=3。
這樣可以得到nTotalFrame?=3+2=5幀。
再接著分配5幀動畫幀所需要的存儲空間,AnimationMemory[5],首先將動畫關鍵幀的第1幀存入AnimationMemory[1],?第2幀存入AnimationMemory[3],?第3幀存入AnimationMemory[5]。
接著計算關鍵幀之間的過渡幀序列,也就是本實施例的第2幀和第4幀。第2幀是由動畫關鍵幀1,2幀插值計算得出,第4幀是由動畫關鍵幀2,3幀插值計算得出,并將結果存入對應的AnimationMemory[2],?AnimationMemory[4]。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于珠海金山網絡游戲科技有限公司;成都西山居互動娛樂科技有限公司,未經珠海金山網絡游戲科技有限公司;成都西山居互動娛樂科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310426929.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種室內人數檢測顯示系統
- 下一篇:用于專業社會網絡的跨企業協作覆蓋方案





