Hello i have some questions regarding UE4's landscape blending shaders.
Is it possible to height blend more than 3 materials? From the research i have done and the errors i get myself it does not seem to be possible. One year ago another user asked for help about this but apparently no one knew if there was a solution:
https://answers.unrealengine.com/questions/143369/landscape-painting-errors.html
And does tessellation work with more than 3 height-blended materials? There is a package for sale on UE4's marketplace called "Adv.Disp.Landscape Materials" with a landscape shader blending between 3 textures based on height-map. It looks to me like no one have been able to blend more than that with tessellation. Here is a link to my unanswered question regarding landscape tessellation blending:
https://answers.unrealengine.com/questions/193988/height-blended-tesselation-tearing.html
Landscape-height blend error: The error that most users get (and myself) is that when painting the fourth material in an area the whole area gets the "standard grid material" color. Having the first material as an alpha blend does not work.
Landscape tessellation height-blend error: Where two textures meet the geometry breaks which result in holes in the landscape.
Here is a link to this post on UEanswerhub:
https://answers.unrealengine.com/questions/195802/ue4-landscape-height-blend.html
Replies
https://answers.unrealengine.com/questions/195802/ue4-landscape-height-blend.html
Summary if anyone else run into problems trying to get landscape height-blend with tessellation to work:
Some of the fixes i applied that made it work :
- Enable tessellation, add Flat Tessellation, check "Crack Free Displacement"
- Change every texture sample source to "Shared:Wrap"
- Use VertexNormalWS for the world displacement maps - Don't put in any value in "Tessellation Multiplier"
- Name the first layer in the "Landscape Layer Blend" "LayerDontUse" and make it "LB Alpha Blend". Later on give it a non-weight-blend landscape layer info and don't use it.
- Have one of the layered materials set to "LB Weight Blend" and not "Height-blend". I did that for my grass material and used it to "smooth" between the painted height layers.
I consider the question solved and i'm happy that this was possible in UE4. Later on I will make a thread on polycount and post my progress on the scene and do some breakdown on materials, shaders etc.
So I would love to see some breakdowns regarding what you did.