• RuntimesBugs
  • Slots alpha stuck to 0 when using mutliplte tracks

I'm encountering an unexpected behavior when mixing two animation tracks.

Track configuration:

  • track 0: basic animations of walk cycle. They may change the set of head slots because head is turning.
  • track 1: just hands in a specific position. They doen't change head alpha.

ISSUE
When playing Track 0 alone, everything works as expected. However, when both tracks are active, after certain track combinations, the head slots become invisible (alpha = 0) in subsequent animations. Which is weird because this behavior is not present in the Spine editor - all head slots remain visible in every track combinations.

CODE
Color slotColor = headSlot->getColor(); // slotColor.a is zero here

MY THOUGHTS
Since the walk cycle animation changes head slots, the alpha values can be zero for a while. They should recover accordingly if i start the next walk animation. But when the hand track is active, something inside breaks and alpha values get stuck at zero. Maybe there's division by 0 going on, idk. It looks like a bug in spine runtime.

Runtime: latest cpp runtime from github.

Related Discussions
...
qwaser hat das Thema Bugs hinzugefügt ().

Thanks for the clear explanation of the issue. It sounds very strange. Have you identified when the problem occurs? Ie, what are the "certain track combinations"?

Typically you'd use a single slot with attachment visibility keys to change the heads. You'd only use separate slots and change alpha if you need one head to fade out while another fades in (or other separate coloring). Even then you'd still use attachment visibility keys. This should not cause the issue you described, I mention it just because it comes up often.

  • qwaser hat auf diesen Beitrag geantwortet.

    Nate Yes i've identified that specific animation (on Track 1) which triggers this issue. But it doesn't look suspicios, because it doesn't modify the head slots alpha. Maybe our head visibility approach is unconventional, but it's legit and should work as well. At least alpha should become normal after this "problematic track combination" is complete, but alpha stuck at 0 for subsequent animations even though they previously worked correctly.

    • Misaki hat auf diesen Beitrag geantwortet.

      qwaser Could you send us a minimal project that could reproduce the problem so we can investigate it in detail?: contact@esotericsoftware.com
      Please include the URL of this forum thread in the email so we know the context. Then we can take a look at what's wrong.