Best method to make an Ocean?

Hello,

I am new to Unity and am trying to think of the best method to create an ocean for my game.

I have created a plane for the ocean floor but am unsure what to do for the sea. I thought about creating another equal sized plane on top of it but my water needs to be more than just a mesh as I’ll be having things like AI sharks and fish swimming in it.

Since the ocean is a fundamental part of my game I cannot progress with other parts of the game until my ocean is made. So any help is greatly appreciated!

Other problems I have:

  1. I would prefer my scene to be circular rather than squared but don’t know how to make my ocean floor plane circle shaped.

  2. When I apply a texture to my plane it does not blend as It shows a square grid for every 10 units. I did a google search and someone suggested to untick the mesh renderer but if I do that the material/texture disappears.

Yeah its an old thread but I just found this and the ocean is awesome I love it. My only question is how you could do collision with it, so I can make my boat float on it and pivot against the water and such.

Can’t say anything “best”, because there is always a better way. Beside, “best” depends on your purpose: best for performance or best for visual or best for simplicity?

I created an ocean implementation that I think better for performance & simplicity than the Unity’s default ocean (which is in the Unity’s Environment Asset).

I call this: Terrain Ocean.

Step 1: Create a 3D terrain, name it: OceanTerrain

Step 2: Remove Terrain Collider of OceanTerrain.

Step 3: Assign the “Water4Advanced” material (You can get this material from the Unity’s Environment Asset) for OceanTerrain

And Here is the result:
123866-unityoceanresult.png

It’s better for performance & simplicity than the Unity’s default ocean (which is in the Unity’s Environment Asset) because:

  • My ocean doesn’t run any script while the Unity’s default ocean run several scripts to create reflection, and some other effects.
  • You have to scale or use multiple Unity’s default oceans because the Unity’s default ocean is not big enough. My ocean is terrain so you can easily set the ocean as big as you want, and terrain can be very big.