[發明專利]一種基于示例動畫的人物運動模擬方法有效
| 申請號: | 201910065667.2 | 申請日: | 2019-01-24 |
| 公開(公告)號: | CN109801350B | 公開(公告)日: | 2023-06-06 |
| 發明(設計)人: | 高春鳴 | 申請(專利權)人: | 湖南深度體驗智能技術有限公司 |
| 主分類號: | G06T13/40 | 分類號: | G06T13/40;G06T15/00 |
| 代理公司: | 北京市浩東律師事務所 11499 | 代理人: | 李瓊 |
| 地址: | 410000 湖南省長沙市開福區芙蓉北路街道金馬路377號*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 示例 動畫 人物 運動 模擬 方法 | ||
1.一種基于示例動畫的人物運動模擬方法,其特征在于,包括以下步驟:
動作數據預處理階段:
步驟(1):制作示例行走動作數據,通過動作捕捉設備結合美工修正的方式制作不同類型的基礎示例行走動作,大量動作動畫數據M={M1,M2,…,Mi},1≤i≤Num,Num為行走動畫數據個數,然后通過動作美化工程師對捕捉的基本行走動作數據進行調整與精修,得到自然的人物行走動作,這些示例行走數據最終被抽象為虛擬人物骨骼的所有重要關節的旋轉數據以及位移數據,然后手動的將每一個示例行走動作腳掌貼地的時刻打上時間戳,則某一個示例動作可以劃分為多個子運動片段{Mi(t1→t2),Mi(t2→t3),…,Mi(tn-1→tn)},n為該示例動作的總時間,t為時間戳;
步驟(2):動作數據參數化,根據示例行走動作的運動數據提取三個運動參數:前向速度、轉向速度和橫向速度,分別計算每一個動作的前向速度vf,轉向速度vt,橫向速度vs,通過這種信息提取方式,將每一個行走動作參數化表示為Pi=(vf,vt,vs),i表示第i個動作,所有的參數點構成參數點集合P={P1,P2,…,Pi},1≤i≤Num;
步驟(3):構建參數化三維空間,在得到參數點集合P之后,以前向速度vf作為y軸參考,轉向速度vt,作為x軸參考,橫向速度vs作為z軸參考構建參數化三維空間,則步驟(2)中得到的參數點則會分布在此三維空間的范圍,以動作的三個運動參數作為空間參考軸構建參數化三維空間;
步驟(4):構建參數化四面體,在上述構建的三維參數空間內,根據提取的行走動作參數點通過手動或者自動的方法構建參數化四面體,在示例動作數據量較少的情況下,可以通過人工識別和手工連接運動參數點的方式構建參數化四面體集合;而在有大量示例動作數據的情況下,優選采用三維約束Delaunay三角化算法自動構建參數化四面體集合V={T1,T2,…,Tn},其中Ti=(Pj1,Pj2,Pj3,Pj4),1≤i≤n,其中n為四面體個數,Pji表示某個行走動作參數點,根據三維空間中的行走動作參數點構建參數化四面體;
混合行走動作實時計算階段:
步驟(5):設定理想的行走動作參數,用戶根據自身需求設定行走動作參數Pc=(vcf,vct,vcs),其中vcf為所設定的理想前向速度,vct為所設定的理想轉向速度,vcs為所設定的理想橫向速度;
步驟(6):搜索鄰近參數化四面體,根據步驟(5)所設定的目標行走動作參Pc在參數化四面體集合V內搜索距離最近的參數化四面體,一般情況下,Pc通常會處于參數化四面體集合V的某個四面體內部,則包含Pc的四面體為Pc的最鄰近參數四面體,另外,對于Pc不處于參數化四面體集合V中任何一個四面體內部的特殊情況,則通過實時射線碰撞檢測算法搜索距離Pc最近的四面體,并通過點面幾何處理算法獲取該四面體所有三角面中與Pc距離最近,且Pc位于該面外側的三角面,該面記為S,為了后續動作混合計算結果的精確,Pc參數點最好處于參數化四面體內部,所以需要在Pc的最鄰近的參數四面體上找到距離最近的點,記為Pcc參數點,用于替換參數點Pc,參與后續步驟計算,在本發明中,通過尋找三角面S上與Pc參數點距離最近的一點作為Pcc參數點,然后使用Pcc參數點的參數值替換所設定的Pc的參數值,這種計算方式僅僅針對于上述特殊情況;
步驟(7):計算動作混合權重值,通過步驟(6)可以得到所設定動作參數Pc的最鄰近參數化四面體,該四面體的四個參數頂點分別為{P1,P2,P3,P4},Pi=(vfi,vti,vti),1≤i≤4,Pc參數點位于該四面體內部,則:
其中w1為P1參數點的混合權重,w2為P2參數點的混合權重,w3為P3點的混合權重,且上式可展開為:
則w1,w2,w3可以通過求解以下矩陣方程進行計算:
在w1,w2,w3計算完成之后,P4點的混合權重w4可以通過下列公式進行求解:
w4=1-(w1+w2+w3)
步驟(8):合成行走動作,通過步驟(7)可以得到參數化四面體的四個參數點的混合權重,設該參數化四面體相關聯的四個基礎示例動作為{M1,M2,M3,M4},設根據參數Pc所合成的動作為Mresult={Mresult(t1→t2),Mresult(t2→t3),…,Mresult(tn-1→tn)},則Mresult在某個時間片段運動數據可以通過以下公式進行計算:
其中參數t表示時間,參與上述公式計算的主要為四個示例動作的根節點的位移信息以及所有關節的旋轉信息,最后通過上述公式根據混合權重計算出符合給定運動參數的合成動作;
步驟(9):驅動人物行走,根據步驟(8)得到的合成動作數據,渲染引擎實時驅動虛擬人物模型做出與合成動作數據相符合的行走動畫,步驟(5)-步驟(8)描述的是渲染引擎刷新一幀的時間內所需計算的內容,用戶可以根據虛擬人物需到達行走目標點的位置以及虛擬人物在當前幀的位置,實時計算虛擬人物在下一幀的前向速度、轉向速度和橫向速度,然后通過步驟(5)-步驟(8)實時計算虛擬人物在下一幀的行走動作,通過上述算法可以自動驅動虛擬人物進行行走,并且自動調整行走方向,以到達目標點,由于上述算法效率可以滿足渲染引擎實時渲染的性能要求,所在虛擬環境中可以驅動虛擬人物做出連續的行走動作并到達目標點。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于湖南深度體驗智能技術有限公司,未經湖南深度體驗智能技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910065667.2/1.html,轉載請聲明來源鉆瓜專利網。





