Download

How to better organize my landscape materials?

I have one material with several different entire textures in it and it just looks messy. https://i.imgur.com/dQx1w50.jpg This is what I’m using for my landscape, which consists of several levels and therefore different ground/slope textures. I have to have 5 samples for each different texture, and this is just what I have with 2 areas in (with 10 more to go)

Is there some way I can condense all the color maps into one node, or call other materials into a “parent” material that just mixes each of them? Implementing new textures is a bother because I have to reorganize and move everything around. I’m pretty clueless about organizing stuff!

Don’t focus so much on how the material looks. Go and run some stat testing instead.

Also, if you could upload the screenshots to the forum, they would be a little more legible.
I cannot tell if you are running a height blend resulting in 2 layers, or not, resulting in 4.

Assuming you have more layers to add, you are going to experience performance degradation and shader complexity in the red in about 3 layers.

when you say 5 samples, are you sampling the same texture or actually using a new one? It matters little, but you could save space on the material by creating a material function that takes in the original texture and outputs the 5 different samples.

Normally, when working landscapes you create material functions for each component type. Grass, sand, gravel, rock, etc.
You then just use the material functions and have all the outputs you need in one block.

The material functions can have varying complexity. Usually they also handle the sampling with a camera distance based algorhytm of some sort.

using the same scalar parameter name across multiple material functions and creating a material with the functions will result in only 1 parameter being exposed to the material instance that is able to control all the different scalars with same names across all functions.
thus, you commonly sample the materials at least 3 times and have the output for the albedo, roughness, specular, metallic, normal etc. Depending on what your needs are.

beware that it may also add some compile time to use functions, so it’s a 2 edge sword.
performance wise it doesn’t matter. You growing old while shaders compile, it does.

I generally make material functions for landscapes. Material functions can be blended using the landscape layer weight blend node too which means that you don’t have to do it separately for each texture of every layer.