• 沒有找到結果。

以運動擷取資料強化程序式動畫的設計輔助工具

N/A
N/A
Protected

Academic year: 2021

Share "以運動擷取資料強化程序式動畫的設計輔助工具"

Copied!
6
0
0

加載中.... (立即查看全文)

全文

(1)

以運動擷取資料強化程序式動畫的設計輔助工具

A Design Tool for Improving Procedural Animation

with Motion Capture Data

林享蓁

李蔡彥

國立政治大學資訊科學系

摘要

數位內容產業是目前台灣兩兆雙星計畫中的 雙星產業之一;而電腦動畫是數位內容範疇中極 富技術性及挑戰性的一環。動畫的應用除了在電 腦遊戲外,在其他娛樂及商業用途上,如電影、 電視、工業建築設計等,也都扮演相當重要的角 色。目前動畫的製作方式有很多種,其中兩種為 運動擷取與程序式動畫。本研究即針對上述兩項 動畫技術,嘗試結合兩項方法的優點,設計一套 輔助工具,用運動擷取資料改善程序式動畫的缺 點,輔助程序式動畫的模擬。目前針對人體不同 行走模式,以程序式動畫模擬產生類似動畫,並 計畫設計一套輔助工具,比對運動擷取資料與程 序式動畫的參數,自動化或半自動化調整程序式 動畫的參數,提高動畫的逼真度。 關鍵詞:運動擷取、程序式動畫、動畫設計輔助 工具 Abstract

Digital content industry is one of the Twin-Star projects in Taiwan. Among the various categories of digital contents, computer animation is the one that presents many technological challenges as well as many applications including computer games, films, TV and architectural design. Two common tech-niques in producing a computer animation are mo-tion capture and procedural animamo-tion. Both ap-proaches have their con and pro. In this work, we aim to take advantages of these two methods to de-sign an assisting tool for creating realistic human animation. We have designed a program to analyze motion capture data from a motion library and ex-tract animation features that can be used to assist in setting appropriate parameters for procedural ani-mation. This assisting tool compares the parameters between the motion capture data and procedural animation and adjusts the parameters of procedural animation automatically or semi-automatically to enhance the realism of animation. We use the

ani-mation of different walking styles as an example to demonstrate the use of this design tool.

1. 緣由與目的 現今常見的電腦動畫製作方法可分為以下三 類:運動擷取(Motion Capture)[10]、動力學模擬 (Dynamic Simulation)[3] 及 程 序 式 動 畫 (Procedural)[2]。目前動畫的製作為了提高逼真 性,大部份都會透過運動擷取的方式。運動擷取 經 由 不 同 角 度 紀 錄 真 人 演 員 運 動 時 的 肢 體 動 作;由於是真人示範,再結合 3D 人物角色,所 以會有較高的逼真度;但其缺點是運動擷取資料 是針對特定環境擷取的,對於環境的適應彈性不 高。因此,如應用環境一旦改變,擷取的動畫就 不見得適用,整個動作可能就必須再重新作擷 取,耗時又缺乏彈性。 另一方面,程序式動畫的製作方式是電腦根 據物體運動法則及環境條件,以演算法計算並模 擬動作,因此可重複使用性高且彈性較大,在有 障礙物限制的環境下,亦能產生避免碰撞的模擬 動作。然而,此類方法的缺點是模擬出來的結果 可能不夠自然。 基於上述兩種動畫製作方式的優缺點比較, 本研究嘗試結合兩種方法的優點,以運動擷取資 料來強化程序式動畫模擬的逼真度。我們設計了 一套動畫程序設計的輔助工具,以運動擷取資料 輔助程序式動畫的模擬。為了簡化問題以便之後 作延伸處理,我們目前所針對的運動項目是人體 不同的走路模式,並且將輔助焦點放在人體的下 半身運動。 2. 相關研究 過去有關人體動畫模擬的研究相當多,亦有 專書探討人體動畫模擬的各種方法以及研究面 向[1]。最早期人體動畫的研究,嘗試利用機構學 的原理,以程序模擬的方式,建立人體的運動模 Appear in Proceedings of the Second Conference on Digital Contents Management and Applications, 2007.

(2)

型[2]。中期的研究,則在以動力學的模型改進動 畫的擬真程度[4]。其中,亦有一些研究是混合機 構學及動力學的機制,以簡化的動力學模型,根 據給定的腳印位置,產生人體行走動畫[9]。但 是,由於動力學模型的建立與評估不易,且計算 複雜度較高,因此此方法不易適用到較複雜或未 知的環境。 近年來,最為普及的方法應屬以運動擷取的 方式產生動畫[10]。此方式的優點是動作自然及 成本有限,但缺點是擷取下來的罐裝動作能改變 的彈性較差。近年來許多研究的目的,都是在探 討如何有效調整此類運動資料,使其重用於不同 的人物或情境下。例如,以最佳化控制的原理滿 足時空上新的限制[8]。另外,也有以動力學原理 修改運動擷取資料的研究[11]。對於動作改變幅 度較大或環境變化較多的情境,僅能透過重新擷 取或後製作的方式補救。另一方面,近年來以程 序 方 式 及 運 動 計 畫 演 算 法 自 動 產 生 動 畫 的 研 究,由於軟硬體技術的提昇及其可能帶來的效 益,也有越來越多的趨勢[5][7]。 在設計及修改動畫動作的技術方面,也有把 在影像處理或訊號分析領域中使用到的技術,應 用到電腦動畫的設計及動作修正上[12]。另外亦 有針對關鍵格產生出來的動畫(Keyframing),以 運動擷取資料去作動作合成與比對的相關研究 [13]。 3. 系統設計 本研究在本實驗室過去有關程序式動畫的研 究基礎之上,嘗試以自動方式比對運動擷取資 料,進而調整程序化模擬的參數,以達到動作擬 真性的要求。 3.1. 蒐集各種運動擷取的資料 由於本研究建立在以運動擷取資料來對程序 式動畫作改善,所以需要蒐集與運動學方面有關 的運動擷取資料,我們從Carnegie Mellon 大學運 動擷取資料庫的網站(http://mocap.cs.cmu.edu/)選 擇要研究之動作的運動擷取資料。這些資料是由 運動擷取 3D 軟體自動連續抓取所有相關感應點 的變動狀況並紀錄而得的。 3.2. 針對擷取資料找尋適當人體幾何模型 由於不同的運動擷取資料所抓取的人體感應 點不見得相同,所以我們必須針對所蒐集到的不 同 的 運 動 擷取 資 料 , 使用 3D 動畫軟體工具 MAYA,建構可套用其動作資料的適當 3D 人體 幾何模型。由於本研究不著重在模型外表,所以 貼附於骨架上的Skin,先以簡單立方體為主。另 外,在建構的過程中,須維持原本運動擷取資料 骨架之間的階層性。 3.3. 匯入擷取資料 當建立完人體模型之後,我們在顯示的程式 中匯入之前選擇好的運動擷取資料,展示整套運 動擷取資料動畫。以Java 語言實作運動擷取資料 的 Parser,將分析完的動作套用到我們已建構完 成的 3D 人體幾何模型。目前我們是以套用人體 走路的動作為主,並以本實驗室的 3D 瀏覽器 (IMBrowser )[6]為基礎實作此人體動畫展示程 式。 3.4. 以程序式產生動畫 我們將針對之前選擇的運動擷取的動作項 目,以程序方式自動產生動畫,並將主要控制程 序式動畫的參數,如角度、主要關鍵格的時間分 配長短、重心位置、腳步大小和跨步高度等分離 出來。這部分我們以實作出來的 2D 程序式動畫 產生器為基礎,延伸到 3D 動畫上,藉由調整程 序式動畫參數,產生適當的動畫。 3.5. 設計輔助工具作比對 我們設計了一套半自動化的輔助工具,將之 前選擇的擷取數位資料與程序式動畫產生的動 作作初步結合。我們先分析結合結果,藉由使用 者設定,從運動擷取資料中,取得人體走路的三 個關鍵格的畫格間距,進而去推算間距比例,以 便去調整程序式動畫中,人體走路模式的主要三 個關鍵格所分配到的確切畫格數,以提升程序式 動畫的節奏自然性。 此工具程式未來可進行參數與動畫曲線的比 對,在接收使用者所設定的資訊與參數後,自動 將其餘的參數作比對,進而調整程序式動畫的參 數至與運動擷取資料相近的程度。之後,我們將 針對調整過後的狀況,分析參數的調整是否有其 限制。 4. 系統實作與討論 4.1. 人體模型的建構 我們選擇以3D 動畫軟體工具 MAYA 來建構 運動擷取資料所要套用的人體幾何模型。如圖一 所示,我們將運動擷取資料中的 ASF 檔(說明骨

(3)

架資料之檔案)匯入到 MAYA 中,先以簡單的立 方體在運動擷取資料所提供的骨架資料上建構 模型。雖然建構出來的模型與真人型態有所差 異,但大致上都可輕易判別出人體的各個部位。 圖一:MAYA 匯入運動擷取資料的人體骨架 我們將建構出來的 3D 人體幾何模型,匯出 成我們實驗室的研究平台IMBrowser 可以讀取的 VRML 檔,以便在此平台上顯示並作後續的處 理,如圖二所示。 圖二:用IMBrowser 秀出建構完成之模型 4.2. 實作運動擷取資料的 Parser 雖然目前已有運動擷取資料的現成 Parser, 但由於本實驗計畫以 Java 語言實作此研究平 台,而現成運動擷取資料的Parser 並沒有 Java 語 言的實作版本,因此我們選擇直接以Java 語言重 新撰寫運動擷取資料Parser 的程式。 運動擷取資料分為兩個重要的檔案項目,分

