2016-07-22 7 views
0

私は人間の歩行サイクルの2Dスケルトンアニメーションを持っています。手をアニメーションで止めるべきであるが、脚はプレイヤーの入力(例えば、スペースバーのプレスで)するべきではないことをコードすることは難しいです アニメーションのキーフレーム/カーブ/プロパティをある条件で無効にすることもできます。この。部分2Dアニメーションが部分的に実行されています

答えて

0

アニメーションコントローラに複数の状態があります。一方の状態には両手と脚のアニメーションがあり、もう一方の状態には脚のアニメーションしかありません。アニメーションコントローラにパラメータを追加して、最初の状態から別の状態に遷移します。パラメータをブールにしましょう。

例:アニメーションを実行しているから、残りのアニメーションに、アニメーションを実行するためのブール値stopRunning、残りのアニメーションからを持って、statRunningブール値が設定されているときにブール値にstartRunning

を持って、残りのアニメーションから文字遷移アニメーションを実行しますstopRunningブールが設定されている場合、キャラクターは休息します。

は、次に、あなたのコード内で、スペースバーを押したときに、これらの機能

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に短縮します。あなたはすこやかなアニメーションを得るでしょう! –

関連する問題