FFT Ocean Water System

Aqua will you sell this in the Unity store when complete?

Please disregard screengrabs size they are just taken to upload the main problem. Which is a grey plane. It seems the fbx export leads to a grey plane. Unity does not recognise the ocean shader in Maya 2018. So i have a ocean with mathematical data used for the waves/foam/etc which i input and works perfectly in Maya. Export as anim and fbx model.

Reload into Unity and i get a grey plane. Almost like GameComponent>Create3DObject>Plane.

It seems Unity does not know what do with the export so imports it in as a default greyscale shape.

The water is stunning in Maya. High Res and very realistic.

Without deterring your fine effort. Go for it.

GameDev is like that. Finding swift solutions to problems in game.

1 Like

If I somehow manage to develop a ā€œsalableā€ version then I will also think about to offer it in the Asset Store. But until then there are still some hurdles to overcome. But of course it would be nice if everyone who is interested in seeing my ocean in the asset store, leaving a short note;)

For now, here are some new videos that shows work in progress.

@ : how many vertices does your mesh have - in Unity, before Version 2017.3 there was a limit of 65535 Vertices per Mesh, because Unity used only 16 Bit for the index. Maybe that’s the problem. Since Version 2017.3 you can use the new 32 Bit index format, but you have to change it manually (default is further 16 Bit).

I’m currently busy dealing with it myself, because of course that would be more beautiful for an ocean mesh like a 16 bit limit, where you have to take care of the division in submeshes, etc. :wink:

By the way, I’ve seen that there is a free fbx exporter (importer?) in the asset store, maybe thats an option for you to try: https://www.assetstore.unity3d.com/en/#!/content/101408

4 Likes

I’d definitely be interested to buy it, price does not matter if it has features that other ocean systems dont have, for example: Shadows on water (really important), underwater effects (seamless camera transition to underwater would be absolutely fantastic, similar to how it is in dying light Imgur: The magic of the Internet), shorelines, volume culling, as well as the things sadicus mentioned. The asset store really needs an ā€œultimateā€ water asset!

1 Like

Looks great so far, I’m also very interested to see it on the asset store. Also great would be to have this with bow and stern wave emitters for watercrafts. :wink:

WOW! Fantastic work. I saw your newest video with the large swell waves. Looks very nice. I was wondering - you are using some type of SIN graph to create them. Perhaps it would be possible to get a depth value from a ray-cast or other method and it would effect the wave shape. AS SEEN HERE I think that would create the most realistic coast lines of any water sim. The waves might not break - but adding foam and spray would really sell the effect.

… yes, I’ll try to implement the whole desired functionality (but I do not want to promise anything too soon) - on the one hand, because of course they are important for a realistic ocean representation and on the other hand because I would like to have them myself in my game :wink:

already finished (or at least almost):

  • Realistic reflections
  • Water flow direction
  • Foam

(optimistically planed) todo-list:

  • ability to query the water height, in order to implement proper buoyancy

  • depth based darkness

  • depth Based Under water Caustics realistic underwater fog distance control

  • bow and stern wave emitters for watercrafts

  • shoreline

  • particle detritus / surface decals

  • ability to add effects to the water, like raindrops

  • spray

  • script to change weather

  • possibly also precalculated animations to save computing power, since I have also built-in that the wave motion is repeatable and the time/frames untill the repetition can be chosen freely (I have still to think about how it is the the best way to store, so that the generated files are not getting too big :wink:

@Napoleon_Blownapart : these types of waves (and also the Water flow direction) can be generated by the various parameters of the modified Phillips spectrum (and yes - to say it simplyfied, in the end, it is a huge number of weighted SIN and COS functions that produce this spectrum)

6 Likes

I would be interested in this asset if 1) It supports VR rendering (stereoscopic views), and 2) Isn’t abandoned in 8 months like PlayWay and UWS were.

2 Likes

Good water is hard to do well, that’s just the core forget all the extra features like particles and such. Try to please different groups like VR vs high end water for PC, it won’t work. You won’t be able to maintain it and it will become yet another deprecated water asset.

My advice stick with what interests you the most and just do a really good job at making that work well.

Plus you just have some minimum bars now days, like waves must be on the gpu and you need to understand the type of cpu budget people actually have available for water.

3 Likes

I agree with @snacktime on pretty much all counts. Water systems/shaders seem to have had a particularly high rate of abandonment. But it’s also a trend that can be seen with other assets: A couple of users demand integrations with a ton of other assets and/or additional features, the scope explodes, the code is getting messy and maintenance becomes a headache.
I also agree with the ā€˜stick with what interests you’ sentiment. It is likely that selling on the asset store is not going to be super-profitable. If you take that into consideration and focus on the aspects that are most relevant to your own projects and/or interests and just put the extra work in to also let other people use it easily, it’s likely for everyone’s best. I’d argue that such an approach leads to a higher quality asset as well as a happier asset dev who is less likely to abandon it.

However, I’m not sure I agree that the wave calculations must run on the GPU. There’s certainly GPU implementations for FFT, but I’m not sure whether it ends up being much faster (especially with ECS and jobs), especially considering that there are likely benefits for the game logic side of things when computing wave geometry on the CPU. Either way, this is pretty much a ā€˜hard facts’ engineering question which you’ll probably settle yourself anyway with a couple of tests.

1 Like

I would be interested in an asset like this. Personally, I would prefer a water asset that scopes much lower than what the current ā€œultimateā€ water assets have already tried but has well-written code so that it is easier to maintain especially when implemented in large projects. We also went through the implementation of triton/ceto/playway water and UWS so we can understand the need for a water asset that is easy to support.

2 Likes

Any updates?

Hi,
there are already some updates, but everything is not ready to show - since I had exam phase at the university, I could not work so much on it. But definitely more soon … :wink:

7 Likes

Hello, here’s a new video that shows some updates.
FFT size is now 256 points (in the previous videos it were ā€œjustā€ 128). The wave motion was precalculated and repeats itself after 10 seconds (this time is adjustable). The stored data for this are 300MB large, but it saves CPU or rather GPU utilization (that’s a good compromise, right? - Nevertheless, I will also realize the calculations using compute shaders ;). The algorithm for the foam calculation was also reworked (I think it looks a lot better now - the texture is of course interchangeable). What do you think about that?

8 Likes

This looks great! I will have to test it in VR to see if it renders stereoscopic correctly.

Looks great. Try it out in HDRP.

1 Like

Amazing visuals, try it in HDPR as said above

Looks great, amazing work!

This is exactly the water system I have been searching for! Excellent work and I’m looking forward to future updates on your progress.

Hi, here some small but impressive updates (at least I think so).
With new calculation of the surface normals, subsurface scattering effect and further extensions to the foam system.
I have also tried the HDRP, but the results were not as good as expected - have to see what else you have to configure there - but I think the current shader comes close to what I imagined :wink:
So have fun watching it and as always write me your opinion …

By the way - it’s best to open with Chrome to see all the quality options

9 Likes

Wow Wow , this is really nice.
impressive work

Norby