以下の内容はhttps://hacchi-man.hatenablog.com/entry/2020/12/17/220000より取得しました。


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

Animator の state 一覧を見るためには runtimeAnimatorController を AnimatorController にキャストすることで可能になります

AnimatorControllerUnityEditor.Animations のクラスなため、UniytEditor 上でしか動作させることはできません

var animator = AssetDatabase.LoadAssetAtPath<Animator>("Path");
var ac = _animator.runtimeAnimatorController as AnimatorController;

foreach (var layer in ac.layers)
{
    // state 一覧を表示する
    foreach (var state in layer.stateMachine.states)
    {
    }
}

また、state に設定されている AnimationClip を確認する際には ChildAnimatorState.state.motion を利用します

motion は UnityEngine.Motion クラスですが

public sealed class AnimationClip : Motion

AnimationClipMotion を継承しているのでキャストすることで AnimationClip が取得できます

foreach (var layer in ac.layers)
{
    // state 一覧を表示する
    foreach (var state in layer.stateMachine.states)
    {
        var animationClip = state.state.motion as AnimationClip;
    }
}



以上の内容はhttps://hacchi-man.hatenablog.com/entry/2020/12/17/220000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14