[Community Project] FREE Ocean Water Shader

I had to turn off the rating for all the videos, which got downrated for every subject I have published, I assume someone thinks can do better, but don’t have the balls to do it, so my rant is because I DO some things for a living and I can’t have people who have something against the project to interfere with my work. If people can’t understand how time consuming is to record a section, check for mistakes, do the video montage, generate the best video format and upload to Youtube, so I don’t want to ever publish anything again supporting a free project where I don’t receive a nickel, and instead I will do it for my own work.

Geez, this is why we can’t have nice things…
I think you made the right choice. Focus on your project first, you can provide support (for your own project) once you start selling it :wink: Also, I would like to get my hands on it as soon as possible :smiley:

How does the lighting works in this map ? When i hit build i get a couple of errors and i cant seem to bake any lighting at all - is this intentional ? Im quite new so i might be missing something here completely :stuck_out_tongue:

Hey guys, great stuff you are working on here. Thank you very much for sharing it with the community

Thanks Nilson for your excellent work!

I appreciated your video and efforts greatly, and I am not alone.

Hello, I have been searching the internet for an ocean plugin for a project I am working with UE4 and found this plugin. I am still learning UE4 and am a beginner in all the sense. My question is how do you install it? I downloaded the package and see that there is some source code, and I assume you need to compile this version to get it to work. My project was started with blueprints enabled and is not C++ enabled. Please let me know how I would go about installing this plugin. Thank you.

Thou I don’t recommend for starters dealing with C++ plugins unless they are absolutely comfortable with the engine usage, the use for this plugin does not differ from any other plugin in the marketplace, with the difference that you need to install it yourself instead of having it automated by the launcher. Having started with blueprint doesn’t mean you can’t add later C++ code, the opposite is true aswel. I have posted a video on how to migrate the asset to a new project which has the overall steps to make it work even if you started with blueprint:

There are other videos which deal with different things, you might want to check at the same channel.

Hello to all. I wanted to congratulate the developers on the magnificent work they are doing. I’m trying to get Ocean Blueprint to share with TrueSky 4.20. I enter the ocean in an empty scene and you see, when I insert TrueSky the sky is not seen (black) but it is mirrored on the ocean, when I make the ocean invisible you can see TrueSky. I tried to insert the TrueSky Transparency Modifier node on the M_Ocean_Ultra material but the sky remains black.

It is not an issue with the ocean, but it is related to how the TrueSky rendering works. That node is supposed to fix reflection issues in transparent materials (it does fix as your picture tells), but I don’t know why the sky is disappearing. The best way I think is for you to ask in their forums if anyone had such issue and how did they fix it. They have a thread in UE forums which you can ask there aswel.

Hello i want to make a underwaterstation but how i can override inside the station the pp material ?

I have made a video about this and it is on my YouTube channel: https://youtube.com/watch?v=FUxQAv5FIuM

Keep in mind thou, this video shows how to do it for a single object underwater, but you can have many material instances applied to the postprocess, each one for an object, and you can active the material as your character (or camera) moves inside the object (dome or whatever you have) by setting up the blend value which appear at left of that material inside the postprocess. It is just a matter of criativity, really.

Is there a 4.20 (+) build around?
Or how do we compile this on 4.20 ?

Some help or answers would be nice :wink:

You can just download the 4.19 from GitHub and recompile it, nothing difficult if you already have compiled a project with plugins in Visual Studio before. Usually you just change the project .uproject file to 4.20, save this file, right-click it and choose to regenerate the visual studio files, then you open the .sln file with Visual Studio and choose rebuild, save all and then you can open the project .uproject in UE editor normally.

Quick question on something
First off great job on the project, it looks amazing!

I was wondering if there is a way to apply the plugin to a material so it is not infinite? For example say i use one of the default projects included in the package and i add a ship into it, i want to create a custom mesh to have a shape that is somewhat shaped like the hull but add a ocean material to it that is slightly more turbulent that what the main ocean is ,to give the illusion that there is a wake around ship, or have it sinking ect.

Keep up the good work!

@Dreamcastgamer The material can be applied to any plane provided it has vertices enough for the tesselation, you can use the mesh inside the blueprint BP_Ocean and change its scale for your purposes. If you study the contents of BP_Ocean blueprint you will notice there are several ocean materials, the one first loaded when you run the demo project, once it is downloaded from GitHub, it M_OceanUltra. I would recommend thou for you to produce a variation of the BP_Ocean, which means strip out the Ocean Manager which currently handles the infinite ocean (it rescales the plane based on the camera position).

I have posted videos at YouTube showing how to handle the wave scales, check that out, they are the most recent ones.

About your plans on the usage, the “custom mesh to have a shape that is somewhat shaped like the hull but add a ocean material to it that is slightly more turbulent”, I am not sure I could figure that out by your description, but to achieve this the only thing you can do is to study the project on all its aspects, because one thing is the wave pattern on the plane (this is a material) and another thing is the underwater (a postprocess material), so studying all the aspects to completely understand it. The project is being supported by the community, but since the original author is nowhere to be found it is likely to not receive any updates. I am working thou in a new ocean system that is supposed to support a lot more use cases and has a lot more features, that you can follow up here: https://forums.unrealengine.com/unre…r-ocean-plugin

Good luck on your project!

I’m getting an startup crash when running the packaged build (UE 4.20.3, Windows 10 x64). The editor works just fine

47844182ff82f800ddc111e89c766122dc2bf9f6.png

I am going to check this, but I have packaged before and worked fine regardless the engine version. I will let you know in a few hours.

There are several errors during the packaging that are preventing the code to be compiled, so that’s the main reason the OceanManager could not be found since it is a class inside the plugin. I will need to compare with a packaging with 4.19 and see the differences to understand how to deal with them in 4.20, that might take a while, please stand by.

Sounds good! Thank you.

Well, I updated “ComputeShaderDev” plugin to the 4.20 branch, and rebuilt the plugins. Before I think the build of the plugins was failing, Now compiles, but building my game fails now, I’m getting this:

[ATTACH=JSON]{“data-align”:“none”,“data-size”:“full”,“data-tempid”:“temp_151345_1541325657441_634”}[/ATTACH]​

It says “Unrecognized shader frecuency” for FGlobalComputeShader…

I also updated OceanPlugin.Build.cs, and ComputeShaderDevPlugin.Build.cs, I basically modified the public/private include paths like this (I read somewhere that is the format UE 4.20 wants):

    PublicIncludePaths.AddRange(
        new string] {
            Path.Combine(ModuleDirectory, "Public")
            // ... add public include paths required here ...
        }
        );


    PrivateIncludePaths.AddRange(
        new string] {
            Path.Combine(ModuleDirectory, "Private"),
            // ... add other private include paths required here ...
        }
        );

I think I’m close to a fix, but I’m stuck at this shader error…
Any ideas?

I’ll submit a PR if I finally manage to get this working.

Thank you.