From 9f918d03329612a69a0e07fff2682d141c257876 Mon Sep 17 00:00:00 2001 From: VaDiM Date: Mon, 3 Mar 2025 22:18:23 +0300 Subject: [PATCH] Fix export of selected Live2D motions --- AssetStudioGUI/AssetStudioGUIForm.cs | 2 +- .../CubismLive2DExtractor/Live2DExtractor.cs | 22 +++++++++++-------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/AssetStudioGUI/AssetStudioGUIForm.cs b/AssetStudioGUI/AssetStudioGUIForm.cs index d5b81c0..1098eed 100644 --- a/AssetStudioGUI/AssetStudioGUIForm.cs +++ b/AssetStudioGUI/AssetStudioGUIForm.cs @@ -2319,7 +2319,7 @@ namespace AssetStudioGUI private void ExportSelectedL2DModels(ExportL2DFilter l2dExportMode) { - if (exportableAssets.Count == 0) + if (Studio.exportableAssets.Count == 0) { Logger.Info("No exportable assets loaded"); return; diff --git a/AssetStudioUtility/CubismLive2DExtractor/Live2DExtractor.cs b/AssetStudioUtility/CubismLive2DExtractor/Live2DExtractor.cs index 70efb86..6e07652 100644 --- a/AssetStudioUtility/CubismLive2DExtractor/Live2DExtractor.cs +++ b/AssetStudioUtility/CubismLive2DExtractor/Live2DExtractor.cs @@ -41,17 +41,17 @@ namespace CubismLive2DExtractor private HashSet EyeBlinkParameters { get; set; } private HashSet LipSyncParameters { get; set; } - public Live2DExtractor(KeyValuePair> assetGroupKvp, List inClipMotions = null, List inFadeMotions = null, MonoBehaviour inFadeMotionLst = null) + public Live2DExtractor(KeyValuePair> assetGroupKvp, List selClipMotions = null, List selFadeMotions = null, MonoBehaviour selFadeMotionLst = null) { Expressions = new List(); - FadeMotions = inFadeMotions ?? new List(); - AnimationClips = inClipMotions ?? new List(); + FadeMotions = selFadeMotions ?? new List(); + AnimationClips = selClipMotions ?? new List(); + FadeMotionLst = selFadeMotionLst; Texture2Ds = new List(); EyeBlinkParameters = new HashSet(); LipSyncParameters = new HashSet(); ParameterNames = new HashSet(); PartNames = new HashSet(); - FadeMotionLst = inFadeMotionLst; ParametersCdi = new List(); PartsCdi = new List(); PoseParts = new List(); @@ -61,6 +61,10 @@ namespace CubismLive2DExtractor var searchModelParamCdi = true; var searchModelPartCdi = true; var searchPoseParts = true; + var searchFadeMotions = + selClipMotions == null + && selFadeMotions == null + && selFadeMotionLst == null; Logger.Debug("Sorting model assets.."); @@ -69,9 +73,9 @@ namespace CubismLive2DExtractor { Model = model; PhysicsMono = Model.PhysicsController; - if (inFadeMotionLst == null && TryGetFadeList(Model.FadeController, out var fadeMono)) + if (searchFadeMotions && TryGetFadeList(Model.FadeController, out var fadeMono)) { - FadeMotionLst = inFadeMotionLst = fadeMono; + FadeMotionLst = selFadeMotionLst = fadeMono; } if (TryGetExpressionList(Model.ExpressionController, out var expressionMono)) { @@ -122,13 +126,13 @@ namespace CubismLive2DExtractor Expressions.Add(m_MonoBehaviour); break; case "CubismFadeMotionData": - if (inFadeMotions == null && inFadeMotionLst == null) + if (searchFadeMotions) { FadeMotions.Add(m_MonoBehaviour); } break; case "CubismFadeMotionList": - if (inFadeMotions == null && inFadeMotionLst == null) + if (searchFadeMotions) { FadeMotionLst = m_MonoBehaviour; } @@ -187,7 +191,7 @@ namespace CubismLive2DExtractor } break; case AnimationClip m_AnimationClip: - if (inClipMotions == null) + if (selClipMotions == null) { AnimationClips.Add(m_AnimationClip); }