【Unity】Animator Tips
Unity のAnimator コンポーネントのTips 集です。
目次
確認バージョン
2019.3.0f6
Tips
アニメーションキーをHash 値で取得
public class AnimatorView : MonoBehaviour
{
private static readonly int openAnimationKey = Animator.StringToHash("Open");
}
Time.Scale = 0 でアニメーションを止めない
Time.Scale の影響を受けない様にします。Animatorの「Update Mode」 を Normal から Unscaled Time に変更します。
Animator の再生を一時停止/再開する
private Animator animator;
private float currentAnimationTime = 0;
public void Play()
{
if (animator.enabled)
{
return;
}
animator.enabled = true;
animator.Play(openAnimationKey, 0, currentAnimationTime);
}
public void Pause()
{
animator.enabled = false;
currentAnimationTime = animator.GetCurrentAnimatorStateInfo(0).normalizedTime;
}
Pause 時に normalizedTime を受け取り現在のアニメーションフレームを取得し、Play 時に 再生開始位置を指定します。
逆再生したい
Animator animator = GetComponent<Animator> ();
animator.speed = -1;
古いUnity バージョンではループ再生されないといった記事が多かったのですが、現在の 2019.3.0f6 ではループ再生出来ています。