Create large environment with water

Hello,

I have a specific task at hand and I have probably a couple of ways to achieve it. I want to create an offshore installation scene, which covers 20km x 20km in real world dimensions (mostly water and some windturbines). The goal of my subject is to simulate different sea states with different wind speeds similar to the beaufort scale. See here: Beaufort scale - Wikipedia
With the standard water asset I couldn’t get far.

What is the best way to achieve my task? I’m no expert in 3d-modelling or unity so I need your help.
As far my understanding goes, the standard water asset is using a bump map to create the waves. The wave movement is achieved by simply moving the bump map. I tried to use different bump maps, which I created with 3ds max. But my results are not where they need to be and looked quite similar to the waves from the standard asset, even I created rather large waves in 3ds max.
I found the Suimono Water System Asset in the store but it seems like it has some problems with VR (which is a requirement).
Is it feasible to create a large water surface and animate it (in 3ds max easily achieved which houdini ocean) and then export it to unity? I tried a smaller patch (1000x1000) with a file size around 70MB. I figure that this will reduce my framerate to almost zero?
Is tiling an option? Can I create one tile and duplicate it in the scene or will have this the same effect?

Or is there another way?

Thanks in advance

I think you’ll need to dynamically create (or at least, deform) a mesh at runtime. Certainly you want to tile this if possible (this is only possible if you can put certain constraints on the wave length and orientation).

This is not a simple task if you are new to Unity and/or C# programming. You might want to hire some help (feel free to PM me if that is the case).

@JoeStrout thanks for the reply. I’ll have a look into it. Hiring someone is sadly not an option as this is part of my thesis :wink:

In that case you’ll need to spend some time working through the basic Unity tutorials first (follow the Learn link at the top of this page), and follow up with some of these tutorials on dynamic mesh generation.

Good luck with your project; it sounds very interesting!

Do you need to have some interaction between waves and other things or do they just need to look wavey? If only looks matter, then you could try making a custom shader with shaderforge. It is a node-based shader creation system and if you are familiar with node-based material editors then you will probably find it fairly intuitive. You could experiment with using vertex displacement in a shader, driven by multiple tiling textures that interact with each other. This could be a rather time-intensive trial and error journey though.

Thanks Joe! I’ll give it a shot.

@Martin_H No interaction needed, yet. But to make it future proof I would go down this route. I have heard about shaderforge and give it a look. Trail and error is part of the fun I guess :wink: