張靖超郭林方
(1.安陽幼兒師范高等??茖W校繼續(xù)教育與對外合作交流中心安陽456150)(2.安陽幼兒師范高等??茖W校公共教學部安陽456150)
基于雙肩約束的虛擬人運動路徑調(diào)整
張靖超1郭林方2
(1.安陽幼兒師范高等??茖W校繼續(xù)教育與對外合作交流中心安陽456150)(2.安陽幼兒師范高等專科學校公共教學部安陽456150)
虛擬人運動編輯最大的問題是滑步現(xiàn)象,目前常用關節(jié)點的平移旋轉去滑步。此方法會使運動序列的根節(jié)點出現(xiàn)偏移,導致編輯后的運動路徑與用戶指定的路徑的有較大的偏差。在正常的走、跑運動中,左右雙肩分別在根節(jié)點的兩側。去滑步后的雙肩必須滿足在用戶指定路徑兩側這個約束條件,否則調(diào)整前鄰近支撐腳的旋轉角度,使編輯后的運動路徑與用戶指定的路徑重合度得到提高。最后利用IUP+OPENGL+LUA搭建運動編輯系統(tǒng)驗證了此方法的有效性。
雙肩約束;路徑偏差處理;運動路徑;運動編輯;步長
Class NumberTP391
虛擬人動畫技術是三維動畫技術的一個重要分支并且一直是國際圖形學界的研究熱點之一。隨著虛擬人技術的日益成熟,該技術在軍事、醫(yī)學、娛樂和藝術等領域起到了舉足輕重的作用[1]。近年來,運動捕捉技術[2]由于其高效性,逼真性得到了快速的發(fā)展。但是由于運動捕捉設備的昂貴性、系統(tǒng)操作復雜、對人員場地要求過高等因素限制了此技術的大規(guī)模推廣。為了提高捕捉數(shù)據(jù)的重用性,使之能夠應用到新場景并滿足用戶的各種需求,需對捕捉到的數(shù)據(jù)進行編輯處理。
運動編輯[3]可以按照用戶的需求修改運動捕捉的人體運動數(shù)據(jù),提高了捕捉數(shù)據(jù)的重用率。基于路徑的運動編輯[4]就是編輯原始運動(如走、跑等)使之能夠在新路徑上運動并盡量保持原始運動的細節(jié),它是運動編輯研究的一個熱點。編輯后的運動無滑步現(xiàn)象、運動自然無明顯失真、編輯后的運動路徑與用戶指定路徑重合度比較高是我們評價路徑運動編輯方法的一個標準。本文提出利用去滑步后的雙肩必須在用戶指定路徑兩側這個約束條件調(diào)整前鄰近支撐腳的旋轉角度,使編輯后的運動路徑與用戶指定的路徑重合度得到提高。
2.1 運動路徑
運動路徑[5]是從運動中抽象出來的一個特征,包含運動位置信息和方向信息。一條運動路徑是一個隨時間變化的空間曲線,變化值為虛擬人角色在給定時間的空間位置。通常運動路徑是指運動序列每幀根節(jié)點的連線在地面的投影,如圖1。
圖1 虛擬人根節(jié)點運動軌跡
2.2 步長
檢測腳支撐約束是以步長[6]為單位的,這里步長定義為:周期運動的一個周期內(nèi)的運動。若以行走為例,即任一腳開始著地的那一幀定義為一步的開始,同一只腳在次著地的那一幀的前一幀定義為這步的結束。
若以腳著地約束定義步長,本文把行走和跑步分為以下結果階段,Lcon為左腳支撐階段,Acon為雙腳支撐階段,Rcon為右腳支撐階段,Ncon表示騰空階段。圖2詳細介紹了行走運動根據(jù)支撐腳約束劃分的一個步長,以及每個約束階段腳的運動狀態(tài)。
圖2 行走一個步長腳尖的狀態(tài)及約束
使用Gleicher[7]的方法進行運動路徑變換得到帶有滑步的運動序列,但運動序列的根節(jié)點全部垂直投影到用戶指定路徑上。然后利用關節(jié)點的平移旋轉去滑步[8]導致運動序列的根節(jié)點出現(xiàn)偏移,使編輯后的運動路徑與用戶指定路徑的有較大的偏差。通過觀察發(fā)現(xiàn)正常人走或跑時左右肩分別在路徑的左右兩側,本文規(guī)定雙肩約束為去滑步后的雙肩,必須在用戶指定路徑兩側,若不滿足這個約束條件,則調(diào)整前臨近支撐腳的旋轉角度以改變運動方向使雙肩重新滿足約束條件。詳細步驟如下:
1)判定去滑步后的雙肩節(jié)點離用戶指定路徑最臨近的線段。用戶指定路徑是用未去除滑步時根節(jié)點在地面投影的位置表示的。本文利用黃鐵蘭等[9]提出的方法判定去除滑步后的雙肩節(jié)點與用戶指定路徑的關系。如圖3所示:表示用戶指定路徑,表示去滑步前第i幀的根節(jié)點在地面的投影,表示去滑步后第k幀根節(jié)點在地面的投影。規(guī)定在用戶指定路徑上到最近距離點為去滑步后第k幀對應的在未去滑步的運動序列上的幀。若到距離最短,則線段雙肩對應的最鄰近線段。
圖3 利用最短歐拉距離判定最鄰近線段
2)利用向量叉乘判斷去滑步后的運動是否滿足雙肩約束,如圖4所示:的左肩,右肩對應的最鄰近線段為
12
12
圖4 判定雙肩是否滿足約束檢測
3)當雙肩在路徑的同一側時調(diào)整運動方向既調(diào)整旋轉角θ。調(diào)整運動方向只能在支撐腳Lcon和Rcon階段進行。
(1)利用向量叉乘判定運動序列任一幀在去滑步前后運動方向的關系。dk是某一幀去滑步后的運動方向,
·若zk≥0,則dk在用戶指定路徑方向的逆時針方向,如圖6。
·若zk<0,則dk在用戶指定路徑方向的順時針方向,如圖7。
(2)調(diào)整支撐腳旋轉角度;
原始運動序列經(jīng)過編輯后,運動路徑發(fā)生了改變,為使原始運動序列的運動方向與用戶指定路徑方向一致,原始運動序列每幀需旋轉θ。
規(guī)定運動序列第k幀的運動方向為第k,k+1幀根節(jié)點連線的向量在地面的投影。在原始運動第k幀運動方向為,對應在新路徑上為為使原始運動序列與新路徑方向一致,原始運動第k幀需旋轉θ,如圖5所示。
圖5 方向旋轉θ度角
首先判定雙肩同時在用戶指定路徑的哪一側。
lk
rk
經(jīng)過去滑步雙肩在路徑兩側的位置發(fā)生變化。
·若zlk>0,zrk>0,則雙肩都在路徑的順時針側。
·若zlk<0,zrk<0,則雙肩都在路徑的逆時針側。
根據(jù)zk值的不同,雙肩同時在用戶指定路徑的哪一側的不同,有以下結論:
1)若zk≥0并且雙肩在路徑的同一側,如圖6所示,為滿足雙肩約束,調(diào)整此幀前臨近支撐腳旋轉角θk
圖6 去滑步后的運動方向dk,dj在用戶指定路徑的逆時針方向,調(diào)整角度θm,θn使運動滿足雙肩約束
2)若zk<0并且雙肩在路徑的同一側,如圖7所示。為滿足雙肩約束,調(diào)整此幀前臨近支撐腳旋轉角θk
其中式(2~3)中φ>0,為了保持運動的連續(xù)性,φ值不能太大。
圖7 原始運動方向dk,dj在用戶指定路徑的順時針方向,調(diào)整角度θm,θn使運動滿足雙肩約束
本文采用LUA+UP+OpenGL編碼,實驗數(shù)據(jù)BVH[10]也均來自于卡內(nèi)基梅隆大學提供的CMU數(shù)據(jù)庫,如圖8所示。
圖9顯示是否添加雙肩約束對運動編輯的影響,(上)顯示未采用雙肩約束編輯后的運動圖像,(下)顯示采用雙肩約束編輯后的運動圖像。對比圖9的(上)(下)可以看出添加雙肩約束,編輯后的運動路徑與用戶指定的路徑重合度更高。綜上證明了本方法的可行性及有效性。
圖8 虛擬人原始運動序列
圖9 根據(jù)雙肩約束調(diào)整運動方向,藍線代表雙肩軌跡,紅線代表編輯后的運動路徑軌跡,白線代表用戶指定路徑
本文重點介紹利用去滑步后的雙肩必須在用戶指定路徑兩側這個約束條件,使編輯后的運動路徑與用戶指定的運動路徑的重合度得到提高。實驗證明本方法對普通的運動如走、跑有較好的效果,但對特殊運動如側身走并沒有什么效果。我們利用最鄰近線段法判定雙肩節(jié)點在用戶指定路徑上的最鄰近線段,然后利用向量叉乘判定是否滿足約束,若不滿足約束條件需在上一步長中的支撐腳狀態(tài)下加大或減小旋轉角度使這之后的運動序列滿足雙肩約束。如何確定旋轉角度的幅度值φ是今后研究的重點。
[1]李敏,韓豐.虛擬現(xiàn)實技術綜述[J].軟件導刊,2010,(9)6:142-144.
LI Min,HAN Feng.Summarizing of Virtual Reality Technology[J].Software Guide,2010,(9)6:142-144.
[2]劉賢梅,李冰,吳瓊.基于運動捕獲數(shù)據(jù)的虛擬人動畫研究[J].計算機工程與應用,2008,44(8):113-114.
LIU Xianmei,LI Bing,WU Qiong.Virtual Human Animation based on Motion Capture Data[J].Computer Engineering and Applications,2008,44(8):113-114.
[3]沈娟,李建微.動作捕捉中的動畫驅動及運動編輯技術綜述[J].計算機與數(shù)字工程,2008,36(3):103-106.
SHEN Juan,LI Jianwei.Summarizing of Motion Capture Animation and Motion Editing Techniques[J].Computer &Digital Engineering,2008,36(3):103-106.
[4]陳志華,馬利莊,李眾,等.人體運動路徑的編輯算法[J].計算機輔助設計與圖形學學報,2006,18(5):651-655.
CHEN Zhihua,MA Lizhuang,LI Zhong,et al.Editing Human Motion Path[J].Journal of Computer-Aided Design &Computer Graphics,2006,18(5):651-655.
[5]王鑫,孫守遷,邵明.運動路徑驅動的角色動畫合成方法[J].計算機輔助設計與圖形學學報,2009,21(3):319-324.
WANG Xin,SUN Shouqian,SHAO Ming.A Path-Driven Character Animation Synthesis Method[J].Journal of Computer-Aided Design&Computer Graphics,2009,21(3):319-324.
[6]李眾,馬利莊,陳志華,等.基于運動路徑變換的人體運動編輯[J].計算機工程與應用,2006,42(17):86-89.
LI Zhong,MA Lizhuang,CHEN Zhihua,et al.Human Motion Editing on Path Transforming[J].Computer Engineering and Applications,2006,42(17):86-89.
[7]M.Gleicher.Motion path editing[C]//Proc.2001 ACM Symposium on Interactive 3D Graphics.New York:ACM Press.2001:195-202.
[8]Xiaoyue Guo,Shibiao Xu,WuJun Che,et al.Automatic Motion Generation Based on Path Editing from Motion Capture Data[J].Transactions On Edutainment,2010,4:91-104.
[9]黃鐵蘭,花衛(wèi)華,劉修國.二維點與曲線位置關系判斷的最鄰近線段法[J].計算機應用,2005,25(b12):262-263.
HUANG Tielan,HUA Weihua,LIU Xiuguo.The Method to Judge the Relationship Between Adjacent Segments and the Position of the 2D Point Curve[J].Journal of Computer Applications,2005,25(b12):262-263.
[10]吳鈴,侯進,徐芳.BVH文件驅動三維人體動畫的實現(xiàn)[J].沈陽理工大學學報,2012,31(1):52-56.
WU Ling,HOU Jin,XU Fang.The Realization of 3D Human Animation by BVH[J].Journal of Shenyang Ligong University,2012,31(1):52-56.
Virtual Human Motion Path Adjustment Based on Double Shoulders Constraints
ZHANG Jingchao1GUO Linfang2
(1.Further-education and Foreign Exchange and Cooperation Center,Anyang Preschool Education College,Anyang456150)(2.Public Teaching Department,Anyang Preschool Education College,Anyang456150)
The biggest problem of virtual human motion editing is sliding phenomenon.At present,translation and rotation of the joint is often used to remove the slide.This method will lead to the offset of the root of the motion sequence and result in the great deviation between edited motion path and the user-specified path.The left and right shoulders are on both sides of our root node,in the normal walking,running sports.Using this constraint that the shoulders after removed the slide must be on both sides of the user-specified path or the rotation angle of the support foot is adjusted,so that the edited motion path and the user-specified path coincidence degree is improved.Finally,the IUP+OPENGL+LUA is used to build a motion editing system to verify the effectiveness of this method.
shoulders constraints,path deviation handling,motion path,motion editing,step
TP391
10.3969/j.issn.1672-9722.2017.06.016
2016年12月14日,
2017年1月21日
張靖超,男,碩士研究生,助教,研究方向:計算機動畫、圖形學、教育技術。郭林方,女,碩士研究生,助教,研究方向:教育學、教育技術。