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