本發(fā)明涉及虛擬人控制,具體涉及一種基于輕量級物理虛擬人站姿平衡的支撐算法及系統(tǒng)。
背景技術(shù):
1、虛擬人指具有數(shù)字化外形的虛擬人物。虛擬人具備三大特征:(1)擁有人的外觀及性格特征;(2)擁有通過語言、表情或肢體動作表達(dá)的能力;(3)擁有識別外界環(huán)境、與人交流互動的能力。
2、最早的虛擬人出現(xiàn)于20世紀(jì)80年代,受限于技術(shù),當(dāng)時的虛擬人制作以手繪為主。21世紀(jì)初,隨著動捕、渲染等技術(shù)的逐步發(fā)展,虛擬人相關(guān)技術(shù)開始在影視領(lǐng)域逐漸普及,用于呈現(xiàn)超現(xiàn)實(shí)角色和場景。2007年初音未來的誕生標(biāo)志著虛擬偶像行業(yè)進(jìn)入蓬勃發(fā)展的階段。近些年來,隨著ai和深度學(xué)習(xí)算法的出現(xiàn),虛擬人的制作環(huán)節(jié)被大大簡化,同時虛擬人的功能性也日漸凸顯:數(shù)字員工、智能主持人等新業(yè)態(tài)被開發(fā)。目前國內(nèi)各大相關(guān)公司均已開始虛擬人相關(guān)的布局和變現(xiàn),預(yù)期其在娛樂、電商、教育、文旅等諸多行業(yè)的應(yīng)用將逐步落地。
3、現(xiàn)有技術(shù)倒立擺(ip)反饋模型是一種常用的基于物理的角色站立支撐方案,其原理是通過施加彈簧力將角色的兩個足部向胯部推,從而使角色能夠保持站立。這種方法不僅適用于傳統(tǒng)的基于物理的角色,而且對于結(jié)合數(shù)據(jù)驅(qū)動的基于物理的角色同樣適用。因此,在對基于物理的角色構(gòu)建站姿平衡的工作中,倒立擺模型一直是主流的選擇。
4、在結(jié)合ik動作驅(qū)動的物理角色模型中,身體部位之間存在著父子級關(guān)系,父子之間會相互影響??璨渴侨聿课坏母?jié)點(diǎn),當(dāng)人們往足部施加彈簧力時,胯部的位置屬性會受到影響。由于胯部是父級節(jié)點(diǎn)因此也會反過來影響足部的位置屬性,這種閉環(huán)效應(yīng)會導(dǎo)致身體抖動并且無法保持穩(wěn)定的站立姿勢,進(jìn)而無法準(zhǔn)確構(gòu)建虛擬人的站姿平衡。
技術(shù)實(shí)現(xiàn)思路
1、為了克服現(xiàn)有技術(shù)的不足,本發(fā)明提供一種基于輕量級物理虛擬人站姿平衡的支撐算法,用于解決現(xiàn)有的虛擬人站姿平衡控制方法由于容易產(chǎn)生欠擬合現(xiàn)象,使得虛擬人難以一直保持平衡狀態(tài)以及通過身體調(diào)整恢復(fù)身體平衡的技術(shù)問題,從而達(dá)到減少虛擬人產(chǎn)生欠擬合現(xiàn)象,并構(gòu)建一個可泛化的虛擬人平衡站姿系統(tǒng)的目的。
2、為解決上述問題,本發(fā)明所采用的技術(shù)方案如下:
3、一種基于輕量級物理虛擬人站姿平衡的支撐算法,包括以下步驟:
4、獲取虛擬人的足部狀態(tài),根據(jù)所述足部狀態(tài)判斷對所述虛擬人的哪只腳進(jìn)行站姿計算,用于站姿計算的那只腳為目標(biāo)足部;
5、獲取所述目標(biāo)足部的腳下地面數(shù)據(jù)、所述目標(biāo)足部對應(yīng)的下肢數(shù)據(jù)及胯部數(shù)據(jù),算出虛擬人的站姿胯部高度;
6、將虛擬人胯部拉伸至所述站姿胯部高度,使虛擬人達(dá)到站立的狀態(tài);
7、生成所述虛擬人的足部運(yùn)動軌跡曲線,并根據(jù)所述足部運(yùn)動軌跡曲線調(diào)整所述虛擬人的腿部位置,恢復(fù)所述虛擬人的平衡。
8、作為優(yōu)選,所述的獲取虛擬人的足部狀態(tài),根據(jù)所述足部狀態(tài)判斷對所述虛擬人的哪只腳進(jìn)行站姿計算,包括:
9、如判斷結(jié)果為只有一只腳處于運(yùn)動變化且離開地面的狀態(tài),對尚未進(jìn)行運(yùn)動變化的另一只腳進(jìn)行站姿計算;
10、如判斷結(jié)果為虛擬人雙腳都處于靜止站直的狀態(tài),對腳下地面高度較低的一只腳進(jìn)行站姿計算。
11、作為優(yōu)選,所述的獲取所述目標(biāo)足部的腳下地面數(shù)據(jù)、所述目標(biāo)足部對應(yīng)的下肢數(shù)據(jù)及胯部數(shù)據(jù),算出虛擬人的站姿胯部高度,包括:
12、所述腳下地面數(shù)據(jù)指目標(biāo)足部的腳下所接觸的物體所在的高度h,所述下肢數(shù)據(jù)指目標(biāo)足部所對應(yīng)的一側(cè)的腿長lf,所述胯部數(shù)據(jù)指胯部位置坐標(biāo)ps,所述站姿胯部高度h和站姿胯部位置坐標(biāo)p是通過式(1)和(2)計算:
13、
14、p=(ps.x,rp.y+h,ps.z)??(2);
15、其中,h指虛擬人呈站立狀態(tài)時胯部與所述腳下地面數(shù)據(jù)之間的高度差,lsf是胯部和足部水平距離,rp指所述目標(biāo)足部對應(yīng)的地面位置,其坐標(biāo)y即為h。
16、作為優(yōu)選,所述的將虛擬人胯部拉伸至所述站姿胯部高度,使虛擬人達(dá)到站立的狀態(tài),包括:拉動所述虛擬人的胯部在垂直面上進(jìn)行偏移,直至虛擬人達(dá)到站立的狀態(tài)。
17、本發(fā)明還提供一種基于輕量級物理虛擬人站姿平衡的算法系統(tǒng),包括:
18、判斷模塊,用于獲取虛擬人的足部狀態(tài),根據(jù)所述足部狀態(tài)判斷對所述虛擬人的哪只腳進(jìn)行站姿計算,用于站姿計算的那只腳為目標(biāo)足部;
19、計算模塊,用于獲取所述目標(biāo)足部的腳下地面數(shù)據(jù)、所述目標(biāo)足部對應(yīng)的下肢數(shù)據(jù)及胯部數(shù)據(jù),算出虛擬人的站姿胯部高度;
20、拉伸模塊,用于將虛擬人胯部拉伸至所述站姿胯部高度,使虛擬人達(dá)到站立的狀態(tài);
21、平衡模塊,用于生成所述虛擬人的足部運(yùn)動軌跡曲線,并根據(jù)所述足部運(yùn)動軌跡曲線調(diào)整所述虛擬人的腿部位置,恢復(fù)所述虛擬人的平衡。
22、作為優(yōu)選,所述判斷模塊具體用于:
23、如判斷結(jié)果為只有一只腳處于運(yùn)動變化且離開地面的狀態(tài),對尚未進(jìn)行運(yùn)動變化的另一只腳進(jìn)行站姿計算;
24、如判斷結(jié)果為虛擬人雙腳都處于靜止站直的狀態(tài),對腳下地面高度較低的一只腳進(jìn)行站姿計算。
25、作為優(yōu)選,所述計算模塊,具體用于:
26、所述腳下地面數(shù)據(jù)指目標(biāo)足部的腳下所接觸的物體所在的高度h,所述下肢數(shù)據(jù)指目標(biāo)足部所對應(yīng)的一側(cè)的腿長lf,所述胯部數(shù)據(jù)指胯部位置坐標(biāo)ps,所述站姿胯部高度h是通過式(1)和(2)計算:
27、
28、p=(ps.x,rp.y+h,ps.z)??(2);
29、其中,站姿胯部高度h是指虛擬人呈站立狀態(tài)時胯部與所述腳下地面數(shù)據(jù)之間的高度差,lsf是胯部和足部的水平距離,rp指所述目標(biāo)足部對應(yīng)的地面所處位置,p為計算得到的站姿胯部位置坐標(biāo)。
30、作為優(yōu)選,所述拉伸模塊,具體用于:拉動所述虛擬人的胯部在垂直面上進(jìn)行偏移,直至虛擬人達(dá)到站立的狀態(tài)。
31、相較于現(xiàn)有技術(shù),本發(fā)明至少具有以下優(yōu)點(diǎn):
32、本發(fā)明將三維空間劃分為水平位置以及垂直高度,對站立和維持平衡兩個行為進(jìn)行耦合重構(gòu),并控制身體胯部的位置。在這一過程中,針對站姿行為進(jìn)行了探討,分析了不同的站姿行為,例如單腳站立、雙腿直立、單膝下跪等,并根據(jù)不同的站姿行為進(jìn)行恢復(fù)平衡的動作設(shè)計,其中不僅設(shè)計了不同的平衡判斷方法,同時還參考了[bruijn?2018]利用腳部生成運(yùn)動軌跡來恢復(fù)身體平衡的方法。本發(fā)明之方法為基于物理的角色的站姿平衡控制領(lǐng)域帶來了新的思路和方法。
33、下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明作進(jìn)一步詳細(xì)說明。
1.一種基于輕量級物理虛擬人站姿平衡的支撐算法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的基于輕量級物理虛擬人站姿平衡的支撐算法,其特征在于,所述的獲取虛擬人的足部狀態(tài),根據(jù)所述足部狀態(tài)判斷對所述虛擬人的哪只腳進(jìn)行站姿計算,包括:
3.根據(jù)權(quán)利要求1所述的基于輕量級物理虛擬人站姿平衡的支撐算法,其特征在于,所述的獲取所述目標(biāo)足部的腳下地面數(shù)據(jù)、所述目標(biāo)足部對應(yīng)的下肢數(shù)據(jù)及胯部數(shù)據(jù),算出虛擬人的站姿胯部高度,包括:
4.根據(jù)權(quán)利要求1所述的基于輕量級物理虛擬人站姿平衡的支撐算法,其特征在于,所述的將虛擬人胯部拉伸至所述站姿胯部高度,使虛擬人達(dá)到站立的狀態(tài),包括:拉動所述虛擬人的胯部在垂直面上進(jìn)行偏移,直至虛擬人達(dá)到站立的狀態(tài)。
5.一種基于輕量級物理虛擬人站姿平衡的算法系統(tǒng),其特征在于:包括:
6.根據(jù)權(quán)利要求5所述的基于輕量級物理虛擬人站姿平衡的算法系統(tǒng),其特征在于,所述判斷模塊具體用于:
7.根據(jù)權(quán)利要求5所述的基于輕量級物理虛擬人站姿平衡的算法系統(tǒng),其特征在于,所述計算模塊,具體用于:
8.根據(jù)權(quán)利要求5所述的基于輕量級物理虛擬人站姿平衡的算法系統(tǒng),其特征在于,所述拉伸模塊,具體用于:拉動所述虛擬人的胯部在垂直面上進(jìn)行偏移,直至虛擬人達(dá)到站立的狀態(tài)。