【Unity】Animator Tips

DEVELOP, Unity

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 ではループ再生出来ています。

あまり見過ぎるとチカチカして辛いのですぐ止めてね。

Posted by kazupon