How to make rocket-like particle system?

I am making a rocket ship, and at the bottom of the ship is a rocket thrusters shooting out giant flames in the form of a particle system!

It looks good at low speeds but when the rocket is moving very fast the illusion is broken. This is because the rocket is moving faster than the particles, causing them to create a line in the direction the rocket is moving, rather than the direction it is facing.

I would like the particles to inherit the transforms of their parent entity, the rocket ship, in order to look more like the thruster. Is that possible?

Are you using the “velocity” graph or the “local velocity” graph? If you use the Local Velocity the trail will be directed with the transform of the entity it is attached to.

If you are already using the local velocity, then you could try and fix it by reducing the lifetime of the particles. If the particles don’t last very long they won’t be able to get far enough way from the rocket to spread out like that. If you make them faster and shorter lived, that should help prevent this effect.

1 Like

Here’s another project (from a previous PLAYHACK) that you might want to look at:

https://playcanvas.com/project/344381/overview/playhack-may-15

It has a rocket trail already set up on a reasonably similar rocket. :smile:

1 Like

I am using local velocity, but that velocity is insignificant compared to the world entity velocity.

The only way to fix this with lifespan would be to have a lifespan of 1 frame, which will not look like a rocket thruster.

Thanks for the ideas though!

Thanks for the example Will. The rocket trail looks great, but has the same issues. Here I have rotated it by 10deg every tick, and you can already see the trail “bending”:

Really I want the particles themselves (not just the emitter) to inherit the transforms of the parent entity. It’s an odd behavior which 99% of particle system instances don’t want, but is needed for convincing rocket/welding torch/etc particle effect. I guess I could potentially just use a billboarded material or something instead of a particle system.

Yeah, I see. Funnily enough our old particle system (before we integrated it with the editor) only supported this kind of behaviour. Which was really frustrating then, but useful for this case :sob:

We still have the code, for example in the SWOOOP source but it’s not straightforward to integrate it. I might be able to put together a working demo if you’re interested?

1 Like

@mhughson Well, yes, the particles are not fixed to the emitter’s coordinate system, so they will do that. But that’s more realistic, isn’t it? If the rocket spins very fast, some ‘bending’ of the trail would look better, IMHO. But hey, I do see the value of being able to also choose particles to be locked to the emitter’s coordinate system in certain scenarios. But that’s not something the current particle engine does (as @dave says).

We still have the code, for example in the SWOOOP source but it’s not straightforward to integrate it. I might be able to put together a working demo if you’re interested?

I appreciate the offer Dave, but it’s probably not worth it :smile: I’m just doing a quick game for PlayHack, so I can just work around the problem.

Well, yes, the particles are not fixed to the emitter’s coordinate system, so they will do that. But that’s more realistic, isn’t it?

In most situations, yes.

You can modify curves for a global velocities, adding vector of movement of a ship, that will add up velocities to look relative to emission source.