Unity C#で実行時にアニメーションの速度を変更する 質問する

Unity C#で実行時にアニメーションの速度を変更する 質問する

プログラムの実行中にアニメーションの速度を希望の速度に変更したい。 ゲーム オブジェクトに C# スクリプトとアニメーター コントローラーが接続されています。Unityのアニメーションのデフォルトの速度は1アニメーションのデフォルトの速度値を0.3fそしてプログラムの実行中は、アニメーションの速度を1

using UnityEngine;
using System.Collections;
public class wowBoard : MonoBehaviour {
    [SerializeField]
    Animator anim;
    bool changeSpeed;
   void Start()
   {
      anim=GetComponent<Animator>();
     playAnim();
     changeSpeed=false;
    }

   public void playAnim()
   {
     anim.SetBool("show",true);
   }

   void Update()
  {
     if(changeSpeed)
        playChangeSpeedAnim();

   }

 public void playChangeSpeedAnim()
 {
    anim.speed=1;
    anim.SetBool("show",true);
 }
}

アニメーションの速度は1に変更されませんでした。速度変更真実

ベストアンサー1

アニメーションの速度を操作するには、アニメーション プロパティの速度乗数パラメータ フィールドを使用します。

アニメーターでアニメーションを選択すると、インスペクターに次のように表示されます。

「パラメータ」チェックボックスをクリックすると、乗数オプションが有効になります。乗数フィールドでは、浮動小数点型のパラメータを選択でき、アニメーションの速度はパラメータの値に設定されます。

そこで、 という名前の新しい浮動小数点パラメータを作成しspeed、スクリプトを実行してアニメーションの速度をXに変更することができます。anim.SetFloat("speed", X);

おすすめ記事