摘要:針對(duì)動(dòng)作捕捉技術(shù)教學(xué)實(shí)驗(yàn)實(shí)施不便、實(shí)驗(yàn)設(shè)備搭建和維護(hù)麻煩等問(wèn)題,提出利用Kinecc鏡頭采集骨骼運(yùn)動(dòng)數(shù)據(jù),實(shí)時(shí)驅(qū)動(dòng)三維虛擬角色動(dòng)作并記錄輸出動(dòng)畫(huà)的方法,論述實(shí)時(shí)角色動(dòng)畫(huà)實(shí)驗(yàn)教學(xué)設(shè)計(jì)過(guò)程。
關(guān)鍵詞:實(shí)時(shí)角色動(dòng)畫(huà);Kinect鏡頭;實(shí)驗(yàn)教學(xué);教學(xué)設(shè)計(jì)
0.引言
隨著增強(qiáng)現(xiàn)實(shí)、虛擬現(xiàn)實(shí)和動(dòng)作捕捉等高級(jí)計(jì)算機(jī)視覺(jué)技術(shù)的發(fā)展,計(jì)算機(jī)三維動(dòng)畫(huà)的應(yīng)用范圍日益寬廣,在建筑場(chǎng)景交互展示、城市虛擬規(guī)劃、工業(yè)產(chǎn)品展示、角色動(dòng)畫(huà)等領(lǐng)域均有較大市場(chǎng),特別是《阿凡達(dá)》《變形金剛》《星球黎明》等一系列融合了三維建模、動(dòng)作捕捉等計(jì)算機(jī)三維動(dòng)畫(huà)技術(shù)的電影熱映以后,以動(dòng)作捕捉技術(shù)為核心,演員實(shí)時(shí)驅(qū)動(dòng)三維虛擬角色進(jìn)行動(dòng)作,記錄生成動(dòng)畫(huà)的角色動(dòng)畫(huà)制作方式變得流行。
目前各個(gè)高校開(kāi)設(shè)的三維動(dòng)畫(huà)課程在角色動(dòng)畫(huà)部分都以講授傳統(tǒng)動(dòng)畫(huà)技術(shù)為主,大致分為關(guān)鍵幀動(dòng)畫(huà)技術(shù)和渲染輸出技術(shù)兩大模塊,對(duì)上述新興的實(shí)時(shí)角色動(dòng)畫(huà)制作技術(shù)較少涉及。
1.動(dòng)作捕捉與實(shí)時(shí)角色動(dòng)畫(huà)技術(shù)的特點(diǎn)
近年來(lái),隨著在動(dòng)畫(huà)制作、影視特效、體感交互等領(lǐng)域的廣泛應(yīng)用,動(dòng)作捕捉及實(shí)時(shí)角色動(dòng)畫(huà)技術(shù)取得了長(zhǎng)足發(fā)展。目前普遍應(yīng)用的運(yùn)動(dòng)捕捉方式為電磁式和光學(xué)式兩大類(lèi),無(wú)論使用哪種,一般都要求演員穿著專(zhuān)業(yè)的運(yùn)動(dòng)捕捉服記錄動(dòng)作,如圖1所示。
運(yùn)動(dòng)捕捉基于計(jì)算機(jī)圖形學(xué)原理,通過(guò)傳感器——光學(xué)攝像頭或電磁傳感器將運(yùn)動(dòng)物體(如人)的運(yùn)動(dòng)狀態(tài)記錄下來(lái),最終得到基于時(shí)間維度的各個(gè)觀測(cè)點(diǎn)的三維空間坐標(biāo),其運(yùn)動(dòng)數(shù)據(jù)質(zhì)量的高低取決于捕捉觀測(cè)點(diǎn)的準(zhǔn)確程度,因此在對(duì)運(yùn)動(dòng)狀態(tài)記錄精度要求較高的應(yīng)用(如大型電影、面部表情動(dòng)畫(huà)、運(yùn)動(dòng)分析、精細(xì)肢端動(dòng)作交互等)中均需使用專(zhuān)業(yè)運(yùn)動(dòng)捕捉服裝并在服裝上準(zhǔn)確設(shè)置觀測(cè)點(diǎn)標(biāo)志,如光學(xué)式捕捉系統(tǒng)用的反光球或電磁式傳感器與電纜。
上述動(dòng)作捕捉得到的運(yùn)動(dòng)狀態(tài)數(shù)據(jù)精度較高,實(shí)時(shí)l生好,《變形金剛》《星球黎明》等電影的拍攝普遍采用此種方式。但對(duì)于教學(xué)實(shí)驗(yàn)而言,角色動(dòng)畫(huà)實(shí)驗(yàn)學(xué)時(shí)有限,每次實(shí)驗(yàn)都穿著服裝并進(jìn)行標(biāo)定并不現(xiàn)實(shí);同時(shí),動(dòng)作捕捉服裝及其附件價(jià)格較高,受設(shè)備數(shù)量和維護(hù)需要等限制也難以在本科生課程實(shí)驗(yàn)中應(yīng)用。
2.基于Kinect鏡頭的實(shí)時(shí)角色動(dòng)畫(huà)實(shí)驗(yàn)環(huán)境搭建
微軟發(fā)布的Kinect價(jià)格較低,能實(shí)時(shí)采集RGB彩色圖像和深度數(shù)據(jù)并可同時(shí)提供兩人的骨骼數(shù)據(jù)追蹤,鏡頭采用USB口與計(jì)算機(jī)相連,即插即用,硬件設(shè)置簡(jiǎn)單易行,如圖2所示。
Kinect鏡頭可用于體感捕捉的原因是:設(shè)備本身提供了可以采集對(duì)象在立體空間中的深度信息的鏡頭組。基于Kinect鏡頭和計(jì)算機(jī)平臺(tái)的實(shí)時(shí)角色動(dòng)畫(huà)制作實(shí)驗(yàn)開(kāi)發(fā)環(huán)境可以用圖3表示。
上圖中層①為硬件基礎(chǔ)層,核心部件是Kinect的傳感器,包括鏡頭角度驅(qū)動(dòng)馬達(dá)、攝像頭和麥克風(fēng)陣列。實(shí)驗(yàn)中主要用到的是鏡頭組。Kinect的鏡頭共有2個(gè),一個(gè)用于RGB彩色圖像采集,一個(gè)用于深度信息采集。還有一個(gè)紅外發(fā)射器,具體的原理可以參閱微軟公司的Kinect產(chǎn)品網(wǎng)頁(yè)。
層②為鏡頭設(shè)備的驅(qū)動(dòng)層,設(shè)備通用性較高,開(kāi)發(fā)系統(tǒng)具有良好的平臺(tái)移植能力。Kinect鏡頭的驅(qū)動(dòng)安裝非常簡(jiǎn)單,需要調(diào)用的部分主要是設(shè)備訪問(wèn)、視頻流控制和鏡頭組堆棧。
層③是自然人機(jī)接口NUI的API部分,也包括有音頻識(shí)別等功能的API。
要實(shí)現(xiàn)骨骼數(shù)據(jù)的實(shí)時(shí)傳輸,需要借助微軟發(fā)布的Kinect SDK,這個(gè)二次開(kāi)發(fā)包中提供了軟件類(lèi)庫(kù)和開(kāi)發(fā)工具,通過(guò)它可以捕獲體感交互中需要的自然數(shù)據(jù),如人體的骨骼信息(動(dòng)作信息)、深度信息(距離信息)、圖像信息等。Kinect鏡頭采集的骨骼數(shù)據(jù)如圖4所示。
3.Kinect骨骼數(shù)據(jù)驅(qū)動(dòng)的實(shí)時(shí)角色動(dòng)畫(huà)實(shí)驗(yàn)教學(xué)設(shè)計(jì)
筆者以三維動(dòng)畫(huà)設(shè)計(jì)課程中的“角色動(dòng)畫(huà)制作實(shí)驗(yàn)項(xiàng)目”為例,給出實(shí)時(shí)角色動(dòng)畫(huà)實(shí)驗(yàn)教學(xué)設(shè)計(jì)。
3.1實(shí)驗(yàn)項(xiàng)目概述
傳統(tǒng)的角色動(dòng)畫(huà)實(shí)驗(yàn)教學(xué)中主要利用3DSMax軟件中的骨骼動(dòng)畫(huà)技術(shù)完成角色動(dòng)作的關(guān)鍵幀編輯,完成后將動(dòng)作存儲(chǔ)為BIP文件,最后綁定角色模型和BIP動(dòng)作并渲染生成動(dòng)畫(huà)。筆者給出的方法主要是利用Kinect鏡頭實(shí)時(shí)采集演員動(dòng)作并生成BVH動(dòng)作數(shù)據(jù),通過(guò)3DSMax腳本加載后實(shí)時(shí)驅(qū)動(dòng)綁定好骨骼的角色模型,進(jìn)而記錄為動(dòng)畫(huà)。使用該方法,學(xué)生實(shí)驗(yàn)操作簡(jiǎn)單易行,能體會(huì)到流行的實(shí)時(shí)角色動(dòng)畫(huà)制作流程,調(diào)動(dòng)學(xué)習(xí)熱情,為學(xué)生進(jìn)一步學(xué)習(xí)高級(jí)角色動(dòng)畫(huà)技術(shù)打下基礎(chǔ)。
3.2實(shí)驗(yàn)關(guān)鍵步驟
(1)設(shè)備連接:Kinect硬件連接后利用系統(tǒng)中安裝的Kinect for windows Developer Toolkit進(jìn)行測(cè)試,可以通過(guò)調(diào)用其中的Skeleton Basic.WPF來(lái)進(jìn)行,以正確顯示綠色的骨骼線(xiàn)條。
(2)角色導(dǎo)入:打開(kāi)3DSMax軟件,加載角色模型(已綁定好骨骼BIPED),加載實(shí)時(shí)BVH腳本。
(3)實(shí)時(shí)動(dòng)作捕捉:實(shí)驗(yàn)演員在Kinect鏡頭前的有效范圍內(nèi)(離鏡頭1.4~3.8米)按預(yù)先編排的動(dòng)作腳本進(jìn)行動(dòng)作。
(4)保存動(dòng)作文件:設(shè)置渲染器并渲染輸出動(dòng)畫(huà)。
Kinect骨骼數(shù)據(jù)驅(qū)動(dòng)的實(shí)時(shí)動(dòng)畫(huà)制作如圖5所示。
3.3實(shí)驗(yàn)設(shè)計(jì)
本實(shí)驗(yàn)需6學(xué)時(shí),分兩次課進(jìn)行,中間間隔1周,學(xué)生有較充分的課下準(zhǔn)備時(shí)間。第1次課要求學(xué)生熟悉硬件設(shè)備環(huán)境和操作規(guī)程,完成角色模型的骨骼綁定對(duì)齊。第2次課要求學(xué)生進(jìn)行實(shí)時(shí)動(dòng)作捕捉并輸出結(jié)果,除了得到動(dòng)畫(huà)視頻文件外,還可以得到相應(yīng)的動(dòng)作文件BIP或BVH。
通過(guò)本次實(shí)驗(yàn)項(xiàng)目實(shí)踐,學(xué)生將完整掌握Kinect骨骼數(shù)據(jù)驅(qū)動(dòng)的實(shí)時(shí)角色動(dòng)畫(huà)制作技術(shù),熟悉動(dòng)作數(shù)據(jù)文件處理,為將來(lái)進(jìn)行大型或精細(xì)動(dòng)作的角色動(dòng)畫(huà)制作打下基礎(chǔ)。實(shí)驗(yàn)項(xiàng)目同時(shí)培養(yǎng)了學(xué)生的創(chuàng)新性思維,使學(xué)生學(xué)習(xí)的內(nèi)容緊跟技術(shù)的發(fā)展。
4.結(jié)語(yǔ)
實(shí)時(shí)角色動(dòng)畫(huà)制作技術(shù)與傳統(tǒng)的關(guān)鍵幀編輯制作方法相比,具有效率高、效果好、制作周期短等優(yōu)勢(shì),有較廣泛的應(yīng)用市場(chǎng)。該實(shí)驗(yàn)教學(xué)設(shè)計(jì)在學(xué)院3個(gè)專(zhuān)業(yè)、共計(jì)4輪的三維動(dòng)畫(huà)設(shè)計(jì)教學(xué)中進(jìn)行了實(shí)踐,深受師生歡迎。由于Kinect鏡頭成本低廉,動(dòng)作捕捉時(shí)無(wú)須穿著專(zhuān)業(yè)捕捉服裝,實(shí)驗(yàn)容易實(shí)施,且設(shè)備安裝維護(hù)方便,實(shí)驗(yàn)效果良好;通過(guò)結(jié)合實(shí)際動(dòng)畫(huà)制作項(xiàng)目,構(gòu)造虛擬教學(xué)情境,提高了學(xué)生學(xué)習(xí)的主動(dòng)性和參與度,實(shí)現(xiàn)了科技化教學(xué)。