Announcement

Collapse
No announcement yet.

Blend 2 displacing textures for landscape?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Blend 2 displacing textures for landscape?

    Hi there. I have 2 textures I've got set up in one Material, for my overworld landscape.My goal is to have Texture A only displace where texture A is painted, and so on for each texture. I've successfully combined all of their other maps, though displacement is giving me issues. I am very inexperienced with the Material Editor so I can't wrap my head around enabling tesselation/displacement for both textures and restricting those specifically to their own textured areas...

    Essentially, I can either have 1 of the textures' displacement maps affecting the entire landscape, or the other. Never both, and not neatly within their intended boundaries.

    The success I've had thus far is thanks to this video https://youtu.be/W1MRDXUWID4?t=644 and my blueprint looks exactly like the one there, so how would I go about combining two of these but have them affect separate parts of the landscape?

    https://imgur.com/a/27Slidy Here's an album of my blueprint (I know it isn't connected, that's because I don't like looking at the ugly issue.)
    https://youtu.be/THjfTsZzPNE Here's a video displaying my problem.

    I'm getting desperate so if I can share my material/textures to someone who wants to help, I will.

    Thanks, and pictures help a lot!

    #2
    Bump since i posted at midnight.

    Comment


      #3
      I'll share a screenshot of my setup. The gist is you need to use the layers and filter in the tessellation layers like the rest, treating everything as if it had tessellation. The amount of displacement is then provided by the texture in use for the tessellation. If it's a fully black texture it won't displace.

      Comment


        #4
        Originally posted by MostHost LA View Post
        I'll share a screenshot of my setup. The gist is you need to use the layers and filter in the tessellation layers like the rest, treating everything as if it had tessellation. The amount of displacement is then provided by the texture in use for the tessellation. If it's a fully black texture it won't displace.
        I await your screenshot in great anticipation. If you wanted to add me on Discord or something so we could figure this out quicker/easier I'm Cody38#4553 on there.

        Comment


          #5
          Your scrap normal is the same shape as that spot on landscape you were highlighting,,anyway don't want to butt in, won't', just asking...sounds like its your intent, but isn't walkable clearly- no idea what game premise is. In mean time , if desired,I'm at https://discord.gg/aVydNK, but then I realize you may be speaking elsewhere, so just backup ;0- Im no doubt going to need something similar so I'm curious what's going on also.
          Last edited by neighborlee; 09-20-2019, 04:20 PM.
          Solo but Seismic - feel free to apply
          https://neighborlee1.wixsite.com/theheartseed

          Comment


            #6
            Tessellation multiplier should always be the same imho. Mostly because it easily adds overhead and slows rendering. Also there is no real way to get the value to change per brush/layer as far as I have noted.

            That said, here's a screenshot
            Click image for larger version

Name:	image_173415.png
Views:	8
Size:	261.7 KB
ID:	1667189

            The 0 + wet sand is just the emissive channel, you can ignore it.
            I'm passing the tessellation into the Normals as the height blend. not sure it's crucial, but it takes a good 2 min to recompile my **** shader, so I'm not messing with it.

            And prototyping with solid colors is a good idea, but you often run into issues (like running out of samples for texturing later on).
            Last edited by MostHost LA; 09-20-2019, 07:25 PM.

            Comment


              #7
              Originally posted by MostHost LA View Post
              Tessellation multiplier should always be the same imho. Mostly because it easily adds overhead and slows rendering. Also there is no real way to get the value to change per brush/layer as far as I have noted.

              That said, here's a screenshot
              Click image for larger version  Name:	image_173415.png Views:	1 Size:	261.7 KB ID:	1667189

              The 0 + wet sand is just the emissive channel, you can ignore it.
              I'm passing the tessellation into the Normals as the height blend. not sure it's crucial, but it takes a good 2 min to recompile my **** shader, so I'm not messing with it.

              And prototyping with solid colors is a good idea, but you often run into issues (like running out of samples for texturing later on).
              I know it's tedious but could you show me the entire material, I'd like to copy your homework. Also, would you be willing to add me on steam/discord somewhere to help me work through this?
              Last edited by Cody38R; 09-20-2019, 08:10 PM.

              Comment


                #8
                I was able to glean enough information from MostHost LA;s post to start messing with stuff. I figured it out, and even solved a problem he was having which was different displacement levels depending on the layer.
                It's as simple as that.
                Click image for larger version

