• 沒有找到結果。

第二章 相關研究

2.1 動畫產生方法

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

第二章 相關研究

2.1 動畫產生方法

在電腦動畫的研究領域中,除了透過動畫軟體製作以外,通常我們將電腦動畫的產 生方法分為程序式動畫和動作擷取兩類。這兩種方法各有其優缺點,也各自有其適用的 動畫類型和目的,以下就針對這兩種方法做概略的介紹。

2.1.1. 程序式動畫

人物角色的動畫控制一直是電腦動畫裡熱門的研究領域,並且有很多的研究集中在 角色的運動控制。程序式動畫就是其中一種方法,將人物的運動模型歸納後實作於程式 中,這是屬於以知識為基礎的動畫產生方式。程序式動畫的優勢在於可依事先設計好的 演算法自動產生動畫,達到即時的操控和互動的效果,此種方法更容易讓動畫師透過高 階參數來調整動畫。其中,有以剛體動力學(rigid body dynamics)來計算多關節的肢體 運動,可以動態的計算出運動的位置、速度、加速度,也就是動作中所有的幾何和時間 相關的參數,像是 Bruderlin 等人[15-18]是控制人物走路運動的相關研究,也有像是 Hodgins 等人([19]和[20])曾進行控制跑步、騎腳踏車等的人物運動研究。雖然動力學 方法可符合現實的物理特性,但卻難以讓一般使用者來調整物理相關參數像是力和力矩,

來達到想要的動作控制效果,且若是沒有經過參數調整,動作的效果會較不自然。物理 學方法通常需要較大的計算量,且動物或人物較無法使用物理公式或線性方程式來定義,

此方法較適用於無生命物的運動模擬,例如剛體、流體、布料及毛髮等的模擬。機構學 模型就是屬於動力學中的一種方法,本研究使用的主要技術就是程序式動畫中的機構學,

但並無考慮現實物理特性的動力學方法,而是利用正向機構學和反向機構學來定義出符 合自然的人物動作,以內插來計算動作與動作間的連續變化。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

機構學模型包含了正向機構學(forward kinematics)和反向機構學(inverse

kinematics),以圖 2.1 為例,假設 P1、P2、P3分別為肩膀、手肘、手腕三個關節點,P1P2

是肩膀到手肘的長度,而 P2P3是手肘到手腕的長度。假設 P1P2和 P2P3是已知的長度,

正向機構學就是使用 P1肩膀位置和θ1和θ2的移動角度來求出 P3手腕的位置,公式如下:

P3(x) = ̅̅̅̅̅̅ + ̅̅̅̅̅̅ ( ) (2.1)

P3(y) = ̅̅̅̅̅̅ + ̅̅̅̅̅̅ ( ) (2.2)

圖 2.1 正向機構學和反向機構學計算方式示意圖

而反向機構學則是使用 P1肩膀、P2手肘、P3手腕的位置和 P1P2P2P3已知的長度,

來求出θ1和θ2的移動角度,也就是在已知手腕目標位置的條件下,算出肩膀和手肘的 移動角度。公式如下:

( ̅̅̅̅̅̅̅ ( ̅̅̅̅̅̅̅ ̅̅̅̅̅̅̅ )

̅̅̅̅̅̅̅ ( ̅̅̅̅̅̅̅ ̅̅̅̅̅̅̅ ) ) (2.3) ( ̅̅̅̅̅̅̅ ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ ̅̅̅̅̅̅̅ ) (2.4)

以上都是在 2D 的平面空間中做計算,只會得到一組解。若是在 3D 的空間,因多了 一維的自由度,所以 P2手肘的位置會有 360 度旋轉的一個自由度(稱為 Swivel Angel),

如圖 2.2,P2會得到有限組解,在 3D 空間中沿著 X 軸的方向 360 度旋轉,可指定一個 軸向或角度來決定 P2的唯一組解。

θ1 P3 (x, y) P1

P2 θ2

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 2.2 3D 空間中機構學計算方式示意圖

在我們的研究中參考了 Tolani 等人[21]的 IK 求解器,並在我們的系統中實作可用 來解手、腳和身體的運動。在 3D 的空間中,如圖 2.3 所示,在固定肩膀 a 的位置並且 指定手腕 c 的位置以後,手肘以 ̅̅̅線段為軸心旋轉可以得到有限組解,給定一個 Swivel Angel 使得 abc 平面可沿著 ̅̅̅線段旋轉 θ 度,將可得到手肘的唯一解。在我們的研究中 以 end point 為已知條件的情況,就是使用此 IK 方法,並且搭配事先設計好符合自然動 作的 Lookup table 來求得 Swivel Angel,得到唯一解。

圖 2.3 Swivel Angle 示意圖

大多數的程序式動畫研究不僅僅只有產生局部動作,通常會搭配其他研究議題或應 用情境,有些研究把人物動作風格參數化加入到動畫中,並使用反向機構學來產生動畫,

x y z

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

