[Community Project] WIP Weather & Water Shader

When I build my level (just a simple test scene) I get the error 'Performance Warning BP_Skydome_C_0 Large actor receives a pre-shadow and will cause an performance hit unless bCastDynamicShadow is set to false."
Problem is I can’t find anywhere to set value. According to the UE docs it happens when using a movable mesh… questions/3438/large-actor-receives-a-pre-shadow-and-will-cause-a.html
Might be something you guys need to update inside the Blueprint?

I found the. The inner cloud sphere object had both static and dynamic shadows checked inside the Blueprint Component. If you uncheck the Dynamic Shadows option it fixes the problem.

I have another question however… how do you change the default moon mesh? I thought it would simply be to replace it inside the Blueprint but for some reason its still using your mesh. I even tried re-importing my own mesh as a replacement for the moon model but its still using the original somehow.

Finally would it also be possible for you to put together a simple tutorial showing how to adjust the various values of the blueprint via the level blueprint so we can turn lightning on and off, increase and decrease cloud opacity, cloud speed etc. at various times?

Hi! Can anyone explain me how to lauch project on windows without UE4 develop program? I cant find binary for windows to launch it…

Cool! I never expected a project like would use the , but it is great to see! I have an idea to make the in your scene look better while remaining cheap performance wise. It is basically a highly stripped down version of the material, but with a couple of additions. I will try and post it weekend for you guys! :slight_smile:

Aww shucks thank you !
Hopefully the new version will be even better :wink:

Hey man good to see you on the ! :slight_smile:

I am really surprised the light shafts were using the default occlusion from the directional light, they look so much better than the last time I tried that approach. But as mentioned I think the height fog is making the difference so I will give it another try. And as I suspected the caustics are a light function, I have the same method in my project at the moment but it needs a bit more tweaking.

Thanks again for the info, you guys are doing a great job!

Hey sorry for your troubles there, that is one thing I managed to forget to fix before releasing the buoyancy version (the shadow warnings noted above). I have turned them off now for the next release.

As far as the moon goes, all you should need to do is open the blueprint, go to the Components tab, select the moon, then in the details panel you should see a Static Mesh box with the moon selected. Change that to whatever you’d like, the material is being set from the “Set Sky Parameters” function which gets called from the Construction Script. So if you change the mesh, you will most likely want to change the Material as well.

The majority of those properties can be adjusted in the viewport, if you select the Skydome from the scene outliner, all of the properties can be found in the details panel.

For dynamically changing the values you will need a reference to the Skydome blueprint in the level blueprint and then set various properties. But the answer is yes, I will do a tutorial for that asap!

project is meant to be a demonstration of the and Skydome, not an executable program. While everything would work in a binary version, you wouldn’t be able to do anything other than look at it. For the time being I have no plans to make into an executable, it is meant to help other developers get a jump start at creating these systems in their own game. The project may never get to a point where it would be a standalone, so I cant make any promises. As it stands UE4 is required to use project.

What about the water shader they’ve shown on TwitchTv. Anybody knows where to get it?

It’s on the Learn tab of the launcher :slight_smile:

Do you mean the Epics’s water shader?
You can download them from your launcher inside the the “Learn” tab

For real? Omg, I swear I didn’t see it there. Thanks!

Ahh that would be why swapping out the mesh entirely didn’t do anything because its still just a sphere but the material is set elsewhere so I couldn’t see the change. Is there some reason you chose to set the material inside the construction script rather than simply inside the Components? Maybe it would be possible to expose the material to the editor in the future so people can change it more easily?

Thanks for the help!

Hey sorry for not posting here in a while, I had way less free time to work on than I would like to have :frowning:

I was doing some larger scale tests and I found a problem with the transparency (I’m guessing you are already aware of ? :p)
Basically, the further the water plane, the noisier it gets until it get’s completely transparent.

I made an island with world machine to test how the could look like on a larger scale and the is very distracting.
http://i3.minus.com/jBuS6bRFV2YX3.jpg
(zoom to see it better)

At first I thought it had to do with the scale of the water plane but it seems to be a problem with the way the second plane is used (I’m assuming that is to fix the transparency sorting problem?).
Hopefully we can find a better way to fix these transparency issues! :stuck_out_tongue:

The reason it uses a DynamicMaterialInstance to apply the material is that I had planned to add in a system to orient the material (or possibly the mesh) towards the surface since we only ever see one side of the moon. Beyond that I had more plans for lunar cycles etc, but I think I will be changing the approach coming up.

Sorry about that. :slight_smile:

Hey Man! Yeah same here, made some good progress week though!

I have absolutely no idea what you are talking about…
hides

Correct! It is always the transparency getting in the way. In order for it to look good at the surface, by that I mean not look like :

I need to do the custom sorting using the second plane mesh/material here:

