【Unity】SliderをScriptからAnimationで動かしたい話

こんにちは.

今回はSlider機能をアニメーション的に動かしたくて,さらに言えば変数を使いたかったのでScriptから動かしたい時に詰まったお話です.

あれですよ,経験値が上がっていく様子を,スライダーにしたかったんです笑

早速問題のコードはこちら.

void Start()
{
Animation anim = GetComponent<Animation>();
AnimationClip clip = new AnimationClip();
AniimationCurve curve = AnimationCurve.Linear(0f,0f,10f,1f);
clip.SetCurve("",typeof(Slider),"Value",curve);
anim.AddClip(clip,"move");
anim.Play("move");
}
Code language: C# (cs)

一見問題なさそうなこのコードですが,動きません.

エラーは出ないのですが,調べるとSliderの”Value”というところがMissingであるという情報は出てきます.

どうすればいいのでしょうか.

答えは簡単でしたが,すぐには思いつかないものでした.

clip.SetCurve("",typeof(Slider),"m_Value",curve);Code language: JavaScript (javascript)

と,”Value”ではなく,”m_Value”とする必要があったみたいです.
正直全くなんでかはわかりませんが,Materialなど,他の要素をアニメーションにするときも”m_”を付けることで動く例がたくさんあるみたいですね.

難しいなぁ.

コメント

タイトルとURLをコピーしました