Unity Animancer 插件,官方實(shí)例學(xué)習(xí)筆記01

Animanncer官方文檔地址:https://kybernetik.com.au/animancer/
Animancer官方文檔-示例地址:https://kybernetik.com.au/animancer/docs/examples/
建議要學(xué)的就去官網(wǎng)文檔跟著做一遍。
這篇文章用于保存我自己跟著官方示例學(xué)習(xí)所記錄的注釋
也可以當(dāng)參考看
總的來(lái)說(shuō):
1、準(zhǔn)備好需要的動(dòng)畫(huà)Clip
2、給要播放動(dòng)畫(huà)的GameObj添加Animator組件、AnimancerComponent組件
3、編寫(xiě)控制腳本

Quick Play

首先,要用 Animancer 插件播放動(dòng)畫(huà),需要在物體上掛載 Animator組件、AnimancerComponent組件

在上圖可以看到 Animator組件 中的 Controller 一欄是空的,我們不需要它。
Animancer組件 中的 Animator一欄記得分配

效果:

Tips:在默認(rèn)情況下?Animancer?播放完動(dòng)畫(huà)后不會(huì)自動(dòng)重新播放(即播放一次后停止,就算Plye方法放在Update里也一樣),除非 動(dòng)畫(huà)Clip 勾選了 LoopTime 。這里示例的待機(jī)動(dòng)畫(huà)Clip勾選了 LoopTime 所以它會(huì)在只調(diào)用一次 Play 后一直播放下去

Basic Movement




Tips:待機(jī)動(dòng)畫(huà)Clip和走路動(dòng)畫(huà)Clip要勾選LoopTime

Basic Action
現(xiàn)在我們要實(shí)現(xiàn)角色在單擊鼠標(biāo)后播放動(dòng)畫(huà)(開(kāi)槍),并在播放結(jié)束后回到待機(jī)動(dòng)畫(huà)
這個(gè)時(shí)候的效果

我們需要讓角色播放完這個(gè)動(dòng)畫(huà)后回到待機(jī)動(dòng)畫(huà),要實(shí)現(xiàn)這個(gè)
我們要獲取 Play 方法返回的 AnimancerState
AnimancerState 允許你獲取和設(shè)置目標(biāo)動(dòng)畫(huà)所有的播放詳細(xì)信息

傳送門:https://kybernetik.com.au/animancer/docs/manual/playing/states
在這里我們只使用 End Event

關(guān)于Animancer的Event?system解釋請(qǐng)去官方文檔翻閱(我也沒(méi)弄明白多少,不敢講:))
現(xiàn)在我們?nèi)绻诓シ派鋼魟?dòng)畫(huà)的時(shí)候再一次或多次按下鼠標(biāo)鍵,射擊動(dòng)畫(huà)并不會(huì)被打斷重新開(kāi)始,因?yàn)楫?dāng)調(diào)用 Play方法 時(shí) Animancer 不會(huì)自動(dòng)地重新開(kāi)始動(dòng)畫(huà)
如果我們想讓動(dòng)畫(huà)在調(diào)用 Play方法 時(shí)能重新開(kāi)始播放,在這里就是類似快速開(kāi)火的效果
我們只需要設(shè)置 動(dòng)畫(huà)state 的 Time 值為 0 就可以了:
播放動(dòng)畫(huà)的時(shí)候如果檢測(cè)到 動(dòng)畫(huà)state 的 Time值 為0,那么動(dòng)畫(huà)會(huì)被重頭播放:

