• Unity
  • Exporting and playing animations as image sequences ?

  • تم التحرير
Related Discussions
...

Hi !

We are making a game with a lot of characters in the scene, and updating the skeleton each frame has a massive impact on the performances (especially on consoles like the Nintendo Switch).

We are already not updating the characters that are out of the camera frustum, and we are also using the Skeleton Animation Fixed Timestep script to avoid the skeleton to be updated each frame. Also, we decrease the animation frame-rate with the distance from the camera.

But that's not enough, and if we lower to much the animation frame-rate (even on those who are really close to the camera), the animations looks laggy as you can imagine.

Something that could help a lot is baking the animations into sprite sheets.

So I have 2 questions :

  • Does the Spine Editor handle this kind of export ?
  • If it does, then does the Spine Unity Runtime implementation handles such way of playing animations, or do we have to develop our own system to play the sprite sequences at runtime ?

Yep, Spine can export image sequences. We don't provide runtime code to display them though. That's a very common thing to do, shouldn't be hard. You may want to manage when the images are loaded, as they can get large. You might consider compressed textures to reduce video memory use.

It sounds like your skeletons are pretty intense. Have you tried reducing bones, deform keys, timelines, etc?

If the skeletons can't be reduced enough, an alternative to spritesheets may be to create much simpler versions of the same skeletons and render those when the complex skeletons aren't necessary.

Clauclaudr wrote

- If it does, then does the Spine Unity Runtime implementation handles such way of playing animations, or do we have to develop our own system to play the sprite sequences at runtime ?

As Nate said, the spine-unity runtime does not provide any special means to handle raw image sequences. You should be able to find plenty of solutions to play back raw image sequences in Unity however, e.g.:
https://learn.unity.com/tutorial/introduction-to-sprite-animations#

Thanks for the answers.
Actually our skeletons aren't that intense, but we display a lot of them.
We will try to optimise them even more anyway, and probably see how we can reduce the amount of skeletons in the same location.

Harald wrote

As Nate said, the spine-unity runtime does not provide any special means to handle raw image sequences. You should be able to find plenty of solutions to play back raw image sequences in Unity however, e.g.

No worries that pretty simple to put in place, I was just asking in case Spine was already providing such feature in the Unity implementation.