How to add waves to the ocean surface (on mobile) ?

There is a nice asset called VaOceanMobile GitHub - ufna/VaOceanMobile: Ocean shader created for mobile games on Unreal Engine 4

How can I add waves to the surface so that it works on mobile ? (waves don’t have to be large, but just big enough to make it looks like actual ocean and not flat static surface)


P.S. I could probably render out displacement map from Blender, but I am not sure how it would have to be used in UE4 to deform the surface (and not sure if it’s less performance taxing than any other possible solution)

I would try adding one or two Gerstner waves to that ocean. You can find lots of threads on gerstner waves around here. Doing one or two should be ok but you may have to do them on the custom UVs.

I think motorsep want worldposition offset waves. Then there is no need for custom UV’s because math is done at vertex shader level. You could even try Noise node.

Gerstner waves are world position offset waves, but you also need to solve the normals if you want them to look good, and that can be done on the custom UVs. Noise node is expensive even on pc/console so I wouldn’t try to use it on mobile.

Looking into all of that I wonder why UE4 doesn’t just have “Waves” and “Mobile Waves” nodes to make it simple for an artist :o

Only because no artist here has really worked on any really good waves. The last game we did that had any real ocean was gears3 and the ocean wasn’t really very prominent so we didn’t really make a proper wave shader, just the usual few sines + panning normals. Water takes time to get right. I have a gerstner wave reference implementation I just worked on last week that might get released at some point, or at the least a material function for a single wave.

I wonder if baking ocean sim mesh in Blender would look better and perform better on mobile.