Name:	Capture.JPG
Views:	9
Size:	161.3 KB
ID:	1667222
                I came across the issue of "crack free displacement" actually causing cracks and removing all displacement, so that stumped me for a while, but once I got that sorted, it was really actually quite simple.

                Comment


                  #9
                  As far as the entire material, I use functions, so you wouldn't really see much else other then the functions and the pins going off to the layers.

                  as far as the controls you have for the tessellation multiplier be careful that does absolutely not look correct.

                  The multiplier splits the tris on the mesh into more tris, so while 1x1 = 1 1x2 = 2 - and a mesh with 500 vertex points x2 = 1000 vertex. so a tess multiplier that ranges above a value of 4 can seriously cripple performance.
                  The multiplier does not change the height of the tessellation, just how much detail you have.

                  Your math is clamped in a range 0 to 1 at the end but then offset by 2 default values.
                  This is Ok, but the landscape already takes care of doing all of that for you with LODs so I'm not sure you benefit from fading out amount of vertices at a distance. It's not that it's bad, it's that you would need to bench mark it to see if making the material have more variable instructions gives you any benefit at all vs the amount of tris removed from the screen with the chosen settings. To really know if there is any difference you would have to do this on a finalized scene with the max number of tris and lights etc. already set. not exactly easy.

                  re the cracks.
                  Crack Free displacement is good but doesn't necessarily work at the edges of the landscape. Some times removing the Adaptive or using PN Triangles + crack free works best. It really depends on the tessellation map (and if it's fixed or has motion).

                  Last but not least, the reason I have 2 multipliers is that 1 is for the normal, and the other one is to to further add to just tessellation should I need to.
                  So if you don't feed the first multiply to a normal there is not reason to re-multiply again. You can save your self a couple of instructions by removing the bump.

                  Comment


                    #10
                    Originally posted by MostHost LA View Post
                    As far as the entire material, I use functions, so you wouldn't really see much else other then the functions and the pins going off to the layers.

                    as far as the controls you have for the tessellation multiplier be careful that does absolutely not look correct.

                    The multiplier splits the tris on the mesh into more tris, so while 1x1 = 1 1x2 = 2 - and a mesh with 500 vertex points x2 = 1000 vertex. so a tess multiplier that ranges above a value of 4 can seriously cripple performance.
                    The multiplier does not change the height of the tessellation, just how much detail you have.

                    Your math is clamped in a range 0 to 1 at the end but then offset by 2 default values.
                    This is Ok, but the landscape already takes care of doing all of that for you with LODs so I'm not sure you benefit from fading out amount of vertices at a distance. It's not that it's bad, it's that you would need to bench mark it to see if making the material have more variable instructions gives you any benefit at all vs the amount of tris removed from the screen with the chosen settings. To really know if there is any difference you would have to do this on a finalized scene with the max number of tris and lights etc. already set. not exactly easy.

                    re the cracks.
                    Crack Free displacement is good but doesn't necessarily work at the edges of the landscape. Some times removing the Adaptive or using PN Triangles + crack free works best. It really depends on the tessellation map (and if it's fixed or has motion).

                    Last but not least, the reason I have 2 multipliers is that 1 is for the normal, and the other one is to to further add to just tessellation should I need to.
                    So if you don't feed the first multiply to a normal there is not reason to re-multiply again. You can save your self a couple of instructions by removing the bump.
                    Thank you for the information! I appreciate the fact you let me know enough so I could mess with it more and figure it out.

                    Comment

                    Working...
                    X