How to make noise use local object space


I am trying to create simple camouflage texture using noise. The issue is that when I move the object around, the texture sticks to the world space, and doesn’t move with the object. I need to know which node to plug into position input so that the texture sticks to the object.

Now, some important things to get out of the way:
1, Mapping noise to UV coordinates is not an option, I need the camo to have no seams, but UV map has lots of them.
2, I already tried bounding box UVW, but it doesn’t work, as the bounding box is not a cube, and it stretches the noise.

In an offline renderer, this is something extremely trivial. Every procedural texture has a simple toggle to choose if it’s world space or object space.

Thanks in advance.

You mean a texture that isn’t fit to the UV space?

I think you might need the Pre-Skinned Local Normal Material Node in 4.15:

I think you might need the Pre-Skinned Local Normal Material Node in 4.15:[/QUOTE]

No, I don’t need that, my mesh doesn’t deform. What I need is my noise 3D texture to use object’s local space, not world space, so when I translate it in space, the noise texture sticks to the object’s pivot, not individual faces, but the root transformation of the noise should be objects pivot. Basically if I rotate my object 90 degrees, I want the noise 3D space to rotate with it.

Subtract ObjectPosition from AbsoluteWorldPosition. Feed the result into a TransformVector node with Source:World and Destination:Local. Use that in your noise node.

This is the correct answer. Had to do something similar with procedural planets a long time ago.