viniciusgerevini / godot-aseprite-wizard

Godot Editor plugin to help import Aseprite animations to AnimationPlayers, AnimatedSprites and SpriteFrames.
MIT License
891 stars 42 forks source link

Proposal: Use character as a looping toggle in tag name for the Importer flow #33

Closed Mickeon closed 3 years ago

Mickeon commented 3 years ago

This addon is pretty professionally-written and seems more recently updated than its alternatives.

However, one drawback that I personally find major is the way it imports looped animations. I'm aware that Aseprite has no concept of one-time animations, I won't blame the program for it. However, the project I'm currently developing necessitates several of the sprite's animations to not to be looping.

Although I have read the section about it in the readme, I would love a solution for the much simpler importer flow.

I currently use an addon with a similar scope to this one that allows it. https://github.com/nklbdev/godot-aseprite-animation-importer

Their solution was to mark every tag name beginning with ""_ as looping, thus removing the underscore and displaying the animation name as normal. (example: "_Running" becomes "Running" in the SpriteFrames editor) I would love if a similar feature is implemented in this addon, as well. Perhaps with some form of customization, such as which character to use, as well the default state of the animation before the check is applied, too. Cheers!

aaaaaaaaargh commented 3 years ago

Hey, not sure if I understood correctly. You can enable/disable looping easily by flipping the toggle switch in the SpriteFrames editor. But I guess you already know that, so you need an automated way of dealing with this from within the importer on a per-animation basis, right?

viniciusgerevini commented 3 years ago

Thanks @Mickeon . I had put some thought on that on the past, but I didn't follow it up. I believe an animation name convention for loop makes sense, and I wouldn't do it without a configuration option. I feel this should be a global configuration instead of per file config. I'll look into it.

furroy commented 3 years ago

This would be nice. I modified my local version and hard coded a list of anim names that should loop and set them accordingly on import.

viniciusgerevini commented 3 years ago

Hey. Thanks for the feedback. I implemented two new configurations for this. Now you will be able to set the default looping configuration and which prefix to use to invert it. I'm still running some tests, but I intend to release it as a breaking change some time soon.

One thing to note is that as opposed to the plugin linked in this issue, the default behaviour for animations is to loop. I decided to leave it like that because this is the default state when creating a new animation in Godot, and also how it behaves in Aseprite.

This can obviously be changed via configuration to achieve the behaviour described in the issue.

Thanks a lot for the suggestions and feedback. :rocket: