【Unity】[Tips] character animationのスピード変えたかった
Tipsだよ。本当に一言で終わるよ。
やりたかったことを察してほしい
animatorの再生時に速度を落としたりなんだりしたいな、と
思っていたのでまずは直感でこのように実装した。
public void OnBtnSpeed100() { animator.speed = 1.0f; animator.SetTrigger("Hikick"); } public void OnBtnSpeed50() { animator.speed = 0.5f; animator.SetTrigger("Hikick"); } public void OnBtnSpeed10() { animator.speed = 0.1f; animator.SetTrigger("Hikick"); }
この結果がこれ。
実装間違えたら変なローキックになってしまって、一人で笑ってたw
— ぐーるさん (@uuha_goul) 2017年7月13日
0.5も効いてない感じするしw
ブログに書こうっと(仕事します) pic.twitter.com/FqTfTCkcCm
え、合ってないんかい!?
正解はこれ
AnimatorStateにはSpeedパラメータも渡すことが出来る
AnimatorのparameterにfloatでSpeedを追加して
その後AnimationStateのSpeedの所にチェックを入れて
Multiplierの所にSpeedを指定して
public void OnBtnSpeed100() { animator.SetFloat("Speed", 1.0f); animator.SetTrigger("Hikick"); } public void OnBtnSpeed50() { animator.SetFloat("Speed", 0.5f); animator.SetTrigger("Hikick"); } public void OnBtnSpeed10() { animator.SetFloat("Speed", 0.1f); animator.SetTrigger("Hikick"); }
これが正解 pic.twitter.com/QPuHKuoW1Z
— ぐーるさん (@uuha_goul) 2017年7月13日
他に影響なく値を変えることも出来るし!いいですね。
これだけ。
なんてこと無いけど面白かったのでブログに残す…。