unity3d 在編輯器中修改AnimationClip的屬性值

修改錄製的動畫,或,模型中的動畫屬性




下面 是修改LoopTime屬性


    [MenuItem("Assets/Loop=true")]
    static void LoopTrue() {
        Object[] selectedAsset = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);
        AnimationClip clip = selectedAsset[0] as AnimationClip;
        //AnimationUtility.GetAnimationClipSettings(clip).loopTime = false;//不能直接賦值
        AnimationClipSettings clipSetting = AnimationUtility.GetAnimationClipSettings(clip);
        clipSetting.loopTime = true;
        AnimationUtility.SetAnimationClipSettings(clip, clipSetting);
     
    }

    [MenuItem("Assets/Loop=Fasle")]
    static void LoopFalse() {
        Object[] selectedAsset = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);
        AnimationClip clip = selectedAsset[0] as AnimationClip;
        //AnimationUtility.GetAnimationClipSettings(clip).loopTime = false;//不能直接賦值
        AnimationClipSettings clipSetting = AnimationUtility.GetAnimationClipSettings(clip);
        clipSetting.loopTime = false;
        AnimationUtility.SetAnimationClipSettings(clip, clipSetting);

    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章