パープルハット

※当サイトではGoogleアドセンス広告を利用しています

Unity AnimationのLoopTimeをスクリプトから変更する





概要

エディタ拡張でAnimationClipを生成したらこのように「Loop Time」にチェックが付かなかったのでその解決策を考えました。





結論

こちらの記事を参考に考えました。
AnimationClipSettingという型に「loopTime」という変数があるので、それを変更してAnimationClipに適用すれば良さそうです。
qiita.com


ソースコード

using UnityEngine;
using UnityEditor;

public static class MyAnimationEditor
{
    public static void SetLoop(this AnimationClip clip, bool key)
    {
        AnimationClipSettings settings = AnimationUtility.GetAnimationClipSettings(clip);
        settings.loopTime = key;
        AnimationUtility.SetAnimationClipSettings(clip, settings);
    }
}





使用方法

//loopTimeをtrueにする
AnimationClip x = new AnimationClip();
x.SetLoop(true);