うにてぃブログ

主にUnityとC#に関する記事を書いていきます

【Unity】Editor Mode で Animator を動かす

docs.unity3d.com

Animator.Update に Time.deltaTime を食わせることで Editor Mode でも Animator を再生することができる

public void PlayAnimation(string name, int layer = 0, float normalizedTime = 0f)
{
    Animator.speed = 1f;
    Animator.Play(name, layer, normalizedTime);     

    EditorApplication.update -= UpdateAnimation;
    EditorApplication.update += UpdateAnimation;
}
 
public void StopAnimation()
{
    EditorApplication.update -= UpdateAnimation;
}
 
private void UpdateAnimation()
{
    Animator.Update(Time.deltaTime);
}