• Runtimes
  • Correct way to render a visual effect (vfx)

Hey team,

I'm working on a game and want to add some visual effects. Should I render these separately at runtime based on the skeleton's position? Or is it best practice to just bake it into the animation itself?

Some examples of what I want to do include:

  1. Dust cloud during movement/dash
  2. Lightning/spark effects during sword clash

If I want to render these at runtime, what's the best way to do this? Do I export the VFX by itself from Spine and attach it as a Skeleton? Or is there a better way to render something like this?

Thanks in advance!

Related Discussions
...

It can be done either way. What you should do depends on your needs. Usually people want to do whatever is easiest that looks good.

Doing it at runtime, for example using your game toolkit's particle system, allows you to have more dynamic effects.

You can export a frame-by-frame image sequence from other software and put it into Spine. Before 4.1 that is done by putting all the images in a slot, then animating them be showing each one in sequence. In 4.1 you can check the Sequence checkbox on a region or mesh attachment to do the same more easily.

Using Spine to show the frames has the advantage that you can manipulate the bones they are attached to. For example:
https://www.youtube.com/watch?v=8NWrd1RBi3g

The same YouTuber has many other useful videos, eg:
https://www.youtube.com/watch?v=2MKS8rzKp-Y