別為ASF 檔與 AMC 檔。ASF 檔裡存取了運動擷

取的真人演員的骨架資料,包含了骨架的名稱 (Name)、長度(Length)、方向(Direction)、自由度 (Dof Content)、旋轉軸(Axis)以及各關節的階層關 係等;而AMC 檔裡即針對 ASF 檔中所描述的各 個關節,給予了各關節自由度的角度變化(Dof Data)。我們所撰寫的 Parser 架構就如圖三所示: 圖三:本研究之Parser 架構 我們利用Java 語言實作出的運動擷取資料的 Parser,對於不同運動型態的擷取資料進行分 析,再將分析後的結果套用到我們之前所建構的 人體 3D 模型,並匯入到本實驗室的 3D 瀏覽器 IMBrowser 裡,實作動畫展示程式。圖四所示為 一前滾翻的動作,圖五則是我們之後要比對的人 體走路的三種模式。 圖四:在IMBrowser 上展示一前滾翻動作 Axis F1 Name Joint Fn ( Frame Index) F2 Dof Data[0] Dof Data[1] Dof Data[2] Direc-Length Dof ASF 檔 AMC 檔

(4)

圖五:三種不同的走路模式(左:正常走,中:慢 步走,右:大步誇張走) 4.3. 產生程序式動畫 以程序產生動畫的部份,我們是以本實驗室 所實作出來的 2D 程序式動畫產生器的設計為基 礎,將產生出來的 2D 動畫套用到本研究所建構 出來的 3D 人體幾何模型中,以便將 2D 的程序 式動畫延伸到 3D 動畫上,進而與以 3D 為基礎 的運動擷取資料作結合與比對的動作。 由於程序式動畫的人體模型是採用 H-Anim LOA1 規範,此種模型有固定的關節個數與名 稱,且關節有統一的階層關係,因此我們將以程 序式動畫人體模型關節的名稱為主,將運動擷取 資料所建構出來的 3D 人體模型關節名稱,對應 到程序式動畫的模型關節上。但另一方面,我們 以運動擷取資料所建構的 3D 人體模型的骨架長 度為基準,將其設為預設值,直接輸入給程序式 動畫產生器中的模型骨架長度,並調整程序式動 畫給予的可調參數(如圖六所示),進而產生符 合我們所建構的3D 人體模型的程序式動畫。 圖六:本研究平台提供的程序式動畫可調參數 程序式動畫給予的參數裡,其中的 Frames 1、Frames 2、Frames 3 即是人體走路的主要三個 關鍵格,經由使用者設定此三個關鍵格相對於在 運動擷取資料的位置後,即可算出三個關鍵格之 間的間距比例為何,進而去調整程序式動畫的這 三項參數,讓程序式動畫的走路動作節奏感更加 順暢。 4.4. 繪製動畫曲線 由於本研究的目的是要以運動擷取資料去輔 佐程序式動畫,因此我們希望將這兩種動畫產生 方式,以動畫曲線的表示方法,針對每個不同關 節的各個自由度作曲線繪製展示,以便之後作兩 者比對以及參數調整的後續處理。 我們是以JFreeChart[14]提供的 API 來繪製動 畫曲線圖,以整個動作的畫格索引(frame)為 X 軸;以自由度的角度變化(Radians)為 Y 軸,根據 使用者所選擇的關節項目,曲線圖上會顯示該關 節所擁有的各個自由度的角度變化。如圖七所 示,為選擇人體模型中的root 關節所顯示出來三 個自由度的角度變化曲線圖。當然,如果運動擷 取資料說明某關節只有一個或兩個自由度,該關 節的動畫曲線就僅僅會顯示一個或兩個自由度 的角度變化曲線。 另外,我們還在這個顯示動畫曲線的圖表 上,設計一個讓使用者設定 Keyframe 位置的設 定線(Traceline),使用者可藉由移動 Traceline 去 找尋最適合的 Keyframe 位置,當找到最適合的 關 鍵 格 後 ,滑 鼠 點 兩 下即 可 設 定該 frame 為 Keyframe,並可以滑鼠選擇某個細部區域進行放 大,亦可拖曳滑鼠到某個特定點上,查看曲線上 各點的詳細座標,可增加對運動擷取資料進行關 鍵格位置設定的準確性。 圖七:本研究平台所繪製的動畫曲線圖 4.5. 結合運動擷取資料與程序式動畫 由於程序式動畫人體走路的動作,是以三個 主要的關鍵格動作所組成的,而這三個關鍵格之 間的畫格間距如果沒有調整好,則可能會導致人 體走路會不流暢的現象。因此本研究先以人工設 定的方式,尋找相對於程序式動畫人體走路的三 個主要關鍵格動作在運動擷取資料的位置,進而 推算出關鍵格與關鍵格之間的畫格間距比例是 多少,再將計算後的結果送到程序式動畫去調整 這三項參數,以便提升程序式動畫的自然性。 我們已將 2D 程序式動畫所產生出來各關節 的一維角度變化,套用到運動擷取資料的人體模

