Unity3D之Animation中AnimationEvent的BUG?爬坑向

寫在前面:賬號被盜,博客被封,直到今天才動手找回,沒想到還挺順利。剛好手頭上碰到一個坑,記錄一下。


BUG_1:

如圖,我在動畫的末尾添加了一個AnimationEvent,我希望達到的效果。


if(動畫撥到最後一幀時(情況一))

{

通知我,這裏輸出一個字符串,表示技能完整施放;

播放另一個動畫;

}

else if(動畫播放一半切換到另一個動畫(情況二)

{

那麼不觸發這個AnimationEvent;

}


問題出現了,我發現無論我是中途切換動畫或者讓動畫播完,AnimationEvent都會被調用。(此刻我的心情是崩潰的)。

。。。(查代碼邏輯,過程略,其中並沒有什麼問題,耗費生命1 h)

於是我覺得問題出在動畫系統。

。。。(百度,谷歌,沒有。。耗費生命0.5f h)

自動(自己動手)修復吧。

。。。(把動畫系統的參數改來改去,耗費生命1.5f h)

臥槽!

問題出在這!

 這!

我吧LoopTime取消掉,就可以了,也就是說動畫如果是LoopTime的狀態,無論如何都會觸發AnimationEvent,以我的觀點來看,這明顯不是我想要的,所以我認爲這是個BUG。

以上,BUG_1。

——————————————————————————————————————

BUG_2:

BUG_2是在調BUG_1的時候發現的。

如圖,當LoopTime設置爲true,這裏我只調用一次動畫,結束時卻同時出現兩條OutHitHeavy。這就表示AnimationEvent被調用兩次,WHY?(這比上面那個BUG給我造成的陰影麪價還大)



。。。。(各種無語)

自動修復。

細心的同學可能發現這張圖和BUG_1的圖的區別在:

                                                          

沒錯,我的AnimationEvent向後移了一幀,超出了動作幀。

槽!!

這尼瑪求解釋啊,玩人那吧!

同樣,我取消掉LoopTime之後,這個問題就不存在了。

好吧,因爲這個問題調了一下午,心情煩躁。。

列出這兩個問題想聽聽各位的看法


就此擱筆了,如果文章對您有幫助,我深感榮幸


大四了,現在正在實習,同樣,除工作以外也想做些有趣的遊戲,個人更希望是娛樂式的遊戲項目,如果有意的話請與我聯繫。

發佈了24 篇原創文章 · 獲贊 9 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章