うにてぃブログ

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

Animator

【Unity】GameObject をアクティブにして Animation が呼ばれるまでの遅延を確認する

演出を作成時に GameObject をアクティブにして演出を再生させたい場合表示がちらつくことがある おそらくこれは、GameObject の 表示のタイミングと Animation の再生されるタイミングが同時じゃないから発生してると思われる そのためどれくらい遅延してる…

【Unity】Animation の再生時間を取得する

Animation の再生時間を知るためには GetCurrentAnimatorStateInfo で AnimatorStateInfo を取得し、length の値を見ることで確認できる しかし、 animator.Play のあと直ぐに GetCurrentAnimatorStateInfo を呼び出しても 正しい値を取得できない var anima…

【Unity】Animator を逆再生する

Animator で Animation を逆再生するには speed に -1 を入れればできそうに思えますが これは動作せず最後のフレームを実行した状態で動きません そのため別の方法で逆再生させる必要があります _animator.speed = -1; _animator.Play("Death", 0, 1f); 逆…

【Unity】Hierarchy で選択したオブジェクトの Animator state 一覧を表示して再生する

UnityEditor で Animator の確認を行う場合 Project Window から Animator を選択して State を確認し、State の AnimationClip を選択して、AnimationClip Window から再生する必要があった それが面倒だったので、State 一覧を表示するツールを作成してみ…

【Unity】UnityEditor 上で Animation を再生するための便利クラス

UnityEditor 上で Animation の再生をするのはちょっと面倒なので、 手軽にできるようにクラスを作成してみました コード [Serializable] public class EditorPlayAnimation { [SerializeField] private Animator _animator; [SerializeField] private List<AnimationClipData> </animationclipdata>…

【Unity】Animator の State 一覧を取得する

Animator の state 一覧を見るためには runtimeAnimatorController を AnimatorController にキャストすることで可能になります AnimatorController は UnityEditor.Animations のクラスなため、UniytEditor 上でしか動作させることはできません var animato…

【Unity】AnimationClip 再生中に スクリプトを実行する

Animation Clip は タイムライン上部で右クリックすることで イベントを追加することができる 追加したイベントをダブルクリックすると Inspector に下図が表示される これは GameObject に Animator を追加して State に設定してある Animation Clip から A…

【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…