Water system based on baked fluid simulation

wow. Will this be usable with other fluids like honey or lava as well?

1 Like

Yes, the possibility to simulate and render fluids with high viscosity is certainly present. In addition to the increased viscosity, for such fluids a more complex mesh should be used (not height map based). Right now work is underway to implement data compression for rendering complex surfaces (for example plunging waves).

1 Like

Very cool would really like to see a demo of a high viscosity fluid. :slight_smile:

1 Like

hi @NHydro

The best I’ve seen. It is light year from all the other assets.

As soon as it goes on sale, you already have an insured buyer. I’ll see how I put it in the game, but something so impressive must be in mine.
Games with asset of very high quality, they sell more powerful hardware to be able to play them. In addition the technology advances very fast … the graphics cards already go by 11Gb of memory

regards

1 Like

Really awesome shoreline. Love it. Now I’ll try to answer your questions:

  1. It’s not very practical for most hardware to use that amount of video memory only for foam textures. So if you find ways to reduce it, your market will expand tremendously. Otherwise you will be limited to high-end hardware. Also many will try to run it on VR and if the system is running at 60fps only with a shoreline… the game will probably slow too much when adding all the other stuff.

  2. The disk requirement you mention is also way too high. If 200 meters of beach requires 1gb of space… again, high end hardware and you’ll be out of many potential markets.

So my suggestions…

  1. Give a try to sell as it is now. You’ve get lot of customers that have high end hardware and don’t mind all those crazy requirements. You’ll also get some $ and real market use requirement metrics that will guide you through the following point…

  2. Begin working on optimization and lowering quality. Tricks to probably discard memory batches at a given distance and replace them with lower quality particles/meshes the farther you are. Lastly, most of game developers would love to have a nice shoreline, but we don’t need crazy quality and details. We just need something that looks better that what we have without slowing our game. All current shoreline systems that I know of, looks pretty bad.

To give you an idea, this level of quality would be way more than enough for most of us:

https://www.youtube.com/watch?v=FlM0LJ1u4xU

and

https://www.youtube.com/watch?v=qda2FkBVBfQ

I hope I was helpful. Your shoreline rocks and I’d love to give it a spin.

3 Likes

Hi @NHydro

I think here the first thing you should assess is what line you want to get for your asset (Quality / real simulation or performance).

Once decided that focus your project from there.

I understand that performance is something very very important and I think you should work to get the best possible performance, but if what you want for your asset is quality / simulation of reality, you can not sacrifice quality and visual realism to get more market, because you will always be tied by the quality you want for your asset … so I would only be oriented to high-end / very high-end PCs.

From here my reflecsion of the old post … The hardware advances extremely fast and the necessary requirements of disk, vram, etc that now seems crazy, in 3 years it can be something normal.

With this I do not say that I do not try to work at the maximum possible performance, but always from the perspective in which realism is not lost.

Other options are that the user who uses the tool can choose what kind of visual realism he wants and that each one chooses if he prefers more performance or more realism.

I do not know if this is a silly idea, but I say it in case it serves you …

What if instead of creating an ocean asset like the one you do, you only create a shoreline asset that could be used with any other water asset?

Maybe this helps focus things differently so you can have similar results in realism for your asset without being brutal in performance.

Maybe the waves and foam that are generated, as you say are reusable, that you can choose the distance of coastline that would use that wave and foam data.

As @ creat327 says, that according to the distance to the camera or the player, waves and foam are executed with less quality LOD’s style (The highest visual realism only for the first 10-15 meters from the camera or player) and things like that …
Although I imagine that all these things you have already valued.

Techniques so that the only thing that is rendered of your asset is only what enters the frustrum of the camera.

I speak from ignorance, but to launch ideas and some can help you.

regards

1 Like

Below is an attempt to simulate the flow near a sea wall (still looks unnatural).

14 Likes

Looks fantastic, keeping an eye out for his one!

Multiple render settings would be a good options. low / medium / high for texture quality and simulation quality.
So the game could detect the system capabilities and adapt to that.

Looking pretty realistic if you ask me.

2 Likes

Wow it looks good indeed!!
Maybe with some interactive wetness on surface (like in the shoreline) should give more realism and looks less as you said "unnatural " (for me is already awesome) :wink:

Looks great, looking forward to this water asset!

Very interesting results, with curious limitations (at this point). Glad to see someone raising the bar again on water simulation. :slight_smile:

1 Like

Are you rendering the particles inside Unity - are you using your own particle in cell simulator or third party app?. Also, which ocean system are the demos? Aquas? playway? Tell us more on implementation, cheers…

1 Like

That would not really work for most games, and the approach just wouldn’t mesh well with most of the terrain creation assets either. So you would have a very limited audience, like a small handful at best.

Also, realistic is often not what you want in games. A great example of this is Sea of Thieves which is getting all kinds of praise for it’s water. And if you look closely you will see the water doesn’t really behave like real water does in a number of ways by design.

Realism is usually faked to a large degree You find that sweet spot between the look you really want and the amount of control you need overall for gameplay reasons.

I would encourage you to just open source your approach. This isn’t something you are going to be selling for any money really it’s too niche even if you make it work., and that way you could get better feedback from people experienced at making games.

I’m happy to pay for this, you can still have payed asset with source available. we all know this. :slight_smile:

Hello superjayman,
Thank you for your questions.

1.Simulation is performed using an own module based on the methods that can be for example found in Robert Bridson’s Fluid Simulation for Computer Graphics.
2.Particles are rendered with a standard point to quad geometry shader, about 1 million particles (only some of the foam, bubbles, spray particles from the simulation are rendered).
3.Water surface. For ocean waves the conventional FFT based ocean model is used. FFT is calculated in a compute shader, for rendering the water surface a standard method with tessellation shader is applied (closer to the camera - higher tessellation level).

What do you think about the proposed method for constructing the shoreline https://discussions.unity.com/t/682599/17

Would it be practical?

3 Likes

The effect is really beautiful. Maybe you could have several quality levels so that people could choose the prettiest waves, or the fastest, or something in between.

I like your idea of creating a spline in segments to apply different wave behaviors along different parts of the shore.

:point_up: most exciting asset :point_up:

Here is an example of a curved coastline

23 Likes

Awesome!
I can’t stop replaying this video again and again!

1 Like