Unity-動畫層
Unity 使用__動畫層__來管理不同身體部位的復雜狀態(tài)機。相應的示例為,您有一個用于行走/跳躍的下身層,還有一個用于投擲物體/射擊的上身層。
您可以從?Animator Controller?左上角的 __Layers 小部件__管理動畫層。


在每一層上,您可以指定遮罩(應用動畫的動畫模型的一部分)以及混合類型。Override?表示將忽略其他層的信息,而?Additive?表示將在先前層之上添加動畫。
可以通過按小部件上方的?+?來添加新層。
Mask?屬性用于指定此層上使用的遮罩。例如,如果您只想播放模型上半身的投擲動畫,同時讓角色也能夠行走、奔跑或站立不動,則可以在層上使用一個遮罩,從而在定義上半身部分的位置播放投擲動畫,如下所示:

動畫層同步
有時,能夠在不同層中復用同一狀態(tài)機是很有用的。例如,如果想要模擬“受傷”行為,并生成“受傷”狀態(tài)下的行走/奔跑/跳躍動畫,而不是“健康”狀態(tài)下的動畫,您可以單擊其中一個層上的?Sync?復選框,然后選擇要同步的層。隨后狀態(tài)機的結(jié)構(gòu)便會相同,但狀態(tài)使用的實際動畫剪輯不同。
這意味著同步的層根本沒有自己的狀態(tài)機定義,而是同步層狀態(tài)機的一個實例。在同步層視圖中對狀態(tài)機的布局或結(jié)構(gòu)所做的任何更改(例如,添加/刪除狀態(tài)或過渡)都是針對同步層的源進行的。同步層的唯一獨特更改是每個狀態(tài)內(nèi)使用的選定動畫。
通過 Timing 復選框,Animator 可調(diào)整同步層中每個動畫所需的時間(由權(quán)重決定)。如果取消選中 Timing,則會調(diào)整同步層上的動畫。該調(diào)整會將動畫的長度拉伸到與原始層上的一致。如果選中該選項,則動畫長度將在兩個動畫之間平衡(基于權(quán)重)。在兩種情況下(選中和不選中),Animator 都將調(diào)整動畫的長度。如果不選中,則原始層將是唯一母版。如果選中,則采用折中方案。

Layers 側(cè)邊欄中顯示“S”符號,表示該層是同步層。