其中 Chi 等人[22]和 Zhao 等人[23]從 LMA(Laban Movement Analysis)動作分析及 Amaya 等人[24-27]取用適當的個性風格參數,提出了 EMOTE Model 將 Effort 和 Shape 分別映 射到動作手勢和軀幹姿勢中以塑造不同人物性格的動畫。同樣類似的概念,本研究使用 高階的運動參數來對應到低階的程序中,創造出不同的運動效果。Chen 等人[28]也曾從 事典型的程序式動畫研究,使用關鍵格內插方法和 IK 來產生下半身的腳步動作,實作 出即時模擬人體走路動作的運動計畫器,並利用貝茲曲線來構成運動軌跡以順利跨越障 礙物,可克服在不平坦的地形下即時產生走路運動。

2.1.2. 動作擷取

動作擷取(Motion Capture)是一種捕捉真實人物動作的技術,也可稱為以圖形為基礎 的動畫產生方法。用任何方法得到人物運動的描述數據,透過分析、編輯以製作動畫並 可實作在相關研究應用中。原始數據可以採取不同的形式,取決於所要應用的方法,最 常見的獲得數據方法是光學和 Dyer 等人[29]的磁學。人物運動擷取的資料通常是數個靜 態的姿勢序列,每個姿勢都包含了關節的位置和方向,由數個姿勢資料來代表成一個動 作,且使用資料者可不需要對動畫角色的運動方式有所認知,因為擷取的資料來自於真 實演員的運動,且在所有動畫產生方法中此種方法也最為逼真。從動作擷取資料中,動 畫師可依需求將資料做編輯合成,動作編輯(Motion Editing)最基本的操作就是動作混 合(Motion Blending),它的目的在於將兩個動作擷取資料做平滑的連接,可以透過線 性方法將人物關節和位置做內插,基本的混合公式如下, ( )和 ( )是已知的兩個動 作擷取資料,利用線性內插混合出新的動作 ( ),其中 t 為時間,而 ( )是內插權重。

( ) ( ) ( ) ( ( )) ( ) (2.5)

但此方法的結果較為死板無變化,所以 Bruderlin 等人提出研究[30],使用訊號處理的方 法,將動畫的資訊從原來的時域轉換到頻域,然後使用頻域上的係數來做內插以合成新 的動作,在非直線的運動上確實有較好的效果。還有 Heeger 等人[31]的研究也顯示在頻

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

率空間中合成兩個圖像紋理是有用的,將圖像紋理數字化後,使用 histogram matching 技術即可簡單合成想要的圖像。Lee 等人[32]的研究中結合 hierarchical curve fitting 技術 和新的 IK 解法運用在動作擷取的資料上,調整動作細節以滿足目標人物,也是一個動 作編輯的應用研究。

另外一種動作擷取資料的處理方法是動作變形(Motion Warping), 通 常 我 們 會 有一個想要達到的目標來處理得到的動作資料,一方面保留原本資料的特性和結構,並 以此資料為基礎來定義一個新的動作資料。最早由 Witkin 等人[33]提出這樣的問題,試 圖滿足限制將原本的動作訊號經過變形成新的動作,如下的線性組合方法:

( ) ( ) ( ) ( ) ( ) (2.6)

其中 ( )是原本的動作資料, ( )是變形後的資料結果, ( )是動作訊號的縮放係數, ( ) 是用來做位移的, ( )則是用來做時間變形,也就是時間變化上的內插。

像是 Chan 等人[34]的研究,就是以動作擷取配合動作混合技術和 VR(virtual reality) 實作出跳舞的教學系統,並且加入回饋機制來達到更好的學習效果,由實驗的評估看來 確實是可以提高使用者的學習效果,和我們的研究目的相同都是教學動畫應用。同樣是 以運動教學為目的的還有王炫智[35],以太極拳 3D 動畫來評估使用者學習的成效,使 用動作擷取技術搭配 3D 動畫軟體 3DS Max 和 MotionBuilder 所做的教學動畫模擬。不 論是動作混合和動作變形方法都需要大量的動作擷取資料為基礎,經過動作的分析之後,

可建立出資料運算模型,以此來產生出所需要的動作。

由於動作擷取的資料來自真實的演員,所以在擬真度上是最為相近的,多數的動畫 研究都還是以動作擷取資料為基礎來做變化,或加入不同的參數以程序式方法應用於不 同目標的研究上。有些研究結合了程序式動畫和動作擷取的技術,如 Luo 等人[36]是以 手的運動為研究,從動作擷取的資料庫中辨識動作資料,加入程序參數來調整運動,並

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

配合動作混合來產生關鍵格。Liang 等人[37]也是同樣類型的研究,實作於人類走路風格 的應用。

我們比較程序式動畫和動作擷取兩種方法,以動作擷取來說,優點是動作取自真實 的演員所以擬真性很高,但卻有資料不易修改和資料量過大的缺點。而程序式動畫,因 為可以透過參數設計來調整動作,程序的重複使用性高,動作的變化也較多較容易,對 於動作的擴充和動作變化的彈性都較好,缺點是在擬真度上的表現,較難以達到和真實 演員一樣的動作效果。