2016-04-28 50 views
0

現狀如何Unity3d

移動動畫AI角色我有一個字符和「行走」動畫。動畫是動畫控制器中使用。所有與督察分配和完成,沒有涉及的腳本。 「循環」處於活動狀態。

當我點擊「播放」按鈕時,角色的位置根據動畫而移動。

問題

一旦動畫到達終點,字符被搬遷回原點。

問題

如何做到這一點的角色繼續向前走?

我看到我應該激活「應用根運動」,但是這並沒有改變任何東西,角色的位置仍然在動畫結束後移回原點。

+0

我認爲動畫不應該真正移動角色,只是看起來像走路或跑步,休息應該由'Rigidbody'處理。 –

回答

2

完成所有動畫並通過代碼移動對象,使用代碼更改播放器位置並讓您就位運行動畫播放。

+0

動畫通過在其中重新定位而具有「速度」。一個在跑,另一個在蹲下,另一個在空閒。當定位已經在動畫中時,我真的不想爲每個動畫編寫腳本。或者你知道如何從動畫中提取位置信息嗎? – Roland

0

我真的不認爲這可以或應該沒有任何腳本。 即使當前正在播放的動畫也應該取決於動畫製作者的參數以及動作本身。 而且您不必爲每個州編寫單獨的腳本。 一個腳本可以獲取用戶輸入,分配動畫參數(例如,如果玩家按下了LeftCtrl,它將'Crouch'參數設置爲true並且動畫師觸發相關的動畫師狀態/轉換),並根據速度和方向值更新字符位置。 爲了節省一些時間找到合適的移動速度值以匹配您的動畫,您可以將動畫速度乘數添加到動畫製作器中的每個狀態,並將其設置爲參數。在這種情況下,一個具有速度值的變量將修改實際移動速度和動畫幀率。