【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をコピーしました