To prevent the horrible artifacting that occurs when a translucent surface tries to render a wave behind the first, wave behind the second, etc, etc, until it becomes either totally black or invisible it needs the depth calculations. The fix works great at eye level, not so great from a distance.

To fix all we need to do is switch the scalar value I have circled above to 0.9 (edited - I put the wrong number in… should be 0.9 not 1.0) when the camera moves high enough to no longer be impacted by the banding artifact. Most likely will need to be done in a blueprint since it is not an of distance from pixel, it’s more the camera’s height that needs to be monitored. I have yet to fix but it is “on the list” so to speak, it might end up being something the end user decides how to proceed with, but I totally agree it needs to be fixed. :slight_smile:

Btw I have been tearing up the material the past few days, it is much simpler now, with more complex wave movement to boot! I will post up some larger screenshots a bit later, was going to do it now but I just noticed a glaring… Here is a preview though (foam is disabled, working on the look of the water but it will be improved as well, alternate displacement waves on low, 8 Gerstner waves instead of 16 so mat has fewer instructions) take note of the SSS courtesy of as well!

EDIT: just want to note specular/reflections still need work, it will look better than in the release!

Oh nice :slight_smile: can’t wait to see how it will look like when it’s ready!

XD haha

Sadly, I don’t think is going to work that great (at least from what I have tried) :stuck_out_tongue: I guess we still have to wait for Epic to implement forward shading (fingers crossed for 4.8!) or the transparency problem will be there one way or another.
Temporal AA seems to take care some of that noise but the blurring that comes with it makes my eyes hurt, I would prefer to be able to use FXAA :stuck_out_tongue:

Whoops sorry I got mixed up… if you lower the value to 0.9 you can zoom out pretty much until you can no longer see it:

DispFixDist.PNG

It was disappearing at a much closer distance with 0.997, but again is not an ideal fix (although it does work alright). Try that out and see if it helps. How big is that landscape?

I think a lot of what is making your eyes hurt is the horrible tiling of the you can see in your image (my fault). I’ve been able to reduce that considerably though with the new random displacement mixed in.

4.8 already has some great improvements but I am not sure we will see a forward shading pass implemented… But that reminds me, I have been meaning to update the source to see whats changed in the past couple of weeks, I’ll check it out again later.

Okay I was wrong, the scale of the water plane does matter too… it matters a lot! :p… it looks way better at 1.0 scale at distance, so I guess I will add a larger mesh, maybe play a bit with LOD and see how that goes :slight_smile:

Yes ^^ LOD is the answer… It’s just a real pain to set up with material. :stuck_out_tongue:

Just as a note, that mesh is already scaled 10x by the blueprint, but it is all world space so shouldn’t matter. I dunno why scaling does that, possibly tessellation artifacts I guess, not really sure though.

Some kind of LOD is the last thing I am going to work on before uploading a new version, the mesh I include is way too small

For those interested I updated the trello board with completed items & bugs, that should give a fairly good idea on what’s coming :slight_smile:

I want to add. I moved to UE4 for my Cold War Submarine Simulator game from Unity and I have to say.

What you guys have achieved, as a community, in a few months. Versus what the Unity community has acheived on their community project… it just cant be compared. You guys are ROCKING AND ROLLING.

I will be adding onto project as soon as I get my project underway as we switch engines and practice our C++.

Hey , welcome to the ! :slight_smile:

Well thank you, glad you like it! It is missing quite a bit of base functionality still, but I’m working on getting those fixed up. Any and all help is more than welcome so feel free to make any changes you see fit and we can work on getting them integrated into the package. There are a lot of changes coming in the next version of , but if there is any you want to have added, or even just doing things differently please let me know!

That sounds like a really interesting project you’re working on, can’t wait to see it in engine! You can post any screenshots here as well if you’d like, always nice to see how is used in other projects.

Let me know if you need any info, it is not very well documented at the moment (another thing I need to fix… ;)). Have fun!

I can’t believe I am just finding out about . is something that will help me immensely. Thank you all so very much. How would one go about getting the underwater post processing working? I am running the 0.2 buoyancy demo. I have created a post processing volume and tried both the M_Underwater_PP and M_Underwater_PP_Inst as the volumes bendable. I am a code monkey (not very skilled in the art side of things) so I may just be doing something wrong (or not doing something).

Hey ,

Our team is going to meet next week with our sponsor to discuss our team contributing code and models. We found out that we in fact do own our code and models, so here’s a guarantee from me confirming that we will in fact be giving you fish code and models! We just want to make sure that our sponsor is aware before we publish, and our academic advisors have wanted us to hold off talking with our sponsor until we release our prototype, which we will be doing Thursday (hopefully haha!). Anyway, just wanted to give you an update! Can’t wait for your next release.

Also, have you considered submitting community project for a Dev ? Our team is going to submit our prototype, big thanks to epic for that! I’ll ask our advisors if we can post the prototype of our game here for play-testing. All feedback is good :slight_smile: