[Community Project] WIP Weather & Ocean Water Shader

Thanks for taking the time to assist Nilson, will await your reply as time permits.

I recorded a video with some toughts and showing some stuff. It is not sort of a solution, but the sound is quite low in the recording, exchanged my motherboard few days ago and the drivers are probably not ok. This is it:

The real challenge is pulling this off:

Thanks for you help Nilson, I appreciate the time and effort. I am trying to mask out 3D widgets that will be attached to a moving actor underwater. Do you know how one would go about attaching the mask to an actor?

You need to obtain the WorldPosition for the widget (if it is a separate actor is easy and not relative to the moving actor, if the widget is inside as component of the movind actor, the actor’s itself worldposition). It is important that the pivot in in the widget center (I guess it is by default).

The WorldPosition you will get (x, y, z) and feed the material in my video on the vector called Position. For the Radius you will need to find a way to obtain it in a way you can feed to the material. If you could hear my video, the main issue is to not have the distortion effect between your line of sight and the widget, meaning the radius for the mask (if is a sphere mask) will be centered in the widget position (granted that the pivot is in its center) and wide enough to reach your camera.

I was wondering, as I don’t know exactly what you have in mind in your project, is it really worth get rid of the postprocess? I ask this because it brings an approximation of realism, so if you consider that in real life, anything you would look inside water is distorted, even more if it is an ocean. Just a thought.

When I have made the video you have watched, the person intention was to create an underwater city, so makes sense mask the inside. Duke’s approach on his post above, is to mask the ocean itself, useful for boat’s bottom and submerging things like that thing in the gif.

i have an idea of how to fix the fringing issues which ill try tomorrow.

Zoc on github has updated my IWYU update, and made more fixes, he is also working on a few other bug reports on there. He is also merging in the 4.19 update. So now we have both projects (VaOcean) @ 4.19

This should increase our user base, and hopefully catch more attention. I’m glad to see the ball rolling from multiple people each working on separate features/issues.

I even have a guy on the slack channel working on (another) fft ocean. So hopefully we can steer away from that NVidia license soon.

While I don’t agree with moving some things like timemanager to c++, there are somethings like the heavy math, buoyancy and get wave height ect that are better done in c++ and should just be exposed in blueprints.

I am still waiting for Epic to report to me about that NVidia License, but their legal department still didn’t contacted me. The original author also commented on contributing with a more straight implementation. He told me that the code is Windows only, but I didn’t have time to check this assertion, I was hopping to have a multiplatform solution.

I do agree with timemanager kept in C++. I can work the replication part for multiplayer later, once we have all the features set in place, since it is easier doing so after.

Hey guys, I’m playing with the ocean project for a few days, modifying it to my needs. It has really interesting features and works great.
I reckognized something I couldn’t “fix”, don’t know if it’s a bug or I missed something.

The ocean’s zHeight is at -21930.0. I cranked up the wave height, until a point, where the ships reaching a point, they can’t pass, even though the force is still applied.
This point exists in both directions, at around -20228 and -24228(small boat position). So it “fly’s” above the ocean at -24228 and is underwater at -20228. But I can see, the buoyancy force still try to bring the boat to the correct position past this points, so the wave height calculations are good. If I raise the ocean by hand, it can pass those points, but the relative limit is still present. Exact 4000 (24228-20228). And the ocean is in the middle, pretty much. At -21930 (so exactly 22228, if the boats height /2 is added, because the center.z is at the bottom of the boat).
The ship can’t exceed 2000 units from the oceans z-position.

I changed the wave cluster settings in the blueprint to Length: 40k and Amplitude 2.5k. Is there any maximum height value of 2000 I missed? It’s not the modulation start height^^

edit: Oh, I’ve found it. It is an optimization in the ocean manager. If I ever need 500 units more, I could change it in the source code. Thanks again @ the whole community for putting this together =)

Mehnik just posted a Simple Boat Physics & Navigation (with boat improved buoyancy), can look at for the complete project:

@EvoPulseGaming could be injected into FREE WIP Ocean aswel for the navigation, giving a complete demo with Manowar ship.

Im finishing some deep code testing and my brain is burnt atm, I will check this as soon as I can.

Hello, any eta for 4.19?

Hi, I’m having problems with the truesky + oceanproject.

When I have the camera below the clouds I see everything correctly.

But when I have it over the clouds I see the ocean instead of the truesky clouds.

Is there a solution to see it correctly regardless of where the camera is, or at least how to see the clouds when the camera is above them?
Thanks in advance.

I was wondering if someone could tell me if all the assets in this project are okay to use in the creation of a game. If i were to release a game with assets from this project would that be okay?
Thank you very much

All the content can be used for a game production using Unreal Engine only (binary format), which you can sell, but not as in source form, meaning can’t repackage the whole or its parts and sell them in source format at gumroad or the marketplace or any other game engine store.


I’m currently experiencing some odd issues on Xbox One with this, and was wondering if anyone else used this ocean system with Xbox One and can find the fix for it. I’m using Ocean SSR Foam and modified it a bit to fit more with the stylizing of my title. Though everything from the material is the same, so nothing material code wised changed.

Is this running on Deferred or Forward renderer? Also, which UE version you running?

Running deferred rendering and UE 4.19. Runs fine in editor and Windows build, just not X1.

Your issue here is that TrueSky doesn’t know how to behave when there is a translucent material, this is called sorting issue, and happens with these materials. I am making a small video to show you an idea on how to fix, but I really don’t know if it will. Note that the second method works but every other translucency material applied must have the sort priority variable set aswell, so the 1st method is prefered if TryeSky allows it.

Please, let us know if this worked or not @intrus03 !

The video will be live in 20min approx.

I’m going to try multiple of the ocean shaders to see which are broken currently on Xbox, but this is currently the comparison.

Top: Xbox One

Bottom: Intended Look, PC


Seems like maybe there is too many instructions for UE4? Get this error while compiling.
**LogShaderCompilers: Warning: D:\UE4_UE4_\UnrealEngine-4.19.0\FreedomPuzzle\Content\Ocean\Materials\M_Ocean_Versions\M_Ocean.uasset: Failed to compile Material for platform SF_XBOXONE_D3D12, Default Material will be used in game.

EDIT2: **

The following 3 ocean shaders don’t work on Xbox One: