プログラムの実行中にアニメーションの速度を希望の速度に変更したい。 ゲーム オブジェクトに 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);