Unity動畫過渡

最近在做一個小遊戲,涉及到動畫的過渡,但是由於不瞭解過渡設置導致出現十分奇怪的結果。下面在自己的實驗基礎上介紹一下這些參數的具體含義。


如圖,是一個從跑到滑行的過渡。假設這個過渡是從A到B。

Has Exit Time:這個意思是A在什麼時候過渡到B,即A在這個時刻發生過渡的動作,你可以把它理解爲一個特殊的過渡條件,類似time=exit time一樣,如果有設置過渡條件,那麼就是同時滿足這兩個條件時才發生過渡,也就是如果在exit time之前已經滿足了你的條件,那麼在exit time這個時刻發生過渡;否則,只能等到動畫重新播放一遍,再次到達exit time的時候,纔會發生過渡。如果你希望滿足你的條件時候立馬發生過渡,那麼最好不要勾選這個選項。


Transition Offset:這個意思是A過渡到B時,B從哪裏開始播放,比如你的Transition Offset爲0.5,那麼A過渡到B之後會從B的50%處開始播放,而不會從頭開始播放。


其實Has Exit Time和Transition Offset結合使用才能達到效果,比如A是行走的動畫,B是跑的動畫,那麼很可能出現這種情況,A在邁出左腳走的時候過渡到了B,B正好也是從左腳開始跑,那麼就會出現鬼畜了,想象一下。正常應該是邁出左腳,右腳開始加速。那麼你就可以控制A的exit time爲左腳結束,B的Transition Offset爲右腳開始,這樣就完美了的過渡了。


Transition Duration:過渡的時間,這個就是字面的意思。從A動畫完全到B需要多久,注意勾選了Fixed Duration,那麼這個時間以秒爲單位,否則的話以A的時間爲基礎。其實這個是用來做緩衝的,比如A爲跳躍,B爲站立,如果A沒有落地的過程(也就是A的結尾是在空中),那麼會出現播放完A到B,從空中瞬移到地面,如果設置了這個時間,那麼就會有下落的過程。當然,一般情況下跳躍有上升也有下落,不會只有上升。


Interruption Source:這個其實可以理解爲打斷的優先級,如果大家用過any state就知道,如果滿足any state到某個狀態C的過渡條件,那麼會立即過渡到C,此時正在播放的動畫會被打斷。這裏就是說當前的動畫可以被哪個狀態打斷,當然,any state的優先級永遠最高,然後就是按照選項的優先級來。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章