Landscape Material Orientation

I’ve just recently started diving into some more complex Landscape Materials. Everything I wanted to do is working so far except one thing: The orientation of certain textures on my landscape.

No as long as you use textures that do not look different no matter what their orientation is, everything is fine. But I have this rock texture now that clearly shows a “direction” in the texture itself. The standard Landscape Blend node only offers the functionality to assign two vectors as plane for the texture projection.

Let me show you a picture of what I mean:
ed857e78e86bfc29e3d412be626d45d804081ede.jpeg

On the right side the material more or less has the orientation I want it to have, but on the left it’s just turned 90°. Now I know there is a solution for this issue but I have not found any posts on this. I have some ideas spinning around in my head, but I couldn’t get them to work.

How do I fix this?

You can use World Aligned textures for that, but they usually work better for steeper terrain than what you have. World aligned basically means its maps 3 textures, one for the top down orientation, one from the X direction and another from the Y direction. Then it fades between them near 45 degrees between the axes. What you currently have is basically just the top down or Z blend.

Since your terrain looks to be all at roughly 45 degrees it may fall at an unfortunate spot where you see all the transitions coming together. If so, you can make a custom copy of the world aligned blend function and apply some contrast or bias to the Z blend so that you see more of the X and Y directions.

If you do bias more heavily for X and Y, you may need to also modify the tiling to be a bit non-uniform, like multiply the coords by float2(1,1.5) or something. That could help to counteract the stretching that will be induced from the terrain slope.

Oi, that was fast!

Thanks for the help, I’ll try that out :slight_smile:

Yesterday I gave Texture Bombing a go




I’ll be doing performance tests over the next few day’s so I can’t really comment on how much resources it hogs; especially since my mat is already pretty beefy as it is

Edit: This function was used inside of the Kite Demo https://i.gyazo.com/aa85b723e7c83aa0d9f63c0dbc9472f5.png