This issue will require some research to see where particle effects are at in Bevy. In the past I rolled my own but it was pretty involved. There's two crates that I'm aware of, bevy_fireworks and bevy_hanabi.
It may be the case that we use both, depending on the effect. I suspect for things like smoke we'll probably want to use bevy_fireworks, and then for smaller, more dense particles like sparks and plasma trails, bevy_hanabi. But this is just going off gut feeling.
Edit:
Oh, actually one thing to consider now is that instancing is way easier in Bevy 0.15 than it was in the past, so actually this might not be all that involved to roll our own now that I think of it, so we may not care for bevy_fireworks.
It would be nice that things like smoke receive shadows, so what we can do is instance a plane, and instance a smoke material. Then its just a matter of turning off shadow casting on these planes, but still receive shadows from the world. Then billboard them to always face the camera. The harder part will be soft particles.
We can then use Moveable as a very cheap way to bounce particles off geometry on the CPU.
This issue will require some research to see where particle effects are at in Bevy. In the past I rolled my own but it was pretty involved. There's two crates that I'm aware of, bevy_fireworks and bevy_hanabi.
It may be the case that we use both, depending on the effect. I suspect for things like smoke we'll probably want to use bevy_fireworks, and then for smaller, more dense particles like sparks and plasma trails, bevy_hanabi. But this is just going off gut feeling.
Edit:
Oh, actually one thing to consider now is that instancing is way easier in Bevy 0.15 than it was in the past, so actually this might not be all that involved to roll our own now that I think of it, so we may not care for bevy_fireworks.
It would be nice that things like smoke receive shadows, so what we can do is instance a plane, and instance a smoke material. Then its just a matter of turning off shadow casting on these planes, but still receive shadows from the world. Then billboard them to always face the camera. The harder part will be soft particles.
We can then use Moveable as a very cheap way to bounce particles off geometry on the CPU.