• Editor
  • Bulk export/migration

I've just updated to Spine 3.8 from 3.7 and I'm spending most of my weekend re-saving and re-exporting every single spine file we have to 3.8.

Some sort of bulk migration for already-exported spine animations would be appreciated, or even better: the ability to re-save and re-export every .spine project in a folder, as the projects know their export destination.

Cheers!

Related Discussions
...

Neat, cheers!


I'm getting an error when packing images for a specific file. What could be causing it? The error doesn't happen on manual export.

Exporting 'E:/Dropbox/Kieren/Count/count p09.spine' to 'D:/Dropbox/Game Assets/Poppy & Buddy/Export/'
Spine Launcher 3.7.81
Esoteric Software LLC (C) 2013-2019
Windows 10 Enterprise x86 10.0
Spine 3.8.59 Professional
Licensed to: *****, *****
JSON export: count p09
Pack: count09
ERROR: Error packing images:
java.lang.RuntimeException: Error packing images: E:\Dropbox\Kieren\Count\p09
        at Eh.L(SourceFile:144)
        at Ec.L(SourceFile:55)
        at Ec.L(SourceFile:108)
        at jh.L(SourceFile:263)
        at jm.L(SourceFile:56)
        at com.esotericsoftware.spine.editor.Editor.L(SourceFile:1788)
        at com.esotericsoftware.spine.editor.Editor.main(SourceFile:1749)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at tzax.B.run(SourceFile:2001)
        at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.desktop/java.awt.EventQueue.access$600(Unknown Source)
        at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
        at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.Exception: Error processing directory: E:\Dropbox\Kieren\Count\p09
        at MH.L(SourceFile:142)
        at EV.L(SourceFile:140)
        at MH.L(SourceFile:106)
        at EV.L(SourceFile:122)
        at Eh.L(SourceFile:141)
        ... 25 more
Caused by: java.lang.RuntimeException: Image does not fit with max page size 4096x4096: blue[4098,678]
        at Es.L(SourceFile:1118)
        at ER.L(SourceFile:160)
        at Ez.L(SourceFile:99)
        at EV.L(SourceFile:285)
        at EV.L(SourceFile:280)
        at MH.L(SourceFile:140)
        ... 29 more

Actually, it seems like I'd accidentally exported a couple of other spine animations to that location, so their images were also in the source folder. For whatever reason that was causing it to error. Once I removed the extra images it came right, even though they weren't being used.

Does spine intentionally pack images not assigned to any slot, or is that something I need to turn off in my export settings json file?


My only remaining issue is that the dimensions of my output are set to min/max 256/4096, but every single image is 4096 even if it's mostly whitespace.

atlas.json


Final addendum: lots of scenes failed, as long as there were additional, large images in there. For instance I include a flattened version of the scene so I can compare stuff to layers that aren't included in spine, and if those are still present - even if unused - the same error above keeps happening. That sounds like a bug to me. Doesn't happen when exporting with the actual editor.

Antidamage ha scritto

Image does not fit with max page size 4096x4096: blue[4098,678]

This is the error you are getting. Your max page size is smaller than the image named blue. Use smaller images, or a larger page size, and/or strip whitespace.

Antidamage ha scritto

Does spine intentionally pack images not assigned to any slot, or is that something I need to turn off in my export settings json file?

There are a few ways to run the texture packer, see here:
Texture Packing - Spine User Guide: Packing

Antidamage ha scritto

My only remaining issue is that the dimensions of my output are set to min/max 256/4096, but every single image is 4096 even if it's mostly whitespace.

Could it be because you are not stripping whitespace in the packer settings?

Antidamage ha scritto

if those are still present - even if unused - the same error above keeps happening. That sounds like a bug to me. Doesn't happen when exporting with the actual editor.

Sounds like you are exporting differently in the editor. You'll need to export as part of data export if you want Spine to pack only images the project uses (see link above), and in that case the packer ignores the folder structure and JSON files.