楊 勇
(北京工業(yè)大學(xué) 信息學(xué)部, 北京 100124)
動畫作為一門綜合藝術(shù), 他是集合了繪畫、電影、建模、數(shù)字媒體、音樂等眾多藝術(shù)門類于一身的表現(xiàn)形式.為了進一步提高動畫制作效率, 在20世紀90年代, 中國科學(xué)院陸汝鈐院士提出全過程計算機輔助動畫自動生成技術(shù)[1], 這一技術(shù)實現(xiàn)了從文本到動畫的自動生成.隨著智能手機以及3G通信技術(shù)的普及,中國科學(xué)院的張松懋研究員于2008年提出將動畫自動生成技術(shù)應(yīng)用在手機短信上, 設(shè)計并研發(fā)了面向手機短信3D動畫自動生成系統(tǒng).系統(tǒng)將人工智能以及圖形學(xué)技術(shù)相結(jié)合, 根據(jù)發(fā)送方短信的具體內(nèi)容自動生成相應(yīng)的3D動畫并發(fā)送給接收方.
對于游戲以及動畫場景中的虛擬人物, 根據(jù)動作行為的復(fù)雜程度, 一般將其分為兩大類:單人動作與交互動作,這兩類動作對于角色動畫都是比必不可少的[2].交互類動作規(guī)劃相較于單人動作規(guī)劃而言, 其處理更為困難, 其主要原因除了表達動作內(nèi)容以及確定交互雙方的身體姿態(tài), 還需要動態(tài)規(guī)劃虛擬人物之間的時空關(guān)系(包括相對距離以及絕對位置、身體接觸面范圍的確定、路徑規(guī)劃、交互物傳遞等).
在傳統(tǒng)的以粘土、木偶、皮影或者剪紙等人物角色定格動畫中, 角色之間的交互是將交互雙方的動作分解并擺出相應(yīng)的造型, 通過逐幀拍攝的方法來記錄[3].當畫面連續(xù)放映時, 畫面中的角色可表現(xiàn)出豐富的行為動作并且簡單的完成交互, 較為典型的定格動畫有《阿凡提的故事》、《豬八戒吃西瓜》.隨著計算機動畫、人工智能以及機器人研究的發(fā)展, 在動畫以及游戲領(lǐng)域?qū)τ诮巧换ビ辛烁叩囊?1994年發(fā)售一款對戰(zhàn)格斗游戲《拳皇》, 角色之間的打斗交互通過粒子釋放以及粒子碰撞來模擬交互過程[4].而對于采用自動生成技術(shù)且需要多角色(包括玩家以及非玩家控制角色NPC)交互的網(wǎng)絡(luò)游戲以及動畫, 實時監(jiān)控角色位置、自主進行交互運動以及多樣的行為模式是必不可少的.目前, 已經(jīng)有許多學(xué)者針對角色協(xié)同有了許多研究.如 Bayazit OB[5]提出基于全局路標方法解決游戲中的群體行為, 即給區(qū)域中的角色提供一張地圖信息以及某種通信方式, 角色需要進行復(fù)雜的目標查找算法來決定如何移動, 該方法適應(yīng)性以及可擴展性較差.Mamei M[6]等針對于大型射擊對戰(zhàn)游戲《Quake 3 Arena》的多角色交互以及協(xié)調(diào)問題, 提出使用分布式計算域協(xié)調(diào)模型來解決該問題, 但對于角色間的通信以及游戲具體運動模型的數(shù)學(xué)模型并沒有給出描述.由于游戲以及動畫中的角色需要盡可能的模擬智能群體, 因此其運動方式、感知能力以及交互行為的研究可以借鑒多機器人、多智能系統(tǒng)中的研究成果.Lindhe M[7]等提出一種基于Voronoi圖法的新型分散式協(xié)調(diào)算法解決多機器人協(xié)同問題.Swartling JO[8]等提出利用循環(huán)追蹤的思想, 依據(jù)距離以及角度信息設(shè)計控制規(guī)律對多機器人間的位置進行跟蹤捕獲, 從而可以規(guī)劃多條路徑來作為角色交互的前提.Xidias EK[9]等結(jié)合數(shù)學(xué)編程以及CAD技術(shù), 提出一種無碰撞且非完整性約束的計算方法來規(guī)劃多機器人團隊路徑以及為每個機器人確定動作.李朕陽[10]針對解決多移動機器人自身狀態(tài)估計和對于目標的狀態(tài)估計, 提出基于平方根容積卡爾曼濾波的相對方位多機器人協(xié)同定位算法.利用相對方位作為測量值,在更新過程中直接傳遞目標狀態(tài)均值和協(xié)方差矩陣的平方根因子,精確度與穩(wěn)定性有了提高.
考慮到交互動畫中的角色不僅需要進行位置確定規(guī)劃, 還需要對單個人物的動作細節(jié)進行研究.因此與上述相關(guān)研究相比, 本文提出了一種基于三層動作識別和Kinesiology的交互規(guī)劃方法, 采用基于語義網(wǎng)技術(shù)的規(guī)劃策略來結(jié)合動作知識建立交互動作庫, 將交互動作整體過程分為交互動作準備階段、交互動作執(zhí)行階段、交互動作完成階段三個階段計算, 同時基于三維動畫軟件Maya中的完整的人物設(shè)計系統(tǒng)—FBIK(full body ik, 即骨骼之間存在約束控制, 牽動身體的每一部分都會對全身的動作有影響), 根據(jù)交互雙方接觸面的不同, 通過建立感興趣點與感興趣區(qū)域來(指該虛擬人物執(zhí)行交互動作時, 雙方的身體接觸面范圍,包括人體手部骨骼、肩部骨骼、根骨骼等26塊主要接觸骨骼)進行骨骼數(shù)據(jù)識別計算, 動作數(shù)據(jù)方面采用提取格式為FBX的單人動作作為交互動作的單個原子動作(本文中的單個原子動作是指可以構(gòu)成交互行為的單人動作), 通過運用Kinesiology計算方法, 對角色位置、路徑以及交互物綁定進行規(guī)劃計算, 從而在系統(tǒng)中添加虛擬人物交互運動規(guī)劃自動生成的功能,使得生成的三維動畫在表現(xiàn)動畫主題、敘述動畫劇情以及增強動畫表現(xiàn)力方面更為突出.
手機3D動畫自動生成系統(tǒng)是由多個子系統(tǒng)所組成, 包括情節(jié)規(guī)劃子系統(tǒng)、變形規(guī)劃子系統(tǒng)、攝像機規(guī)劃子系統(tǒng)等.系統(tǒng)是使用機器學(xué)習(xí)的思想對開放的短信文本進行信息抽取, 抽取的信息作為各個系統(tǒng)的輸入, 并且各個子系統(tǒng)之間都具有一定的聯(lián)系.通常子系統(tǒng)都是由定性規(guī)劃與定量計算兩部分組成.定性規(guī)劃依據(jù)信息抽取的結(jié)果對模型、燈光、攝像機以及人物進行初步規(guī)劃并生成定性描述語言;定量計算根據(jù)定性規(guī)劃的結(jié)果將其轉(zhuǎn)換為具體的數(shù)值, 調(diào)用Maya API生成相應(yīng)的動畫, 最后經(jīng)過服務(wù)器渲染生成可播放的3D動畫視頻.本文將所研究的交互運動規(guī)劃主要分為定性規(guī)劃與定量計算, 其中未涉及自然語言理解研究.圖1為系統(tǒng)整體流程圖.

