Unity-Animator 組件
使用 Animator 組件可以將動(dòng)畫(huà)分配給場(chǎng)景中的游戲?qū)ο蟆nimator 組件需要引用?Animator Controller,后者定義要使用哪些動(dòng)畫(huà)剪輯,并控制何時(shí)以及如何在動(dòng)畫(huà)剪輯之間進(jìn)行混合和過(guò)渡。
如果游戲?qū)ο笫蔷哂蠥vatar定義的人形角色,還應(yīng)在此組件中分配Avatar,如下所示:

下圖顯示了如何將各種資源(動(dòng)畫(huà)剪輯、Animator Controller 和 Avatar)一起匯集在游戲?qū)ο蟮?Animator 組件中:

另請(qǐng)參閱狀態(tài)機(jī)、混合樹(shù)、Avatar、Animator Controller
屬性
屬性:????????????????????????????????????????????????????????功能:
Controller????????????????????????????附加到此角色的 Animator Controller。
Avatar????????????????????此角色的Avatar。(如果 Animator 用于對(duì)人形角色進(jìn)行動(dòng)畫(huà)化)
Apply Root Motion????????選擇從動(dòng)畫(huà)本身還是從腳本控制角色的位置和旋轉(zhuǎn)。
Update Mode????????????此選項(xiàng)允許您選擇 Animator 何時(shí)更新以及應(yīng)使用哪個(gè)時(shí)間標(biāo)度。
Normal????????????????Animator 與 Update 調(diào)用同步更新,Animator 的速度與當(dāng)前時(shí)間標(biāo)度匹配。如果時(shí)間標(biāo)度變慢,動(dòng)畫(huà)將通過(guò)減速來(lái)匹配。
Animate Physics????????Animator 與 FixedUpdate 調(diào)用同步更新(即,與物理系統(tǒng)步調(diào)一致)。如果要對(duì)具有物理交互的對(duì)象(例如可四處推動(dòng)剛體對(duì)象的角色)的運(yùn)動(dòng)進(jìn)行動(dòng)畫(huà)化,應(yīng)使用此模式。
Unscaled Time????????Animator 與 Update 調(diào)用同步更新,但是 Animator 的速度忽略當(dāng)前時(shí)間標(biāo)度而不顧一切以 100% 速度進(jìn)行動(dòng)畫(huà)化。此選項(xiàng)可用于以正常速度對(duì) GUI 系統(tǒng)進(jìn)行動(dòng)畫(huà)化,同時(shí)將修改的時(shí)間標(biāo)度用于特效或暫停游戲。
Culling Mode????????????您可以為動(dòng)畫(huà)選擇的剔除模式。
Always Animate????????????始終進(jìn)行動(dòng)畫(huà)化,即使在屏幕外也不要剔除。
Cull Update Transforms????????????未顯示渲染器時(shí),禁用變換組件的重定向、IK(反向動(dòng)力學(xué))和寫(xiě)入。
Cull Completely????????????未顯示渲染器時(shí),完全禁用動(dòng)畫(huà)。
動(dòng)畫(huà)曲線(xiàn)信息
Animator 組件底部的信息框?yàn)槟峁?Animator Controller 使用的所有剪輯中所用數(shù)據(jù)的明細(xì)。
動(dòng)畫(huà)剪輯包含“曲線(xiàn)”形式的數(shù)據(jù);曲線(xiàn)表示值如何隨時(shí)間變化。這些曲線(xiàn)可描述對(duì)象的位置或旋轉(zhuǎn)、人形動(dòng)畫(huà)系統(tǒng)中肌肉的彎曲或者剪輯內(nèi)的其他動(dòng)畫(huà)值(例如改變的材質(zhì)顏色)。
下表說(shuō)明了每個(gè)數(shù)據(jù)項(xiàng)代表的內(nèi)容:
標(biāo)簽????????????????????????????????????????????????????????????????????????????????描述
Clip Count????????分配給此 Animator 的 Animator Controller 使用的動(dòng)畫(huà)剪輯總數(shù)。
Curves (Pos, Rot & Scale)????????由 Unity 用于動(dòng)畫(huà)化游戲?qū)ο笪恢?、旋轉(zhuǎn)或縮放的曲線(xiàn)總數(shù)。這些曲線(xiàn)用于不屬于標(biāo)準(zhǔn)人形骨架的動(dòng)畫(huà)游戲?qū)ο?。在?duì)人形 Avatar 進(jìn)行動(dòng)畫(huà)化時(shí),這些曲線(xiàn)會(huì)顯示額外非肌肉骨骼(例如尾巴、飄逸的布料或懸垂的吊墜)的計(jì)數(shù)。如果您有人形動(dòng)畫(huà)并發(fā)現(xiàn)意外的非肌肉動(dòng)畫(huà)曲線(xiàn),表示動(dòng)畫(huà)文件中可能有不必要的動(dòng)畫(huà)曲線(xiàn)。
Muscles????????此 Animator 用于人形動(dòng)畫(huà)的肌肉動(dòng)畫(huà)曲線(xiàn)數(shù)量。這些是用于對(duì)標(biāo)準(zhǔn)人形 Avatar 肌肉進(jìn)行動(dòng)畫(huà)化的曲線(xiàn)。除了 Unity 的標(biāo)準(zhǔn) Avatar 中所有人形骨骼的標(biāo)準(zhǔn)肌肉運(yùn)動(dòng)外,此處還包括用于存儲(chǔ)根運(yùn)動(dòng)位置和旋轉(zhuǎn)動(dòng)畫(huà)的兩條“肌肉曲線(xiàn)”。
Generic????????由 Animator 用于動(dòng)畫(huà)化其他屬性(如材質(zhì)顏色)的數(shù)字(浮點(diǎn))曲線(xiàn)數(shù)量。
PPtr????????精靈動(dòng)畫(huà)曲線(xiàn)(由 Unity 的 2D 系統(tǒng)使用)的總數(shù)Curves Count動(dòng)畫(huà)曲線(xiàn)的合計(jì)總數(shù)Constant優(yōu)化為常量(不變)值的動(dòng)畫(huà)曲線(xiàn)數(shù)量。如果動(dòng)畫(huà)文件包含了具有不變值的曲線(xiàn),Unity 會(huì)自動(dòng)選擇此項(xiàng)。
Dense????????使用“密集”數(shù)據(jù)(通過(guò)線(xiàn)性?xún)?nèi)插的離散值)存儲(chǔ)方法進(jìn)行優(yōu)化的動(dòng)畫(huà)曲線(xiàn)數(shù)量。與“流”方法相比,此方法使用的內(nèi)存少得多。
Stream????????使用“流”數(shù)據(jù)(這些值具有用于曲線(xiàn)插值的時(shí)間和切線(xiàn)數(shù)據(jù))存儲(chǔ)方法的動(dòng)畫(huà)曲線(xiàn)數(shù)量。與“密集”方法相比,此數(shù)據(jù)占用的內(nèi)存多得多。
如果導(dǎo)入動(dòng)畫(huà)剪輯時(shí)在動(dòng)畫(huà)導(dǎo)入引用中將“Anim Compression”設(shè)置為“Optimal”,Unity 將使用啟發(fā)式算法來(lái)確定最好使用密集還是流方法來(lái)存儲(chǔ)每條曲線(xiàn)的數(shù)據(jù)。