(5)

型中。換句話說,我們以 2D 程序式動畫所產生 出來的動作為主,但程序式動畫所沒提供的自由 度部分,我們用運動擷取資料去補強,希望可以 使產生出來的動畫,保有程序式動畫的動作,亦 增添了運動擷取資料所提供的細節部份。未來我 們將進一步實作比對曲線的部份,以將參數的設 定調整自動化。 5. 結果與討論 本研究目前所針對的運動項目,為不同的人 體 走 路 模 式 , 分 別 有 正 常 走 路 模 式(Normal Walk)、慢步走路模式(Slow Walk),以及大步誇 張走路模式(Exaggerated Walk)等三種,另外還有 一 個 較 為 複 雜 的 運 動 擷 取 資 料 的 展 示 動 作 (Example)。我們使用 Java 和 Eclipse 作為實作系

統的程式語言和IDE,開發了一個研究平台。

使用者一開始可以先從「Load MoCap Data」

方框中,選擇想要匯入的運動擷取資料 3D 人體 模型,並可在該方框中的 Scale 輸入框內,放大 或縮小該模型。另外,在匯入的同時,本研究平 台介面中的「Chart」方框亦會根據所選擇的運動 擷取資料,變換不同的動畫曲線圖。在匯入完人 體模型之後,使用者直接按下「Load MoCap Data」方框內的「Load!!」按鈕,畫面即可顯示 一整套的運動擷取資料動作,本平台亦有提供控 制動畫軸,可供使用者來回選擇想要播放或暫停 的動畫畫面,以方便之後作關鍵格設定,如圖八 所示。 圖八:選擇匯入Example 的人體模型 而在動畫曲線圖部分,使用者亦可選擇想要 觀看的某關節自由度動畫曲線圖,並可放大縮小 某區域曲線圖的細節部份,以便找尋適當的關鍵 格位置,滑鼠所指到的曲線部分,亦會顯示該點 的詳細自由度與關鍵格座標,如圖九所示。 圖九:Normal Walk 的動畫曲線圖 而關於程序式動畫的產生,使用者可利用本 研究平台介面上的「Procedural animation Gen-erator」方框,調整介面上提供的程序式動畫參 數,再按下「Generate!!」按鈕,即可在之前已選 擇的 3D 人體模型上展示程序式動畫的部份,如 圖十所示。 圖十:程序式動畫產生介面 6. 結論 目前本系統已有最基本的服務項目,可讓使 用者選擇匯入 3D 人體模型、運動擷取動作資 料,亦可察看匯入資料後的各關節自由度動畫曲 線狀態,並可調整程序式參數以便產生程序式動 畫。另外,使用者也可自行設定主要關鍵格的位 置,系統即會自動化調整程序式動畫的相對應參 數,提高程序式動畫的逼真性。但這只是本研究 目的的其中一部份,對於接下來的參數曲線比 對,亦是本研究很重要的一個主題,但礙於時間 的關係,目前尚未處理到這個問題,這也是接下 來要繼續研究的部份。

(6)

