Local equivalent to "World Aligned normal"?

I want to have a normal map that would be sized independently of the mesh, just like it does with “world aligned normal”, but I still want it to move with the mesh instead of staying relative to the world, so there’s no weird scrolling effect when the mesh is moving.

Anyone managed to make anything like that? I tried some things with putting different values into world aligned normal node, but none of them worked properly. The most common issue is the normal stretching weirdly when the mesh is rotated sideways.

You can keep the material in line with the mesh, by putting ‘world position’ - ‘object position’ in here

image

But this won’t cope with rotation…

Yeah, that’s why I can’t use it. Previously I also asked on Reddit and got some suggestions that didn’t account for the rotation either.

Here are some things we already tried to implement which didn’t work:


A transform vector node (between the function output and the normal input):

Object Aligned Triplanar with Correct Normal Mapping Material Function:

Correcting the normals is a total mare ( the engine node is wrong )

I just got this

https://www.unrealengine.com/marketplace/en-US/product/advanced-triplanar-material

1 Like

There are so many little plugins I’d love to get just for convenience…
I’ll give the video a watch, thanks.

1 Like

Well, it’s not a plugin, and it’s not so much convenience as sanity :rofl:

( he has also done other, more recent, vids on world aligned mats - building on this one )

1 Like