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.
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.
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.
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.
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 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.
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.
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.