關於幀動畫,Tween 動畫,骨骼動畫等動畫的關係及分類是怎樣的? | 知乎問答精選

 

A-A+

關於幀動畫,Tween 動畫,骨骼動畫等動畫的關係及分類是怎樣的?

2018年08月31日 知乎問答精選 暫無評論 閱讀 7 ℃ 次

【AvatarYe的回答(26票)】:

這裡面混雜著好幾種不同性質,無法類比的概念。一個一個說。

首先「幀動畫」應該是指的是逐幀動畫,也就是動畫的每一幀都獨立地保存在媒體內,連續播放這些幀即形成了連續動態。一般常見於GIF動畫。廣義上來說,所有的視頻都屬於這個範疇。

「Tween動畫」是一個比較特殊的叫法。我估計可能是受到了Flash的影響。Tween其實是In-between的簡寫,指的是計算機自動插值補全關鍵幀Keyframe之間的動畫。補全的動畫既可以是動態Motion也可以是變形Morph。所以Tween其實只是一個補全的過程,更加合理的稱呼應該是關鍵幀動畫。

逐幀動畫和關鍵幀動畫才是相對應的兩個概念。在實際製作的過程中,由於成本的原因,很少有人逐幀製作了,但也有例外,可以查一下Rotoscoping,不展開了。即使傳統手繪動畫製作的過程中也是「原畫」和「動畫」兩組人馬分開進行——前者相當於Keyframing,後者Tweening。

「骨骼動畫」並不是一種動畫製作形式,而是一種製作手段。目前的動畫物體,特別是有機體,其構成和變形非常複雜,比方說一個由成千上萬個點構成的3D角色。儘管動畫本質上是這些點在空間內做位移構成的,但直接驅動這些點非人力能為。因此我們把運動簡化成骨骼來代表,並把點一一映射到骨骼上。構成骨骼的過程叫Rigging,把點映射到骨骼上的過程叫蒙皮Skinning。目前技術所限,Rigging和Skinning的過程基本上都是手工為主。專業的生產流程中由專人負責。

骨骼蒙皮完成後,採取何種形式動畫,那就是你的自由了。

反向動力學IK和正向動力學FK是一對骨骼系統特有的概念,指的是兩種相反的骨骼層級控制方式。舉個典型的例子,在上臂——前臂——手的層級上進行動畫,利用IK我們可以直接動畫手,前臂和上臂會自動調整成合理的角度,這是因為通過逆向動力學,我們可以計算出上臂和前臂骨骼應有的角度。如果沒有IK,而是使用FK,子物體是無法影響父物體。如果想讓手抬起來的話,就要先抬一點上臂,再抬一點前臂,最後調整手。這種顯然反直覺的動畫方式是效率非常低的。

總結一下,「逐幀動畫」和「關鍵幀動畫」是動畫製作形式。「骨骼動畫」是動畫製作手段,而IK和FK則是基於骨骼系統的兩種相對的控制方式。

【一張鈔票的回答(7票)】:

應該說所有動畫都是基於關鍵幀的。

幀動畫:一張一張的圖片,每張圖片是一個關鍵幀。

骨骼動畫:仿照「真實」的骨骼結構,建立一個節點樹,每個節點算是一個骨骼的關節,然後在這些關節上指定關鍵幀,通過一些計算來生成中間幀。所謂FK和IK,都是計算中間幀節點位置的方法。3D骨骼需要兩個步驟,一是rigging(綁骨),就是建立一個骨骼框架,而是skinning(貼皮?),就是把3D模型對應到骨骼框架上。2D骨骼其實是一個比較模糊的概念,可以按照3D這個流程走,進行綁骨和貼皮,但是很多遊戲所謂的2D骨骼並沒有一個嚴謹的骨骼結構(通常也沒有必要),而是直接在「皮」上做動畫。在骨骼基礎之上,用一些拉伸變形的非骨骼技巧也是非常常見的。

FK(Forward Kinematics,翻譯成正向運動?):就是直接指定節點的位置,然後簡單的計算中間幀位置。