而針對目前已有的成果,未來我們還可以作 的改善有以下三點: 1. 提供更多種運動項目:由於需先將問題簡 化,目前本研究只單純提供不同的人體走路 模式,在未來希望可以納入更多不同種類的 人體運動項目,以便增加此系統的可用性。 2. 延伸到人體上半身運動:由於程序式動畫所 使用的 H-Anim 人體模型與運動擷取資料的 人體模型,上半身關節有所差異,因此本研 究目前只針對人體的下半身運動進行實作, 希望在未來可以解決兩邊模型不一致的問 題,而延伸到上半身運動。 3. 動畫結合的準確性:由於運動擷取資料的動 畫曲線與程序式動畫曲線有明顯的差異,要 將兩者結合,並非單純替換自由度即可,還 需考慮關鍵格的相對時間長短,以及其他的 參考因素,因此動畫結合的準確性亦是未來 需要加強的部份。 參考文獻

[1] N.I. Badler, C.B. Phillips, and B.L. Webber,

Simulating Humans, Oxford University Press,

1993.

[2] A. Bruderlin and T.W. Calvert, "Goal-directed animation of human walking," in Proceedings

of ACM SIGGRAPH, 23(4):233-242, 1989.

[3] P.F. Chen, “Real-Time Planning for Humanoid Lower Body Motion,” Master Thesis, Com-puter Science Department, National Chengchi University, 2003.

[4] H. Ko and N.I. Badler, "Animating human lo-comotion with inverse dynamics," IEEE

Computer Graphics and Applications,

pp.50-59, March 1996.

[5] Kondo, J. Kuffner, and J.C. Latombe, “Plan-ning motions with intentions,” in Proceedings

of SIGGRAPH'94, pp.395-408, 1994.

[6] T.Y. Li, M.Y. Liao, and P.C. Tao, “IMNET: An Experimental Testbed for Extensible Multi-user Virtual Environment Systems,”

ICCSA 2005, LNCS 3480, Gervasi et al. (Eds.),

Springer-Verlag Berlin Heidelberg, pp. 957-966, 2005.

[7] T.Y. Li, P.F. Chen, P.Z. Huang, “Motion Plan-ning for Humanoid Walking in a Layered En-vironment,” in Proceedings of the 2003

Inter-national Conference on Robotics and Automa-tion, September, 2003.

[8] Z. Liu, S. Gortler, M. Cohen, "Hierarchical Spacetime Control", Computer Graphics,

An-nual Conference Series (Siggraph'94 Pro-ceedings), pp. 35-42, 1994.

[9] M. van de Panne, “From Footprints to Anima-tion,” Computer Graphics Forum. 16(5), pp. 211-223, October 1997.

[10] A. Witkin and Z. Popovic, “Motion warping,” in SIGGRAPH 95 Proceedings, Addison Wesley, pp.105-108, August 1995.

[11] V. Zordan and J. Hodgins, “Tracking and modifying upper-body human motion data with dynamic simulation,” in Proceedings of

Computer Animation and Simulation '99,

pp.13-22, September 1999.

[12] A. Bruderlin and L. Williams, “Motion Signal Processing,” in Robert Cook, editor,

SIG-GRAPH 95 Conference Proceedings, Annual Conference Series, pp. 97-104, August 1995.

[13] K. Pullen and C. Bregler, “Motion Capture Assisted Animation: Texturing and Synthesis,” in Proceedings of SIGGRAPH 2002, 2002. [14] JfreeChart, http://www.jfree.org/jfreechart/

參考文獻

相關文件

Teachers may consider the school’s aims and conditions or even the language environment to select the most appropriate approach according to students’ need and ability; or develop

Students in this Learning Unit should recognise the concepts of sample statistics and population parameters and their relationships:. Population Parameter

"Extensions to the k-Means Algorithm for Clustering Large Data Sets with Categorical Values," Data Mining and Knowledge Discovery, Vol. “Density-Based Clustering in

The research proposes a data oriented approach for choosing the type of clustering algorithms and a new cluster validity index for choosing their input parameters.. The

Wang, Solving pseudomonotone variational inequalities and pseudocon- vex optimization problems using the projection neural network, IEEE Transactions on Neural Networks 17

Define instead the imaginary.. potential, magnetic field, lattice…) Dirac-BdG Hamiltonian:. with small, and matrix

The relationship between these extra type parameters, and the types to which they are associated, is established by parameteriz- ing the interfaces (Java generics, C#, and Eiffel)

Microphone and 600 ohm line conduits shall be mechanically and electrically connected to receptacle boxes and electrically grounded to the audio system ground point.. Lines in