Looking for ideas for Particle Emitter to follow waves?

As some might have seen, I am working on a naval combat simulator called Enemy Ahead. Progress is relatively slow due to lack of time, but it is starting to get somewhere. Now, to add some more detail I have added a particle emitter to the ships which creates a simple wake behind the ship. I am using the projected grid water for the waves and because of this, the particles hover above or below the waves. To make it more realistic I need the particles to follow the waves of course.

I have been thinking to make a node for every particle so I can update its height to the height of the waves, but this seems like overkill due to the massive amount of required nodes. The particle emitter is attached to the ships rudder, so the location of the particle is correct when it is created, but already after a short time, the wave will be covering the particle. Another problem with the particle emitter is that I use the speed of the ship to define the size of the particle. But in this case, only the newly generated particles should change size, while now all particles will change size. The result is that when moving slow I have a small wake, but as soon as the speed goes up, the entire wake grows, which looks weird of course.

Any ideas on how to make a wake which follows the waves as in real? Is a particle emitter the way to go here, or should I go think about projecting wakes onto the water or something like that?

You could do it as a custom addition to the water shader?
Or maybe a post effect?

Yeah, look at how the water shader does the waves at the coasts, with some uniforms you should be able to place some wave effect behind your ships.

What about using the projective texture mapping @survivor made? http://hub.jmonkeyengine.org/forum/topic/projective-texture-mapping/

Just have the projector follow the ship and draw the wake graphic that way?


Just to add to this you could use this technique for say drawing an oil slick like you’d get if you shot through a fuel tank (i.e. Numerous WW2 battleships had a fuel tank right in the bow that had very little in the way of serious armour plating. Historically this was one of the reasons that the Bismarck had to slow down during its short but violent campaign.).

Thanks, I will take a look at it. That projective texture mapping looks awesome!

your best bet i s to have a ghost objects under and behind your ship that only write depth.
if it’s close enough to the surface (but not over) it will generate foam and follow the waves.