Animator
演出を作成時に GameObject をアクティブにして演出を再生させたい場合表示がちらつくことがある おそらくこれは、GameObject の 表示のタイミングと Animation の再生されるタイミングが同時じゃないから発生してると思われる そのためどれくらい遅延してる…
Animation の再生時間を知るためには GetCurrentAnimatorStateInfo で AnimatorStateInfo を取得し、length の値を見ることで確認できる しかし、 animator.Play のあと直ぐに GetCurrentAnimatorStateInfo を呼び出しても 正しい値を取得できない var anima…
Animator で Animation を逆再生するには speed に -1 を入れればできそうに思えますが これは動作せず最後のフレームを実行した状態で動きません そのため別の方法で逆再生させる必要があります _animator.speed = -1; _animator.Play("Death", 0, 1f); 逆…
UnityEditor で Animator の確認を行う場合 Project Window から Animator を選択して State を確認し、State の AnimationClip を選択して、AnimationClip Window から再生する必要があった それが面倒だったので、State 一覧を表示するツールを作成してみ…
UnityEditor 上で Animation の再生をするのはちょっと面倒なので、 手軽にできるようにクラスを作成してみました コード [Serializable] public class EditorPlayAnimation { [SerializeField] private Animator _animator; [SerializeField] private List<AnimationClipData> </animationclipdata>…
Animator の state 一覧を見るためには runtimeAnimatorController を AnimatorController にキャストすることで可能になります AnimatorController は UnityEditor.Animations のクラスなため、UniytEditor 上でしか動作させることはできません var animato…
Animation Clip は タイムライン上部で右クリックすることで イベントを追加することができる 追加したイベントをダブルクリックすると Inspector に下図が表示される これは GameObject に Animator を追加して State に設定してある Animation Clip から A…
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…