How do I blend landscape textures based on world height / heightmap values?
I'm currently working on texturing a map that is about 400,000 x 200,000 km in size, as such, it would make sense to build a dynamic texturing system that blends textures based on pre-defined heights and angles (snow textures applied at certain elevations, etc.) I've been trying many different methods and none of them seem to work. I already know how to align textures to angles (rocks on cliffs, grass/dirt on flat land), I plan on merging that with this.
I know there is a way to do this, but UE4 does not seem to have a node for it anymore...
Also, this same question was asked by somebody else here- https://answers.unrealengine.com/questions/30686/landscape-layer-by-height.html but nobody has answered yet. This is one of the few remaining things I need working for me to really get started on my project, thank you for your time...
Finally after enough poking around and mental hardship, I've come to a solution for blending textures based on elevation.
The "divide" node controls where the blending starts along Z (also -Z, this will duplicate results on both positive and negative values, so make sure you've the lowest part of your terrain above 0 if you want to use this for oceans and lakes) For me, I had to set it to divide by 140 to get reasonable results.
Note: my example is not entirely finished, as this elevation blend will later be combined with an angle blend, to more realistically show how snow sits on a mountain. Still wont be perfect, but may be believable.
answered May 06 '14 at 09:50 PM
The way to remove the negative values is to clamp the negative values to zero before powering. Just change the Clamp Mode to min value. That should remove the negative values before you power without blocking your positive values.
answered Sep 14 '16 at 10:45 PM
Follow this question
Once you sign in you will be able to subscribe for any updates here