Announcement

Collapse
No announcement yet.

[Community Project] WIP Weather & Ocean Water Shader

Collapse
This topic is closed.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

    I've been trying to use this with trueSKY but keep getting the holes people are talking about. Some suggest adding the trueSKY transparency node but that leaves it with smaller holes since it isn't using the "Custom Depth Buffer Calculation for Translucency (transparency sorting workaround)" section of the material. I've tried both the regular node and the modifier but it doesn't help.

    With no change:



    With trueSKY transparency:
    Attached Files

    Comment


      I'm having a play with this at the moment to see if it will work for a project I'm doing. I'm only using the ocean component, however I'm finding that the water doesn't get dark at night time. In the dcSkyTestMap the ocean gets nice and dark at night time. However if I try some of the other maps like the IslandMap, the ocean doesn't get dark when making it night time. It has too much light reflection or something going on. I'm just wondering what exactly controls the darkness (or light reflection) of the ocean. I'm trying to integrate it with my own sky system and can't figure out how exactly the ocean gets darker at night time in the dcSkyTestMap so that I can hook into the same function with my own set up?

      Comment


        Originally posted by Sitrec View Post
        I've been trying to use this with trueSKY but keep getting the holes people are talking about. Some suggest adding the trueSKY transparency node but that leaves it with smaller holes since it isn't using the "Custom Depth Buffer Calculation for Translucency (transparency sorting workaround)" section of the material. I've tried both the regular node and the modifier but it doesn't help.

        With no change:



        With trueSKY transparency:
        The TrueSky node is actually doing exactly what it should and the problem it caused on your water is in fact fully fixed. The smaller holes you are seeing are caused by the fact that Unreal engine is a deferred renderer which has serious issues with rendering layered transparency. There is a "workaround" to "fix" this though but it comes at a cost. A cost of having to render your ocean twice, meaning you will need to place your ocean mesh inside your level at the exact same coordinates twice. One has your normal ocean shader he other will act as a depth buffer rendered at a seperate depth channel which you then have to call from your main ocean shader and use as a mask to hide the backside of each wave. This also means that he back of each wave will also be fully opaque, but there is yet another fix for that if you use custom refraction by utilizing your scene color which does allow you to create fully transparent water material with no sorting issues but if you want to know more about that just ask.

        These are the nodes you will need in your main shader: (Note I did not come up with this fix, It was provided by someone on the forums and is also included in the community ocean project)
        Click image for larger version

Name:	opacity.png
Views:	1
Size:	104.9 KB
ID:	1130573

        Custom node:
        Click image for larger version

Name:	a82d5ca9d2d90598a53bd5ccc18dc8b9.png
Views:	1
Size:	14.4 KB
ID:	1130575

        Then you'll want to make a depth buffer material to apply on your second mesh. Inside this material should be your wave displacement and pretty much nothing more. Might want to tweak some settings to make it as lightweight as possible as all this material needs to do is render to a custom depth pass, nothing more. Then apply this material to your second waterplane mesh and make sure the waterplane mesh is set to render to custom depth pass:
        Click image for larger version

