LibreSprite / LibreSprite-proposals

Have a request? Let us know here!
6 stars 1 forks source link

More options for exporting spritesheet (and other formats) when the sprite has duplicated (linked) frames #24

Closed jjhaggar closed 3 years ago

jjhaggar commented 3 years ago
Is your feature request related to a problem? Please describe

When exporting animations (into spritesheets, for example) the current behaviour is considering the linked frames as normal frames (as pointed by devnewton): image Export as spritesheet result: image Ase file to test it tengu2.zip

Describe the solution you'd like

Maybe we could add an option in "the save as" menu (and also in "save as copy", "export spritesheet", etc.), letting the user choose if they want to merge linked frames when possible (for example, if there is only one layer). Something like this: image

Describe alternatives you've considered

We could also use a script to make this, but having the option integrated by default is probably better.

Additional context

Idea was born from this issue https://github.com/LibreSprite/LibreSprite/issues/82 look there for more info.

Zughy commented 3 years ago

Can you provide an usecase where this can actually be useful? Because in this example, I can simply double the duration of the second frame (with P), remove the third, and tadaa

jjhaggar commented 3 years ago

This should probably be answered better by the poster of the original issue (devnewton), but I'll try my best XD

It's exactly as you say, but using the timeline with a constant frame rate is more visually intuitive for animating. If you use CFR you can see how much time is going to use each frame (or linked frames), but if you assign a different duration for some frames instead, you must click on the frame and press P to see the duration of the frame.

If there would be an option to automatically merging linked frames (for images with only one layer and constant frame rate), this would be covered. Maybe that functionality could be added using scripts, I dont know (I think there was already an Aseprite script for this).

Zughy commented 3 years ago

Mmm, I honestly find this feature very specific to be included as a general option in the save/export menu. So I'd say either an external script or... somewhere else, but I can't really think of a proper place right now

jjhaggar commented 3 years ago

Yeah, I do agree. An external script would make more sense.

Should functionalities added by scripting be asked here as well? Maybe we could add another tag called "Scripting" for cases like this?

Zughy commented 3 years ago

The scripting tag already exists, and it's for features related to the scripting aspect of LibreSprite (e.g. add Lua as a supported scripting language). It'd make more sense to have people suggesting new scripts ideas in the upcoming resources repo. Or on Matrix/Discord directly