2016-07-22 84 views
0

我有一個人體步行週期的二維骨骼動畫 - 這很好。我正在努力編碼,應該停止隻手動畫,但腿不應該(在播放器輸入 - 例如在空格鍵上按) 是否可以在某些情況下禁用動畫關鍵幀/曲線/屬性或以任何其他方式實現這個。Unity 2D動畫部分運行

回答

0

在動畫控制器中有多個狀態。讓一個國家有雙手和雙腿動畫,另一個只有雙腿動畫。在動畫控制器中添加一個參數,從第一個狀態轉換到另一個狀態。讓參數成爲布爾值。

例如:從正在運行的動畫休息動畫,有一個布爾stopRunning和從靜止動畫運行動畫,有一個BOOL當statRunning BOOL設置startRunning

所以,從靜止動畫角色轉移到正在運行的動畫,並且當stopRunningbool被設置時,該角色被放置。

然後在你的代碼,當按下空格鍵,調用這些函數

public void StopRunning() { 
     if (_PlayerAnimator.isActiveAndEnabled) { 
      _PlayerAnimator.SetBool("stopRunning", true); 
      _PlayerAnimator.SetBool("startRunning", false); 
     } 
    } 

public void StartRunning() { 
     if (_PlayerAnimator.isActiveAndEnabled) { 
      _PlayerAnimator.SetBool("startRunning", true); 
      _PlayerAnimator.SetBool("stopRunning", false); 
     } 
    } 
+0

我是這麼認爲的,但國家間動畫將無法達到預期。 – Yogesh

+0

相信我他們會。調整參數並將過渡時間縮短爲0.您將獲得快速動畫! –