@@ -289,54 +289,59 @@ public void ExtractCubismModel(string destPath, Live2DMotionMode motionMode, boo
289
289
var destMotionPath = Path . Combine ( destPath , "motions" ) + Path . DirectorySeparatorChar ;
290
290
var motionFps = 0f ;
291
291
292
- if ( motionMode == Live2DMotionMode . MonoBehaviour && FadeMotionLst != null ) //Fade motions from Fade Motion List
292
+ if ( motionMode == Live2DMotionMode . MonoBehaviour ) //Fade motions from MonoBehaviour
293
293
{
294
- Logger . Debug ( "Motion export method: MonoBehaviour (Fade motion)" ) ;
295
- var fadeMotionLstDict = ParseMonoBehaviour ( FadeMotionLst , CubismMonoBehaviourType . FadeMotionList , Assembly ) ;
296
- if ( fadeMotionLstDict != null )
294
+ if ( FadeMotionLst != null ) //Fade motions from fadeMotionList
297
295
{
298
- var cubismFadeList = JsonConvert . DeserializeObject < CubismFadeMotionList > ( JsonConvert . SerializeObject ( fadeMotionLstDict ) ) ;
299
- var fadeMotionAssetSet = new HashSet < MonoBehaviour > ( ) ;
300
- foreach ( var motionPPtr in cubismFadeList . CubismFadeMotionObjects )
296
+ Logger . Debug ( "Parsing fade motion list.." ) ;
297
+ var fadeMotionLstDict = ParseMonoBehaviour ( FadeMotionLst , CubismMonoBehaviourType . FadeMotionList , Assembly ) ;
298
+ if ( fadeMotionLstDict != null )
301
299
{
302
- if ( motionPPtr . TryGet < MonoBehaviour > ( out var fadeMono , FadeMotionLst . assetsFile ) )
300
+ var cubismFadeList = JsonConvert . DeserializeObject < CubismFadeMotionList > ( JsonConvert . SerializeObject ( fadeMotionLstDict ) ) ;
301
+ var fadeMotionAssetSet = new HashSet < MonoBehaviour > ( ) ;
302
+ foreach ( var motionPPtr in cubismFadeList . CubismFadeMotionObjects )
303
303
{
304
- fadeMotionAssetSet . Add ( fadeMono ) ;
304
+ if ( motionPPtr . TryGet < MonoBehaviour > ( out var fadeMono , FadeMotionLst . assetsFile ) )
305
+ {
306
+ fadeMotionAssetSet . Add ( fadeMono ) ;
307
+ }
308
+ }
309
+
310
+ if ( fadeMotionAssetSet . Count > 0 )
311
+ {
312
+ FadeMotions = fadeMotionAssetSet . ToList ( ) ;
313
+ Logger . Debug ( $ "\" { FadeMotionLst . m_Name } \" : found { fadeMotionAssetSet . Count } motion(s)") ;
305
314
}
306
- }
307
-
308
- if ( fadeMotionAssetSet . Count > 0 )
309
- {
310
- FadeMotions = fadeMotionAssetSet . ToList ( ) ;
311
- Logger . Debug ( $ "\" { FadeMotionLst . m_Name } \" : found { fadeMotionAssetSet . Count } motion(s)") ;
312
315
}
313
316
}
314
- }
315
- if ( motionMode == Live2DMotionMode . MonoBehaviour && FadeMotions . Count > 0 ) //motion from MonoBehaviour
316
- {
317
- ExportFadeMotions ( destMotionPath , forceBezier , motions , ref motionFps ) ;
318
- }
319
317
320
- if ( motions . Count == 0 ) //motion from AnimationClip
321
- {
322
- CubismMotion3Converter converter = null ;
323
- var exportMethod = "AnimationClip" ;
324
- if ( motionMode != Live2DMotionMode . AnimationClipV1 ) //AnimationClipV2
325
- {
326
- exportMethod += "V2" ;
327
- converter = new CubismMotion3Converter ( AnimationClips , PartNames , ParameterNames ) ;
328
- }
329
- else if ( Model ? . ModelGameObject != null ) //AnimationClipV1
318
+ if ( FadeMotions . Count > 0 )
330
319
{
331
- exportMethod += "V1" ;
332
- converter = new CubismMotion3Converter ( Model . ModelGameObject , AnimationClips ) ;
320
+ Logger . Debug ( "Motion export method: MonoBehaviour (Fade motion)" ) ;
321
+ ExportFadeMotions ( destMotionPath , forceBezier , motions , ref motionFps ) ;
333
322
}
323
+ }
334
324
335
- if ( motionMode == Live2DMotionMode . MonoBehaviour )
325
+ if ( motions . Count == 0 ) //motions from AnimationClip
326
+ {
327
+ CubismMotion3Converter converter ;
328
+ var exportMethod = "AnimationClip" ;
329
+ switch ( motionMode )
336
330
{
337
- exportMethod = FadeMotions . Count > 0
338
- ? exportMethod + " (unable to export motions using Fade motion method)"
339
- : exportMethod + " (no Fade motions found)" ;
331
+ case Live2DMotionMode . AnimationClipV1 when Model ? . ModelGameObject != null :
332
+ exportMethod += "V1" ;
333
+ converter = new CubismMotion3Converter ( Model . ModelGameObject , AnimationClips ) ;
334
+ break ;
335
+ default : //AnimationClipV2
336
+ exportMethod += "V2" ;
337
+ if ( motionMode == Live2DMotionMode . MonoBehaviour )
338
+ {
339
+ exportMethod = FadeMotions . Count > 0
340
+ ? exportMethod + " (unable to export motions using Fade motion method)"
341
+ : exportMethod + " (no Fade motions found)" ;
342
+ }
343
+ converter = new CubismMotion3Converter ( AnimationClips , PartNames , ParameterNames ) ;
344
+ break ;
340
345
}
341
346
Logger . Debug ( $ "Motion export method: { exportMethod } ") ;
342
347
0 commit comments