FPS Water, Everyones Problem...

Hello There!

Just wanted to get an Opinion about Water techniques from the unity gurus, you guys have seen “Strnded Deep” and “Subnautika” water/ocean shaders & styles, how these guys figure out to get water as never seen before in unity store or any public package?

And the most impressive thing, how they get to have those underwater effects only show up on the underwater side of the camera?, underwater sun shafts and cutout fog …

I mean, we, humans, we just change fog settings and add color image effects to our cameras, but u never get that between line half underwater / over effect.

What do you guys think about all of that?
And what are you doing to get around this problem?

Thanks a loot!

(Tons of time, trying to get or find a good water solution for unity.)
*All the misspelling was intended.

Unity as a platform primarily caters to common cases with it’s built in effects. What you are describing is a more specific use case for some games that use water as a primary game theme.

Unfortunately at this point you would need to transition from a user of the Unity platform as is, to a more generalized developer. Yes it is completely doable within what Unity gives us (A LOT is possible). You just aren’t going to find a “check this box and add this shader” approach.

As for your specific example, I would suggest using a separate camera to render water volumes to a render texture (interior faces white, clear depth buffer). This texture can then be used to mask your full screen FX such as light shafts and fog. This should enable you to get the camera “half way underwater”. You are going to have to get your hands dirty editing shaders though. :slight_smile:

2 Likes

It’s actually a shame that Unity is so week when it comes to standard assets. If I look at other packages like Unreal or the Cryengine, they pack alot more stuff like sky, water, textures/ materials, day night systems, all ready made to use.
Half of the assets in the store are not keeping up with the Unity versions and one has to wait for months if not years to get anything useful.
Water is one of the standard assets that have completely been abandoned by the Unity developers. Where is water5 with PBS?
How about giving out some more basic materials and shaders to give us a better starting point in developing anything?
Unity seems more like an empty framework the further we go with it.

2 Likes

This is an unfortunate expectation that only comes up with certain users.

Yes. Unreal has some very advanced standard assets. IF (Large IF)… You want to make a game that looks like what Unreal has made for you. Users who are looking to make a game that makes use of Unreal’s assets are sure to be disappointed that Unity didn’t do that for them.

This is to be expected. As an example, Unreal has designed a particular post processing stack for its users that want that. Unity on the other hand created a set of post processing effects that can be combined in a multitude of ways. Unfortunately this comes at a performance price.

Users like me, who appreciate versatility, end up very much appreciating the way Unity approaches standard assets. Users who just want their game to look like an Unreal demo are of course better served going with Unreal.

Unreal engine does allow modification to their post processes, not only from settings/tweakable values, and quite a bit of options, but also being able to edit EVERYTHING, unlike what we can do with unity.
So if you really want versatility then your probably better off with unreal engine. The downside to going down to that level is the time it takes to get stuff done. And likely a better general understand might be needed to get more stuff in.