Hey guys,
We've been using spine at work and been doing some unique things via Unity's timeline system and spine. However, I am currently running into some oddities that I can't seem to work out.
So I am currently trying to make non-linear timelines to loop parts of the spine animation by jumping to earlier (and eventually later) timestamps in the timeline via timeline markers/notifications. The peculiar thing I'm seeing is that in edit time I can scrub/play the playable director and watch the spine animation follow the playhead accurately as it hops back in time. However when I hit play and watch it in runtime, the spine animation plays once fully and ignores the playhead of the playable director as it loops.
When I dig into the source code of the mixer behavior, I see that there's a special code block dedicated to the preview mode when the application isn't running. Is the behavior just something I can't do anything about or is there some settings I can do to get the spine animation to follow the playable director's playhead in runtime as I hop around the timeline?
I am working with SkeletonAnimations and am using the following package versions:
Timeline extensions: 4.1.9
CSharp runtime: 4.1.0
Unity Runtime: 4.1.15
URP Shaders: 4.1.17
Also another issue I also ran into was that setting the boolean flag of Clip End Mix Out Duration
on the SpineAnimationStateClip doesn't seem to blend the spine animation back to empty when it's the last clip on the timeline asset. Our idle animation is set up on spine track index 0 and the SpineAnimationStateTracks modify track indices 1 and beyond. As a workaround I have the code modifying the timeline assets to append a 1f empty SpineAnimationStateClip to the end of any timeline that has the last object be an SpineAnimationStateClip to empty out the spine track index.