圖1 系統(tǒng)整體流程圖
本體[11]是由AI中的語義網(wǎng)絡(luò)演化的一種概念化的、結(jié)構(gòu)化的表示方法.它能夠描述語言文本中隱含的深層語義, 能夠有效的處理復(fù)雜的知識.Protégé[12]軟件是斯坦福大學(xué)醫(yī)學(xué)院生物信息研究中心基于Java語言開發(fā)的本體編輯和知識獲取軟件, 或者說是本體開發(fā)工具, 也是基于知識的編輯器, 主要用于語義網(wǎng)中本體的構(gòu)建, 是語義網(wǎng)中本體構(gòu)建的核心開發(fā)工具.Protégé提供了本體概念類, 關(guān)系, 屬性和實例的構(gòu)建,并且屏蔽了具體的本體描述語言, 用戶只需在概念層次上進行領(lǐng)域本體模型的構(gòu)建[13].本系統(tǒng)構(gòu)建本體庫的工具采用 Protégé.
建立交互動作庫, 定義交互動作類, 這是研究交互運動最為初始的一步.交互動作庫是對動作屬性和關(guān)系的集中描述, 其中交互動作是由若干單個原子動作所組成的, 根據(jù)系統(tǒng)的實際需求以及動作本身特性, 定義每個交互動作所相關(guān)的主題與模版, 建立類與類之間、實例與實例之間的關(guān)系.目前, 手機3D動畫自動生成系統(tǒng)中, 共有 3 大交互動作類, 27 個子類, 58 種交互類型, 129個單個原子動作, 能夠基本表現(xiàn)日常生活中的人物交互情形.圖2展示了交互動作庫的部分分類.