IK(Inverse Kinematics,翻譯成反向運用?):正向的指定節點位置太麻煩了,根據一些簡單的觀察,大家(搞機器人和計算機圖形的)發現典型的人體運動是有規律的,關節彎曲的時候會以一個盡量「省力」的方法。IK就是定義一個「省力的標準」,自動生成中間節點的位置。比如一個動畫師在調手臂的動畫,用FK,他需要分別指定手關節和肘關節兩個節點的骨骼位置和方向,用IK,他只需要放置手關節的節點,動畫工具會根據算法自動生成肘關節的位置和方向。因為大部分IK的實現是基於經驗的簡單算法,所以通常會有一些死角和不可用的情況。想準確的計算骨骼中間節點位置需要模擬肌肉和骨骼的biomechanics,在一般的動畫軟件中做不大,也沒多大必要。

所謂tween動畫,我接觸這個名字是在flash裡。基本意思就是「補間」,也就是把兩個關鍵幀連起來。通常做法就是線性的計算中間數值(也可以是任何函數變換)。這種簡單的線性插值計算可以用在任何參數上,位置,大小,方向,等等等等。FK/IK可以說都在用,僅僅是計算兩幀之間的中間值而已。

【chenchen的回答(0票)】:

因為接觸移動端比較多,所以講下在移動端使用到的情況.

幀動畫和補間動畫(tween)

幀動畫

逐幀動畫是一種常見的動畫形式(Frame By Frame),其原理是在「連續的關鍵幀」中分解動畫動作,也就是在時間軸的每幀上逐幀繪製不同的內容,使其連續播放而成動畫。 因為逐幀動畫的幀序列內容不一樣,不但給製作增加了負擔而且最終輸出的文件量也很大,但它的優勢也很明顯:逐幀動畫具有非常大的靈活性,幾乎可以表現任何想表現的內容,而它類似與電影的播放模式,很適合於表演細膩的動畫。例如:人物或動物急劇轉身、 頭髮及衣服的飄動、走路、說話以及精緻的3D效果等等。

比如我們看的動漫,都是一張一張畫出來,效果細膩,想像空間大

在移動端的實現中,都是事先準備好一些需要循環的圖片,通過線程去循環播放。

這就涉及到了一個問題,資源。

補間動畫

補間動畫則是通過在兩個關鍵幀之間補充漸變的動畫效果來實現的。在程序的實現中,可以選擇性的添加透明度(alpha),位移(translate),旋轉(rotate)等animation來實現效果。

相對於幀動畫來說,補間動畫佔用資源少,調用方便。

嗯,暫時想到了這些,想到了會繼續補充。

拋磚引玉之用。

【老蔡的回答(0票)】:

IK, FK是關節運動解算的兩種方式,IK是通過控制子關節來帶動父關節的運動;FK是正向動力學,通過父關節來影響子關節,就好比手辦玩具。IK/FK都是通過控制單一關節的位移來計算整條關節連中各關節在一定結構下的運動角度,是一種很方便的控制方法,是動畫的工具,僅此而已。

幀動畫

所有的動畫都可以稱之為幀動畫,沒有幀就沒有動畫這個概念,甚至就連影像這個概念都不會有。

骨骼動畫

動畫製作中使用到骨骼工具就算是用骨骼製作的幀動畫,簡稱骨骼動畫。

tween動畫

tween就是補間,所謂補間就是根據前後兩個關鍵幀來自動計算中間的過度畫面。補間的幀數和時間長度是完全可控的,但是在處理複雜運動時,效果非常不理想,通常需要大量手動修改。

樓主可以從基本的二維軟件,如Flash開始學起,單看概念很容易木。

補充一下:動畫就是動畫,動起來的畫。一般只有在風格和表現手法上進行分類,很少會單純從技術上分類。就好比電影,你不會太在意拍攝時用了多少特效,用的什麼攝像機,膠片還是數字,色彩空間和寬容度是多少。

標籤:-互聯網 -移動互聯網


相關資源:





給我留言