talecrafter / AnimationImporter

Aseprite Animation Importer for Unity
613 stars 72 forks source link

Animation Non-Looping Is Honored Only for New Animation Clips #19

Closed edwardrowe closed 7 years ago

edwardrowe commented 7 years ago

After you've generated Animation Clips for an Aseprite file, the Non-Looping rules are ignored. This seems to be by design, but I'd argue it's unintuitive.

To clarify, here are the repo steps:

  1. Create an Aseprite file with at least one Animation tag. (example tag: "Attack_D")
  2. Make sure the Non-Looping rules don't match any of the file's tags.
  3. Import the file's Animation Clips, and observe that they are flagged looping.
  4. Add a new Non-Looping rule that matches one of the tags. (ex: "Attack_D")
  5. Reimport the file
  6. Observe that the clip that matches the Non-Looping rule is still flagged looping (in this case Attack_D)

Here's why I think this is a bug. To me the settings and Aseprite file are the truth of the assets. When you change pivot, or pixels per unit, the spritesheet will change accordingly. If you change visuals or numbers of frames, or timings inside Aseprite, the clips will change. If we could actually flag the Tag as looping inside Aseprite, it would hold that the looping flag inside Aseprite should be observed inside Unity. Unfortunately we can't do that, but to me the Non-Looping settings are essentially a workaround on that fact.

I'd argue this may hold true for AnimationTargets, but I haven't used those yet so I'm not sure about the use cases. But in theory if you change the target type inside settings and reimport the file, it should retarget the animation clip.

I understand this is a subjective call, so I won't be offended if you close this as a non-issue.

Here's a GIF in case it helps to clarify what I'm talking about.

looping-bug

talecrafter commented 7 years ago

You are right that the source files and the global settings are "the truth" of the assets. I agree with your argument.

edwardrowe commented 7 years ago

👍