圖2 交互動作庫示意圖
根據(jù)交互動作的完成度, 我們將其分為三類:交互動作準備階段(PrepareAction), 交互動作執(zhí)行階段(ExcuteAction), 交互動作完成階(CompleteAction).
交互動作準備階段(PrepareAction)主要包括一些位移類動作與情緒類動作, 比如跑、跳、傷心、哭泣等, 如圖 2(a).
交互動作執(zhí)行階段(ExcuteAction)主要包括一些可構(gòu)成交互行為的動作, 比如打電話、接電話、遞東西、握手等, 如圖2(b).
交互動作完成階段(CompleteAction)主要包括一些事件類動作, 比如喝水、道歉等, 如圖2(c).
交互動作定性規(guī)劃部分是以交互動作庫為基礎(chǔ),根據(jù)信息抽取的主題和模版來推出和短信內(nèi)容相符的交互動作.定性規(guī)劃遵循以下的策略:
1) 根據(jù)動畫主題與模版抽取相應(yīng)的動作, 如果根據(jù)動畫主題與模版能推導(dǎo)出虛擬人物需要進行的動作可以是交互動作, 則在交互動作庫中推出相符的動作.
2) 根據(jù)短信原子信息從模型庫中抽取人物模型,若根據(jù)動畫主題抽取的是單人動作, 則對添加的人物模型依次添加動作;若根據(jù)主題抽取的動作為交互動作且人物數(shù)量滿足交互動作需求, 則對添加的人物規(guī)劃交互動作狀態(tài)并添加交互動作;而當人物數(shù)量不滿足交互動作需求時, 則再次添加人物模型后再添加交互動作.
以短信“中午一起吃飯吧”為例, 將短信輸入到到系統(tǒng)中, 信息抽取結(jié)果以xml文件形式保存, 抽取到的主題與模板信息表示方法如下:

由信息抽取結(jié)果可知抽取到的主題為“吃飯”, 抽取到的模版為時間模板“中午”與動作模板“吃飯”, 因此根據(jù)主題“吃飯”來添加動作.定性規(guī)劃文檔以xml文件形式保存, 交互動作定性規(guī)則信息表示方法如下:

由定性規(guī)劃描述規(guī)則可知, 動畫添加了3人虛擬人物, 其中兩個人配合執(zhí)行交互動作, 第三個人做單人動作(一個人多個動作).交互動作為人物M_ busman踢足球后接到人物M_ girl傳遞的水杯喝水, 交互物水杯M_DrinkBottle, 單人動作為接到電話后去吃飯, 綁定交互物為手機M_Phone與漢堡包M_Hamburger.
動畫的制作過程主要包括場景選擇、模型添加、攝像機添加等.其場景大多存在地面(通過平面模型來模擬地面), 一些房屋、建筑、日常模型以及人物都需要在地面進行規(guī)劃, 因此需要在場景中給虛擬人物劃分運動區(qū)域, 該區(qū)域稱為人物可用空間.與單人動作規(guī)劃不同, 當虛擬人物處在不同可用空間時, 進行交互動作規(guī)劃時可能會出現(xiàn)一個虛擬人物穿越障礙物后到達另一個虛擬人物身邊進行交互動作.因此本文將這兩個虛擬人物放在同一可用空間進行交互規(guī)劃.
定量計算是整個交互動作規(guī)劃最重要的部分, 計算結(jié)果直接影響虛擬人物之間動作交互效果的好壞.虛擬人物在進行交互動作時不同于單人動作, 不能僅僅只考慮動作本身, 還需要考慮與其構(gòu)成交互行為的動作數(shù)據(jù)的位置與朝向, 也就是要確定動作執(zhí)行雙方的身體姿態(tài)以及交互雙方之間的時空關(guān)系.因此, 針對定性部分的規(guī)則表達, 運動定量部分完成解析并采用對應(yīng)的策略進行實現(xiàn).以雙人交互為例, 將具有交互行為的雙方分割開來, 分別對其所進行的動作進行計算處理, 提取交互雙方感興趣區(qū)域的數(shù)據(jù), 運用FK與IK計算得到虛擬人物的交互骨骼狀態(tài), 在場景中進行規(guī)劃計算, 將識別計算結(jié)果融合判斷.若交互雙方之間存在交互物綁定, 還需要計算交互雙方之間所綁定的交互物的傳遞方式以及規(guī)劃交互物本身的路徑.
以雙人交互為例, 兩個虛擬人物模型需要放在同一個人物可用空間上進行交互規(guī)劃, 若初始位置相對較近或人物位置重疊, 會造成無法正常完成交互動作規(guī)劃;若人物執(zhí)行交互動作時朝向不加限定, 則會使得交互動作含義表現(xiàn)的并不明確.因此這里需要對各個人物模型的初始位置以及初始朝向進行規(guī)劃計算.虛擬人物初始位置計算以及朝向規(guī)劃執(zhí)行如下算法:

5) 統(tǒng)計區(qū)域內(nèi)最終添加的人物數(shù)量以及位置信息、旋轉(zhuǎn)信息, 將區(qū)域內(nèi)的具有交互動作行為的人物互為參照物, 計算其所需旋轉(zhuǎn)的角度, 其旋轉(zhuǎn)角度為ale=arctanθ?180/PI, 如圖3(b)為兩個人物的位置以及區(qū)域劃分;
6) 統(tǒng)計旋轉(zhuǎn)后的人物模型的位置、旋轉(zhuǎn)信息, 并加入到序列l(wèi)istPerson(k), 其中k∈ {kr,r∈Z+}.

圖3 虛擬人物初始位置規(guī)劃示意圖
虛擬人物之間要想實現(xiàn)交互動作, 除了要確定交互雙方的位置關(guān)系以及相對距離, 還需要給人物添加運動路徑.以一個握手動作為例, 由于虛擬人物初始位置是在可用空間內(nèi)隨機確定的, 雙方要想完成握手動作, 必須在握手動作前添加位移動作并給人物規(guī)劃運動路徑.因此, 必須先通過虛擬人物的根骨骼狀態(tài)(位置坐標、旋轉(zhuǎn)值坐標)來計算感興趣點的位置, 只有當交互雙方感興趣點間的距離處于該類交互動作的范圍時, 才表明此時可以完成交互動作, 其中的計算需要通過組合運用FK以及IK才能得以實現(xiàn).路徑規(guī)劃流程圖如圖4所示.
接下來介紹FK與IK計算原理.FK是一種通過“目標驅(qū)動”來實現(xiàn)的運動方式, 通過設(shè)定人體各個關(guān)節(jié)的旋轉(zhuǎn)角來獲得人體在特定時刻的位置與轉(zhuǎn)角, 并且可以由父骨骼的位置和子骨骼的相對變換來得到子骨骼的位置[14].由此可以得出, 對于骨骼鏈上的每一個節(jié)點, 使用一個關(guān)節(jié)變量來表示這個節(jié)點處兩個相鄰坐標系空間變換M, 對于每個旋轉(zhuǎn)關(guān)節(jié)i處的變換是由位移與旋轉(zhuǎn)兩部分構(gòu)成的, 這兩個量是相對于父節(jié)點坐標系的相對值, 即:

其中,T(xi,yi,zi)是指從父關(guān)節(jié)節(jié)點i- 1到當前節(jié)點i的位移矩陣,R( θi)是指繞著關(guān)節(jié)i的旋轉(zhuǎn)軸旋轉(zhuǎn)了θi的旋轉(zhuǎn)矩陣.


圖4 虛擬人物路徑規(guī)劃流程圖
IK與FK的求解思想恰恰相反, 基本原理是根據(jù)末端骨骼的位置求解出關(guān)節(jié)鏈中每個關(guān)節(jié)節(jié)點的位置與方向[15].根據(jù)公式(2)可知, 如果此時一個骨骼鏈上的關(guān)節(jié)節(jié)點變量組成的向量為p=(M0,M1···Mn-1Mn),在FK中, 計算末端效應(yīng)器的坐標和旋轉(zhuǎn)的向量x(x=(T,R))是一個簡單的矩陣乘法問題, 如下:

而如果將末端效應(yīng)器放在固定的位置與朝向x, 根據(jù)其計算合適的節(jié)點變換向量p, 需要解決公式(3)的逆, 即:

根據(jù)公式(3)可知, 可以根據(jù)p求出唯一的x值, 但從公式(4)可知, 已知x可以求出很多值.針對多值問題, Welman C[16]于 1993 提出的雅克比轉(zhuǎn)置法與循環(huán)坐標下降法(CCD算法).本文最主要采用雅克比轉(zhuǎn)置法, 這是因為我們在計算節(jié)點坐標位置時關(guān)注的是整條反向運動骨骼關(guān)節(jié)鏈, 而不僅僅是觀察計算某一個后繼鏈接.
對于公式(4)多解的問題, 我們需要對其進行線性化, 通過建立關(guān)節(jié)的速率與末端效應(yīng)器的速率來縮小范圍求解.對公式(3)兩邊求導(dǎo)可得:

J即是雅克比矩陣, 公式(5)進一步可得:

J-1即是雅克比矩陣的轉(zhuǎn)置.
為了根據(jù)交互雙方感興趣點距離來計算人物的最終位置, 對交互動作分類分析并統(tǒng)計得到以下三類骨骼距離范圍值:骨骼相接觸、骨骼間存在交互物(較小)、骨骼間存在交互物(較大).如表1所示, 表格中表明了這三類交互類動作感興趣點距離均值的所處范圍(值滿足X、Y、Z坐標最大值、最小值之間), 均值處于這個范圍間的點才可以完成交互動作.

表1 交互類動作感興趣點距離
虛擬人物路徑規(guī)劃執(zhí)行如下算法:

本文中的原始動作數(shù)據(jù)來源包括兩個部分:1) 從原始2455個BVH動作文件中選取合適數(shù)據(jù);2) 使用動作拼接技術(shù)對原始BVH動作進行拼接修改.這些BVH數(shù)據(jù)需要經(jīng)過人物根關(guān)節(jié)坐標以及角度標準化后, 轉(zhuǎn)換成FBX數(shù)據(jù)存儲到交互動作數(shù)據(jù)庫中.實驗方面使用動畫制作軟件MAYA作為底層動畫制作和生成平臺, 采用1×1個單位的網(wǎng)格作為基本長度單位,其中人物模型高度為32個單位, 軀干寬為4個單位,臂長為10個單位.當添加動作后, 人物最大運動姿態(tài)MAX為24個單位, 最小運動姿態(tài)MIN為6個單位,旋轉(zhuǎn)姿態(tài)為14個單位.程序運行在DELL酷睿雙核圖形工作站上, 由MAYA生成的動畫原始文件通過10臺曙光標配刀片服務(wù)器渲染合成.
交互動作規(guī)劃實驗包括交互動作規(guī)劃有效性、交互動作規(guī)劃多樣性、規(guī)劃辨識度與對比性三個方面.交互規(guī)劃有效性是指當前交互動作是否能夠反映動畫的主題以及交互動作規(guī)劃是否成功, 規(guī)劃辨識度與對比性實驗是指執(zhí)行交互規(guī)劃與不執(zhí)行交互規(guī)劃所生成動畫效果的對比;交互動作規(guī)劃多樣性是指針對于同一條短信內(nèi)容, 是否可以有多種交互動作規(guī)劃來對短信內(nèi)容進行表達.
為了驗證交互動作規(guī)劃有效性, 實驗統(tǒng)計了課題組2017年7月到12月之間測試的短信, 總計270條.其中動畫生成失敗的有14條, 造成原因有:服務(wù)器啟動不當、渲染出現(xiàn)異常.其余256條短信全部生成動畫, 其中有37條沒有進行動作規(guī)劃, 原因是由于根據(jù)短信以及信息抽取并沒有抽取到人物模型, 不需要進行動作規(guī)劃.剩余219條短信全部進行動作規(guī)劃, 其中有78條進行單人動作規(guī)劃, 剩余141條短信進行了交互動作規(guī)劃.其交互規(guī)劃所包括人物初始位置規(guī)劃、路徑規(guī)劃、交互物規(guī)劃等均計算規(guī)劃成功.
由于實驗結(jié)果是以動畫形式展現(xiàn), 因此將這141條短信做成調(diào)查問卷, 評價指標與評價占比如表2.
根據(jù)上表可知, 調(diào)查情況顯示認為交互動作對于動畫內(nèi)容以及主題有著良好表達效果的所占百分比均超過了70%, 說明為虛擬人物進行交互動作規(guī)劃對于補充描述動畫內(nèi)容與表現(xiàn)動畫主題方面有著好的效果,因此在手機短信動畫自動生成系統(tǒng)中, 對虛擬人物進行交互動作規(guī)劃是非常有必要的.

表2 評價指標以及占比表 (%)
取其中一個經(jīng)過交互規(guī)劃定量計算生成的原始MAYA文件如圖5.圖5(a)為經(jīng)過添加人物未進行規(guī)劃的原始場景圖, 由于給定了一塊人物運動區(qū)域, 交互雙方由于初始位置每次都是不確定的, 因此根據(jù)雙方位置距離以及感興趣點分布, M_girl模型計算并生成可以完成交互動作內(nèi)容的運動路徑, 如圖5(b);圖5(c)(d)表示人物M_girl經(jīng)過定量計算后綁定路徑, 走向具有等待動作行為的人物M_boy后完成握手交互動作.

圖5 定量計算結(jié)果示意圖
本次實驗針對短信內(nèi)容為“今天是星期天, 大家一起去戶外活動吧”連續(xù)測試100條, 經(jīng)過系統(tǒng)整體流程生成的動畫短信數(shù)目為100條, 其中根據(jù)短信添加虛擬人物個數(shù)的不同, 生成動畫包括單人動作、交互動作+單人動作、交互動作+交互動作這三種不同組合情形.而在交互動作中, 在可以表達短信主題的基礎(chǔ)上,交互動作動作準備階段以及完成階段的動作都是可變的.因此這100個生成的短信動畫總共包含7種動作規(guī)劃, 56 種不同的動作組合.實驗表明, 交互運動規(guī)劃增添了動畫表現(xiàn)的多樣性.圖6所展示的是根據(jù)主題進行交互運動規(guī)劃規(guī)劃的數(shù)據(jù)統(tǒng)計結(jié)果, 其中x軸表示的是測試短信經(jīng)過信息抽取所得到的個主題, y軸表示根據(jù)主題所選擇的動作組合個數(shù).

圖6 動畫生成片段示意圖
取其中生成的短信動畫片斷截圖, 如圖7所示其場景為baskerball場景, 添加3個虛擬人物, 其中執(zhí)行交互動作的兩個虛擬人物為M_girl與M_busman, M_girl動作準備階段執(zhí)行的為具有路徑規(guī)劃的拍球動作,M_busman定量計算經(jīng)過路徑規(guī)劃后走到M_girl身邊將水瓶遞給她, M_girl執(zhí)行喝水動作, 其中圖 7(a)、(b)、(c)、(d)分別為動畫在第25幀、第75幀、第195幀、第265幀的截圖.圖8截取的場景是為schoolroomOut, 添加的2個虛擬人物為M_boy與M_girl, M_girl動作準備階段執(zhí)行的為具有等待行為的動作, M_boy綁定交互物圖書并經(jīng)過定量計算規(guī)劃后走到合適位置將書本遞給M_girl, M_girl執(zhí)行表示感謝行為的動作, M_boy執(zhí)行表示謙虛的動作.其中圖8(a)、(b)、(c)、(d)分別為動畫在第 48幀、第128幀、第218幀、第298幀的截圖.

