Having some world constant UV scaling

I have a 3D platform model , and have duplicated it with different scaling , and i use one tileable texture material.
I would like the UV texturing to be constant independenlty of the scaling of the model : A big or or small box would have same textures appearence instead of a zoomed texture in the big scaled copy model.
So how to create a shader shader using a tileable texture that would keep some sort of world constant UV mapping independant of models sizes ?

1 Like

There is a node for Object Radius which you can multiply with a Texture Coordinate to scale textures with the object size.
Play around with the Texture Coordinate values or multiply the Object Radius to get different size results.

2 Likes

Very helpfull , thanks BMAliens.

I know this post is old, but trying to accomplish this in 4.9 … and this does not work… curious if there is an updated method.

You can use the worldalignedtexture node to get scale-independent texturing on your meshes.

Yeah, I played with that, and if you have something abstract it seems fine, but use it for a wall or some such and I can’t get it to start in the right place (aka proper z)…

That’s weird, I use it for walls all the time, and only very rarely does it give me any problems.

Sorry, I try on a texture find on market but I don’t find how to apply your solution…

I got the same problme. It is some new bug ?

Seems fine for me, I’m using 4.9.1


I am trying to do this with a marketplace asset, however, they have used one texture atlas for all (most) of the assets (Modular Dungeon, which was free at sometime ago). I am trying to make the assets truly modular in design, and ran into a problem I believe due to the texture being an atlas and the each mesh having its UV mapped to a particular section of the texture. I was hoping this would keep the UV matched to the texture area when scaling, but the rest of the texture becomes visible and messes everything up. Is it impossible to get this effect to work with an atlas texture?