簡介: 如果我們制作的視頻需要有物體的運動,或相機的運動不是靜幀的畫面的話,就需要了解一下 Unity 的動畫系統(tǒng)
版本:Unity2019.4.12f1 HDRP 7.5.1
動畫類型
- unity 動畫系統(tǒng) 2D 和 3D 都支持,因為重根本上將都是使用動畫數(shù)據(jù)驅動物體運動,
- 有蒙皮動畫: Unity 2D 提供2d工具可以對精靈片進行蒙皮,用來制作 2D 的骨骼動畫 ,3D 的蒙皮骨骼文件基本都是由第三方軟件導出的,如 max,maya,blend 等。如果需要使用 2D 蒙皮功能需要在Package內(nèi)下載 2DAnimation 的插件。

使用unity提供的2DAnimation來給精靈片綁定骨骼
- 非蒙皮物體動畫:動畫可以直接在 untiy 內(nèi)制作,也可以在第三方軟件制作完成后導出文件到 untiy。
- 頂點動畫:例如從 Max 導出的 morpher 動畫文件
- 著色器動畫:不需要動畫文件,動畫直接在顯卡端直接計算,例如樹葉和小草的搖晃等,這些可以用統(tǒng)一規(guī)則計算的動畫
- 剛體動畫:unity 支持物理模擬動畫,例如物體之間的碰撞,沖撞,彈跳等。
- 我們這里沒有說骨骼動畫,因為骨骼動畫只是使用骨骼一層一層進行驅動,物體蒙不蒙皮都可以使用骨骼動畫,故這里沒有將其列為一類,如果按照美術的一般思維,骨骼動畫可以理解為蒙皮動畫
相關文件創(chuàng)建方法
- Animator :在Project面板右鍵依次選擇 Create -> AnimatorController

創(chuàng)建 AnimatorController
- Animation :在Project面板右鍵依次選擇 Create -> Animation (還有其它快捷方法會在以后的講解中提到)

創(chuàng)建 Animation 文件
- 添加 Animator 組件,選擇物體,然后點擊 AddComponent,搜索 Animator 添加組件

添加 Animator 組件
使用方式
- Unity 的動畫數(shù)據(jù)基本都是保存在一種叫做 animation 的文件內(nèi),包括從第三方導入的動畫也會自動生成這種 animation 數(shù)據(jù),它里面包含的就是動畫數(shù)據(jù)。
- Unity 需要動畫驅動的物體上需要掛在 Animator 組件(舊版的動動畫系統(tǒng)可以掛在aniamtion組件,這我們不對其進行介紹了)。
- Unity 需要動畫驅動的物體上掛載的 Animator 組件需要指定一種類型為 AnimatorController 的文件,Animator 組件通過 AnimatorController 來獲取動畫信息,對物體進行動畫。
- AnimatorController 的動畫數(shù)據(jù)來自于 animation 文件,一個 AnimatorController 文件內(nèi)可以包含 0 到多個 animation 文件,包含 0 個時,物體不會有動畫,包含一個以上時,根據(jù)設置決定使用哪個 animation 的動畫數(shù)據(jù)進行動畫。
- Animator 、AnimatorController 和 Animation 的關系就是, AnimatorController 包含 animation 文件,Animator 組件使用 AnimatorControlller 來提取其里面的 animation 數(shù)據(jù)進行動畫驅動。

Animator 、AnimatorController、Animation之間的關系