I have a large landscape (4033x4033) onto which I now want to start placing rock assets. Over my landscape I have a couple of big macro maps - a normal map to sharpen up my mountain edges, and a diffuse map to add colour variation. These maps are cover the entire span of the landscape with no tiling, and so are using a LandscapeCoord node set to 4033. This works fine on my landscape.
With my placed assets, I’m having a lot of trouble bedding them in, as they lack the colour variation that my macro diffuse map gives to my landscape.
What I’d like to do is to planar map my landscape diffuse map over my assets and blend it in, so the brown and yellow streaks and splots which break up my landscape will appear on my placed assets in the same places as they do on the landscape.
I’ve tried to do this using a Landscape LayerCoord node (set to 4033), then blending that over my asset with a blend_overlay, but the results look really off, so I know the maps don’t match at all.
dividing the absolute world position by your landscape size and component masking only R and G to plug it into the UVs of your overlay texture should get you a matching result - unless the texture gets rotated for the landscape part in some weird way. you will probably have to adjust your other assets so they will work decently with whatever blend mode you choose to use in the end.
Thanks for that, but I’m not sure I follow you. (I’m new to Unreal).
I did a bit of testing a World Aligned texture node and managed to match the scale to my landscape, but it’s flipped in both X and Y, and offset badly in X and Y. I’ve no idea why, and the only input to move the projection is a single “world position” input into which I have no idea what to input. Do I need to give it some sort of origin position? And why is it offset and flipped?
this will project your texture down the Z axis just like the world aligned texture node does but give you more control of what’s happening inside. you could strip out quite a bit of it once you have your values and make it cheaper, but it should be a good starting point.
as to why it is offset - probably because your landscape does not start with it’s corner at 0,0,0 and the world aligned texture node start at 0,0,0.
as to why it is flipped - is it really flipped or rotated? rotated could be because of your landscape being rotated as since the world aligned texture projects in world space it doesn’t care about your mesh’s rotation. if it’s really flipped then i have no idea, sorry.
you could not use the parameters and type the values you get from the divides at the bottom directly into a constant2 and feed them into the add.
additionally you can remove the switch parameters and only feed the correct calculation into the append. won’t make it all that much cheaper, but if you won’t need to change the values at a later point there is no reason to have it more complex than necessary