圖7 動畫生成片段示意圖

圖8 調(diào)查問卷示意圖
針對20條不同的短信文本, 分別在有交互規(guī)劃運行以及無交互運動規(guī)劃下[17,18]的手機3D系統(tǒng)中進行運行測試, 每條短信文本測試4條, 測試共計160條短信, 最終生成的動畫數(shù)量為160, 在其隨機選取20個動畫制成網(wǎng)絡(luò)調(diào)查問卷, 并提出“我知道人物是什么動作”, “我認為人物運動很流暢”, “我認為人物運動符合短信內(nèi)容”, “我認為人物運動效果很好”和“我認為沒有人物運動更好”5個針對性問題以及“交互動作規(guī)劃較于單人動作規(guī)劃表達動畫主題更為優(yōu)秀”1個對比性問題.問題采用 10 分制評價, 對問題的認同度越高, 分數(shù)越高.截至2018年1月10日, 共收到有效問卷18份.如圖8為調(diào)查問卷示意圖.
表3是調(diào)查問卷平均分統(tǒng)計結(jié)果.從圖6可看出,不進行運動規(guī)劃的平均分值小于3, 說明當前人物運動規(guī)劃對于手機3D動畫自動生成系統(tǒng)具有一定提升價值, 但還有很高的提升空間;對于調(diào)查問卷中的對比性問題“交互動作規(guī)劃較于單人動作規(guī)劃表達動畫主題更為優(yōu)秀”用戶其評分超過了7, 其余運動規(guī)劃的辨識性、合成效果、短信符合程度、運動整體感覺的4個指標的平均分值略高于6, 說明當前交互運動規(guī)劃能夠良好的表現(xiàn)動畫內(nèi)容, 且系統(tǒng)中存在交互運動規(guī)劃相較于無交互運動規(guī)劃優(yōu)勢明顯, 用戶體驗更好, 人物交互運動規(guī)劃達到了預(yù)期效果.
本文研究的主要內(nèi)容是首次在手機3D動畫自動生成系統(tǒng)中添加虛擬人物交互運動規(guī)劃自動生成功能,將語義網(wǎng)技術(shù)、MAYA、骨骼動畫與FK/IK應(yīng)用到手機3D動畫生成系統(tǒng)中, 實現(xiàn)虛擬人物交互運動的動態(tài)規(guī)劃.首先提出三層動作識別判斷方法對交互動作進行階段劃分, 建立交互動作庫并對交互動作屬性進行刻畫, 結(jié)合模型本體庫與情節(jié)規(guī)劃庫, 根據(jù)主題以及場景信息添加交互動作, 之后運用FK以及IK動態(tài)計算虛擬人物的骨骼坐標以及運動狀態(tài), 動態(tài)規(guī)劃虛擬人物運動路徑以及交互物路徑, 從而完成虛擬人物動作之間的交互響應(yīng), 最終實現(xiàn)對虛擬人與虛擬人之間、虛擬人與交互物之間的交互運動.

圖9 交互動作規(guī)劃結(jié)果表

表3 調(diào)查問卷平均分統(tǒng)計結(jié)果表
本文主要研究的是雙人交互以及三人交互, 這是由于多人交互與群體動畫在處理虛擬人物位置關(guān)系、計算虛擬人物運動路徑上會更為復(fù)雜, 并且隨著虛擬人物的增多, 動畫渲染時間也會增加, 同時對系統(tǒng)硬件環(huán)境要求有所提高, 不滿足當前實際情況, 對于多人交互規(guī)劃還需要依據(jù)今后實際情況進行研究.另外, 由于當前規(guī)劃受限于交互動作庫的豐富程度以及動作精細程度, 需要對交互動作庫進行數(shù)據(jù)添加以及對動作數(shù)據(jù)精細化處理;然而動作庫若是無限進行添加則會增加搜索計算量, 因此如何在數(shù)據(jù)量增加的同時提高搜索效率或者研究對基本骨骼數(shù)據(jù)加工重定向獲得更多新的動作數(shù)據(jù), 也是接下來進一步研究的重點.