前言
這篇文章將會講述 Animator 中 Play 和 Transition 的差異和特色。
Video | 影片
下方是我用來示範的 Youtube 影片,可以點擊進去看看 Animation.Play和Animator Transition 的差異,很輕鬆就能看出差異。
Animator & Animation
在之前就有三篇文章介紹 Unity 動畫的運用方式,分別從名詞和視窗介紹到簡易和高階程式控制,想了解基本知識可以參考下列連結,今天要介紹的是其中關於 Play 和 Transition 這兩種控制方式的差異。
Play | 播放
在我們寫程式的過程中,Animation.Play 很常用,這能解決新手的大部分問題,常見的使用方式為在 if 判斷式後添加,當玩家按下某一個按鍵後,會播放某一個動畫。
Transition | 過渡線
在我們更深入理解 Unity 動畫後,我們學習到複合組合會使用 Transition 連接不同的 Animation Clip ,遊戲設計師會使用不同的參數去控制動畫,
Animator.Play
接下來會介紹直接播放的特色。
指定轉換
Play 有播放的意思,也就是說會播放程式後面輸入的字串,因此使用這個程式會直接呼叫指定的 Animation Clip且不需要任何條件,無視所有 Transition 的連接,直接播放指定 Animation。
開頭或零延遲
雖然說你也可以所有動畫都用 Animation.Play 硬硬套,不過這個程式碼通常會用在一個動畫的開頭,通常是系列動畫的開頭,不播放完不允許切換的那種動畫,因此可以直接用程式碼呼叫。
它的播放即時且沒有延遲,不會有判斷延遲的問題,像是在角色動畫中的跳躍就很適合用 Animation.Play 來播放動畫,因為玩家按下空白鍵的那一剎那就會跳起來,不會有延遲。
Animator transition
當我們對著 Animation Clip 點擊右鍵,就可以新增一個 Transition,英文全名為 Make Transition,點擊後選擇想要連接的另一個 Animation Clip 就可以了。
銜接轉換
動畫在播放時,會有時間軸,當時間軸播放完成以後,會依循 Transition 的連接播放下一個 Animation Clip,點擊 Transition 可以進入路徑設定,其中有一個「Has Exit Time」取消勾選後,就可以在動畫播放中進入下一個。
補足缺失幀
經由 Transition 連接的動畫片段 (Animation Clip) 會自動補足衝間的缺失幀,因此設計師只需要設定開頭和結尾,系統會以最短路徑和平均的時間,自動幫你分配好中間的缺失幀,不需要一幀一幀的調整。
後記
這次是我在進行新遊戲構想的一個學習筆記,我一直以來都有使用簡單的播放和動畫控制編輯器的過渡線,不過在今天實際研究細節差異後,我才發現要補足缺少幀簡單的播放無法辦到,必須要過渡線才行。
我一直都念「ㄓㄣ」而非「ㄓㄥˋ」,結果查教育部才發現是後者,而且輸入法才能輸入,每一幀念起來不太習慣。
瓶裝雪
參考資料