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.