[Community Project] WIP Weather & Ocean Water Shader

thanks so much for everything you are doing

Thank you very much


I’d definitely be interested, I am so busy with another non-UE4 work project my time is limited but I’ve been watching this with keen interest as well as your sub-sim Nsomnia. It’s looking great! I’m in the story-boarding/initial phases of a cinematic WW2 recreation piece regarding Force-Z so this project is going to save me countless days on that end and I’m hoping I’ll be able to push back some art/asset improvements once I get further along.

One question I have is there a way to increase the range of the Gestner waves effect, I’m dealing with really large ships and the radius of the effect doesn’t really even cover the whole ship. I could potentially shrink the ships and all the other assets but I’d prefer to avoid this. I was planning to go looking into this, but time is a short and valuable quantity for me these days, any one able to point me where to look?

One last thing of note, the main repository seems to be falling behind, is it still being maintained, it would be nice to see the efforts of various others getting combined into one repository again, things are looking a bit fragmented, and it would be nice simplify things by having one place where improvements can be pushed/merged.

I’ve been poking into ways to mask the ocean so I could build full ships and use them instead of teleporting the player to the interior hidden way in the sky

This project says it has a mask effect for hiding water in boat meshes. This week i’ll be pouring through that, scrawks old ocean setups, and suimono in unity to see if theres nything that would be very easy to port over with my limited knowledge of the ue4 API for practice.

Really hope you get well soon dude. x

A whole weeks work blueprinting up a submarine again lost, now its just spazzing out after I recompiled with victory plugin and organized components with scene components. Ugh unreal.

Edit: Thought it might ave been after enabling physics sub stepping but nope no go. Word of warning build your own pawn dont modify BP_Boat

So sorry if this is asked and answered in one of the 28 pages. I’ve been looking into the blueprints in the game trying to find where the calculations for the buoyancy are. I found in the Oceans folder there’s an “Old” folder and I see some applied forces in there for buoyancy stuff, but I don’t think that’s everything.

Would anybody be able to point me in the right direction as to where all the buoyancy calculations are happening? Thanks so much! BTW this whole project is amazing! I love messing around with the ships!

While I cannot help you directly, if you use the archive view of the forum it is only 5 pages to search:

Really nice work!! I love everything about this project. Oh by the way, did anyone else noticed some weird darkening when underwater and the player’s camera is looking up? In the demo project, If I look straight up while underwater the water surface turns pitch black, it looks fine at a 45ish degree angle…but when you look straight up it gets pitch black…it is really offputting, I’ve tried messing around in the settings, even disableing the post process volume (both the global and underwater) but it didn’t work…the issue is still there…Removing the two sided check for the material seems to “fix” it so it might be shader related. Is it just me or have you guys noticed it also?

P.S disabling the two sided checkbox is not really a fix because then I end up having no ocean mesh above me (obviously).

BuoyancyForceComponent.cpp meshDensity/fluidDensity * testPoints / tPRadius or something like that

Read the thread lots of issues related to this. Try different ocean enums (with/without sss/cubemap/gerstner etc) on bp_ocean

Read the thread lots of issues related to this. Try different ocean enums (with/without sss/cubemap/gerstner etc) on bp_ocean

One thing that worked for me when I didnt have a “translucent ocean” when looking up underwater was set “Lower Hemisphere Is Black” to False in your moveable Skylight (NOT sunlight!)

Hello everyone,

Can anyone help?

  1. I am trying to use the Ultra_Dynamic_Sky with this project (primarily for the clouds).

I understand that when I replaced the BP_Skydome with Ultra, I lost the UpdateSun function, and my SSS light vector parameter.

For us non-C++ people, where exactly in the Ultra BP do I put that function?

And does the function need to be tailored from that found in the BP_Skydome because of other coding in the plug-in?

If someone could tell me how to migrate over only the clouds from Ultra into this project, that would be another solution.

I want to keep that nice Black Flag SSS in the top of the waves you have achieved, but with the Ultra clouds.

  1. The nice waves create a problem previously pointed out, at the shoreline. I would like to implement TK-Master’s hightmap modulation function to keep waves from intruding too far…don’t know where to integrate that function either.

I was wondering if the hightmap along with probes placed along the beach, could be used to activate a swash/backwash shoreline blueprint that could be combined with this project. The waves already look great … some braking foam waves, swash that creates wet sand, and this would be almost perfect.

Did anyone notice that Bethesda used interactive “lake” water (no waves) for the Atlantic Ocean in Fallout 4?

Thanks in advance, and a special thanks to all you Canadians, I guess Canada wins the Gold for writing water shaders.

On top of all the other things im trying to integrate and port is the cloud and shadows from ultra dynamic. I havnt gotten any further than prodding the blueprionts but will post if I find more info. Its not a plug an play no doubt about it.

Yes us canadians seem to be all about the water…

What about 4.11? 4.11’s render time improvement (intel embree) is critical for architectural visulations. I know 4.11 is preview version but maybe temporarily something can be done. So i need this beautiful ocean in my version 4.11 project.

It should compile on 4.11p5 not that I’ve tried.

****, you guys are clever.

Any update on the transition from below/above water? (That thin line where for example the water covers only half your screen.)

Does anyone have a decent underwater fog at this point? I don’t care if the transition isn’t perfect.

I’m looking at the guy whos doing the diving suit project to try to solve this some really great ideas in that thread.

I have it built in my mind where it essentially gets darker the lower you go, remind me in a week and I’ll post it if I have it done, another one of the things I have on the go for my project. Basically all you need to do though is setup a PP volume around your currently controlled pawn and if above water set bIsEnabled to false and visa versa and also set up the PP settings based on whatever variables (depth for example)

Hey guys, I have some time to spare this week so hopefully I will finish the underwater stuff and upload to github.
I’m actually kinda glad I did not share the version I talked about before because I have found a much better method to do the masking (which does not involve any crazy gerstner calculations in the post process material).

The solution is to use the stencil buffer to mask the upside and underside of the ocean plane (that does require an extra depth plane though).
How the heck did I not think about the stencil buffer before?! it’s a simple solution and was right there in front of my face this whole time :stuck_out_tongue:

It works like this:
Red = upside, green = underside

The problem with this method (because there always has to be a problem…) is that tessellation causes some cracks and pixelation to show in the stencil buffer, the solution is to use a pre-tessellated plane and sample multiple neighbor pixels from the stencil buffer to get a cleaner result.

Wait am I the only non-Canadian in this thread? :stuck_out_tongue: haha (I’m from Greece)

The light vector for the SSS is updated from BP_Sky (take a look inside the UpdateSun function, second comment box) there is no C++ involved, you should be able to copy that part into Ultra Dynamic Sky bp.
The reason it is not updated from BP_Ocean is because it won’t update in editor when you change the time of day.

The heightmap modulation function that I posted is implemented in the materials (M_Ocean_SSR, M_Ocean_Depth etc.) I believe I posted some instructions :stuck_out_tongue:

Just leave me 8 months to catch up. Masking my submarines interiors so that I didnt have to do tricks with the interiors was my first step in C++/Advanced Materials using the divnig suit game thread.