unity之動畫分層
動作可以是單獨的一個,進行播放,也可以是融合得到的動畫。這時我們就需要不止一個動畫層,比如我可以有走的動作,也可以在走的同時播放揮手的動作。
層的索引值是從上往下遞增的,base層索引為0。選中了Override可以使其優先權提高。 Additive是指把當前層中動畫疊加到上一層中,weight屬性是權重,0表示層關閉,逐漸加大的過程中,逐漸表現該層效果。
1:操作步驟 注(引用自擅碼網monkey)
1.首先在 Animator 面板的 Layers 中新增一個新的層,並重新命名;
2.在面板上建立一個空的狀態,Entry 和該空狀態之間建立過渡線,也就是說當
動畫開始播放的時候,該層播放的是一個空動畫;
3.將 bow shoot 動畫拖拽過來與空動畫建立過渡線,並設定 Trigger 型別的
過渡條件,並編寫程式碼實現過渡條件的賦值;
4.將新的動作層的 weight(權重)設定為1。
5.新建一個 AvatarMask,新層的 Mask 的位置,設定上這個 AvatarMask;
2:操作如下圖所示:
第二層的idle是一個空動畫,然後與bow shoot連線,如下圖。
為了讓融合之後的動作互不干擾,上方播放揮手動作,下身播放行走動作。還必須建立一個Avatar Mask檔案進行設定,如下圖。