Name:	depth.png
Views:	1
Size:	51.4 KB
ID:	1130574

        That's it. The sorting issues will be gone, but your water just got twice as expensive to render.

        There are probably better ways to deal with this issue but I have no idea how. Well I guess you could switch to forward rendering, but that has other issues and limitations that don't weigh up against the pros of defered rendering. If anyone knows of some other fix for this sorting issue, feel free to correct me.
        Last edited by WixZ; 07-03-2017, 02:41 PM.

        Comment


          Originally posted by OptionalSteve View Post
          [MENTION=1127]TK-Master[/MENTION], thank you for this project, I've gotten a lot of good use out of it so far. My biggest issue and really the only one I haven't been able to solve is the ocean surface clipping through the hulls of my ships.

          I'm able to use the distance field opacity mask to mask out the approximate shape of my hulls:

          But it's an imperfect solution. When the boat rolls on the waves clipping can occur, and sometimes it's impossible to correctly shape the mask to the hull. So a few questions:

          1.) Is there a better way to generate the distance field required for the mask? Such as using the mesh distance fields that are generated for DFAO.

          2.) Is there any way to use a mesh as the source for the mask, or some solution that doesn't involve distance fields?

          3.) In the ocean material there is a non-functioning wave displacement section. If it was to function, would it solve the clipping issue?

          4.) Will the interactive water heightfield in your upcoming FFT ocean be able to solve the clipping problem?

          Also multiplying the opacity mask right at the end of the opacity pipeline seems to break the rest of the opacity settings, is there any way to fix that?

          Hey Steve, have you been able to solve your issue ? And did you see anyone TK, Dot or someone else pointed out this problem in the topic ? I did some search but only related post was yours. I see you did some workaround but what is the best way to get rid of ocean clipping through the static meshes ?

          and also i wonder how many test points are you using and what are the radius and mesh weight for this kind of small boat if results have satisfied you for a realistic buoyancy ? I mean it's ok and easy for big ships like manowar but when you tweak small boats like this its difficult to achieve same goal. it seems often behave realistic on calm water but when you test it in oceanstorm map, not only waves swallow boat easily, also it sometimes thrown away from the waves.

          Comment


            Originally posted by WixZ View Post
            The TrueSky node is actually doing exactly what it should and the problem it caused on your water is in fact fully fixed. The smaller holes you are seeing are caused by the fact that Unreal engine is a deferred renderer which has serious issues with rendering layered transparency. There is a "workaround" to "fix" this though but it comes at a cost. A cost of having to render your ocean twice, meaning you will need to place your ocean mesh inside your level at the exact same coordinates twice. One has your normal ocean shader he other will act as a depth buffer rendered at a seperate depth channel which you then have to call from your main ocean shader and use as a mask to hide the backside of each wave. This also means that he back of each wave will also be fully opaque, but there is yet another fix for that if you use custom refraction by utilizing your scene color which does allow you to create fully transparent water material with no sorting issues but if you want to know more about that just ask.

            These are the nodes you will need in your main shader: (Note I did not come up with this fix, It was provided by someone on the forums and is also included in the community ocean project)
            [ATTACH=CONFIG]147217[/ATTACH]

            Custom node:
            [ATTACH=CONFIG]147219[/ATTACH]

            Then you'll want to make a depth buffer material to apply on your second mesh. Inside this material should be your wave displacement and pretty much nothing more. Might want to tweak some settings to make it as lightweight as possible as all this material needs to do is render to a custom depth pass, nothing more. Then apply this material to your second waterplane mesh and make sure the waterplane mesh is set to render to custom depth pass:
            [ATTACH=CONFIG]147218[/ATTACH]

            That's it. The sorting issues will be gone, but your water just got twice as expensive to render.

            There are probably better ways to deal with this issue but I have no idea how. Well I guess you could switch to forward rendering, but that has other issues and limitations that don't weigh up against the pros of defered rendering. If anyone knows of some other fix for this sorting issue, feel free to correct me.
            Perfect, thank you for taking the time to help out! Really appreciate it.

            Comment


              Originally posted by Sitrec View Post
              Perfect, thank you for taking the time to help out! Really appreciate it.
              No problem.

              Comment


                hello I'am new here.
                I'am trying to remove distortion efect when underwater but didn't have any luck.
                has anyone know how to turn it off

                Comment


                  [MENTION=89876]Ez[/MENTION]ioauitore.hd, try editting "PP_Underwater"


                  My question:
                  As I complete noob to UE4, I've been able to get the ocean and skydome effects to work. Thank you everybody for your work on this project! I can't, however seem to figure out how to get the Buoyant Actor to work. How would I go about making a sphere mesh buoyant?

                  Comment


                    Originally posted by finwefeanor View Post
                    Hey Steve, have you been able to solve your issue ? And did you see anyone TK, Dot or someone else pointed out this problem in the topic ? I did some search but only related post was yours. I see you did some workaround but what is the best way to get rid of ocean clipping through the static meshes ?

                    and also i wonder how many test points are you using and what are the radius and mesh weight for this kind of small boat if results have satisfied you for a realistic buoyancy ? I mean it's ok and easy for big ships like manowar but when you tweak small boats like this its difficult to achieve same goal. it seems often behave realistic on calm water but when you test it in oceanstorm map, not only waves swallow boat easily, also it sometimes thrown away from the waves.
                    Hey there, I'm interested in finding out if anyone else here has had any luck getting small boat buoyancy settings looking good too - I've spent a few days messing with density settings and test points and am having similar problems.

                    Comment


                      I have seen a few posts that state 4.16 is not supported yet, but a few seem to mention that it is possible to use the plugin with 4.16. Can anyone provide clarification, and any steps needed to make it work properly. So far I cannot get it to work in 4.16.

                      Comment


                        [MENTION=5288]John[/MENTION]athan Light....I am interested to see how your transparency system works and any other additions you have made to your 'Physical Water Surface'. Tempted to switch over to your product, especially as the implementation is all BP.

                        Comment


                          Originally posted by jonathan light
                          Hello, I would like to announce that I am going to open a forum for the integration of transparency in water and many more new features that I have integrated, since I have improved my technique, please those who are interested say below this comment if they vote for the revelation Of my method.

                          (Physical Water Surface)
                          [MENTION=649824]jonathan light[/MENTION] - I'm interested too!!
                          Last edited by ambershee; 07-21-2017, 10:37 AM. Reason: deleted size tags

                          Catch the Thief, If you can! - Star Game Studios

                          Comment


                            [MENTION=53616]Jackseno[/MENTION] [MENTION=464666]finwefeanor[/MENTION]

                            The buoyant mesh component included in the project works way better for smaller boats (and even bigger ones IMO) than the test points buoyancy. It uses a completely different type of logic for buoyancy and is more physically accurate. Here's where it's first introduced (ignore the part about the separate OceanProject version, it's since been included in the project).

                            As far as solving the ocean clipping issue, I've been using a combination of the ocean surface mask (that you can see in one of the demo levels) and the "mesh lens" technique I described earlier. Both solutions have their problems and I'm working on a more perfect solution, I'll post here when it's finished.

                            Comment


                              [MENTION=524978]ipninichuck[/MENTION] i have made a 4.16 branch https://github.com/johnfg10/OceanProject which has it all setup and ready to go

                              Comment


                                Originally posted by johnfg12 View Post
                                [MENTION=524978]ipninichuck[/MENTION] i have made a 4.16 branch https://github.com/johnfg10/OceanProject which has it all setup and ready to go
                                Thank you so Much!!!! You have brightened my day.

                                Comment

                                Working...
                                X