This is a really weird and unnecessary bug… I went back and checked my master project to see what was different, and it turns out the ONLY thing was in the BP_OceanSystem variables, WaveSetTimeMultipler had a “Slider value” range of 0 - 0 when it should have been 0 - 10. I changed it back, and it works again. Looks like something went wrong when I migrated the content over to the demo project. Here is the setting so you can fix it on your end without having to download everything again, change the two values I have marked in the image below to 10 and then compile & save the blueprint, it should now work correctly.
Thanks for the suggestion! I was planning to include presets for the weather as well, so I will add this to my list!
Yeah the foam is no where near ideal, I left it in as I have not come up with a better system yet unfortunately. Do you have any more info on the AO technique? Moving it out of base color would help as I don’t like calling DepthFade so many times along the line, it is bound to cause issues (maybe even the one you show in the image). Before I added in the foam the opacity depth worked much better, now it seems to only affect the color instead of actually fading by distance.
Thanks for reporting these issues!
EDIT: Looking into this a bit more it looks like the DepthFade is inverted somehow, the translucency should pull away from in front of the camera when the value is decreased, instead it is making the areas furthest from the camera translucent first, the lower the value, the closer it comes to the camera. I’m not going to upload a new version of this until I get this sorted out, the TimeMultipler fix is fairly simple, but this is not good at all…
EDIT #2: So after some more investigating the normal output from the wave calculations is causing major problems in the DepthFade for Opacity & Base Color. I have simply removed the connection from the 2 DepthFade node’s and can see a big improvement to the overall look.
I will be updating the links shortly with this fix in place, it is not the answer to this issue but makes a big difference.
Hey thanks Tesla! I saw all of the requests for some kind of water system and decided to do something about it, it has been a great learning experience for me so far, but is still far from complete. Glad you like it though!
I’m just uploading the new files, there was a couple of bugs and rendering issues with the depth fade and opacity, they have been temporarily fixed, but will still be working on a permanent fix as well.
Your tutorials have been a huge help, I spent the first six months just leaning UE4 through tutorials like yours, so thank you for providing them!
Let me know if you have any ideas to improve the system!
I know that there is a AO being done. But I don’t know how you can access it . it is available as a buffer. It would need to be inverted and have its contrast adjusted but in theory should provide a perfect masking solution for object penetrating the water. the other solution would be to do the math and calculate it yourself to give you more control.
Yeah I think that’s too far over my head as well for now, but I can see how that system would help. I was also thinking about recreating the mesh (which I am doing anyways) to use a separate material near the shoreline, only difficulty is not everyone’s shoreline is going to be the same shape. I’m also looking into constructing multiple smaller panels through the construction script, just not sure how difficult it would be to construct them so they follow the landscape (or whether that would even work in the first place - never mind the performance implications). The material is in WSC so multiple panels will line up properly and can overlap, I’m just not sure if multiple overlapping sections are possible with the translucency issues noted previously.
Anyways thanks for the info, will test out these ideas this week.
Ok So it looks like the AO can be pulled in using a SceneTexture Node. You can then go into the list and select the AO buffer.
Not sure if this means that you just also have to generate a foam pass and then use it to mask the 2 passes after the fact or what. That part is a little beyond me. I know that is a offline rendering world we would do it that way and put it together in post.
I will be adding buoyancy very soon, along with a couple other new features
This is another feature I have been working on, creating particle effects for splashes (as well as rain), I am working out the details but this should also be in the next release with buoyancy.
Ha! lol…Yeah I know it is fairly complex, even with everything placed into parameters & functions it is still a large material (over 600 instructions). If your mind isn’t melting enough from that, have a look at the math involved (this is for calculating a single Gerstner wave)
Nice work, the weather really makes it come alive. Particularly the lightning! Also love the foam off the rocks. As I posted on another ocean shader post, would love to see some ocean spray here and there… Still awesome without it though!
Absolutely amazing work, when everything is tweaked right you can create some truely fierce storms. I wish I could help but most of this is beyond me for the moment, can’t wait to see how this develops.
Gah! I just noticed your post now… Ugh… sorry HeadClot.
But some good news!! Buoyancy is almost ready, I found I was calculating the wave incorrectly from the OceanManager BP, got that fixed and I can get something to float a bit finally. It still needs a bit more work but it should be any day now!
I am creating a BuoyantMesh blueprint base classes that will allow you to set any static mesh you want, and it will calculate the mass and center of mass offset of the input mesh. It will be adjustable as well, but by default it will create 4 debug spheres around the COM of the object that get used for applying gravity or buoyant forces to each sphere so it can rock back and forth with the waves.
Regarding multiple water planes as it stands right now, you can add a second Ocean BP right next to (or even overlapping) so long as they have the same settings. But that is the least performant way of doing this, I am planning to add a Mesh Spawner in the Construction script to create multiple meshes in a grid format. The material itself is in WSC so there shouldn’t be any problems getting them to line up correctly, you can even overlap them if you need to.
Also I have been working on getting an LOD system functional to avoid the performance issues I just noted, I will have some more info on this later, but if you have any ideas you’d like to pass my way I would be all ears!
Thanks Steve, I have ocean spray on my list, but it’s a long list
This actually was a bug worth mentioning, only problem is I can’t get it to happen again. The issue ended up being that the Slider value range for one variable got set to 0 when it should have been 10 after I migrated out the content from my master project. Somehow this value got changed in the process, it ended up forcing the value to 0 when I tried to adjust the value, freezing the ocean waves in place.
Anyways if I can get it to happen again I will be reporting it on AnswerHub.