I am currently texturing a bunch of assets, and the way I am doing it is painfully slow. Here is my process:

Let's say I have a texture that is 123 px by 123 px.

enter image description here

In my blender world, 1 meter = 1 pixel. Unit Scale (under Units) is set to 0.50.

Now, lets say I have a square that is 246 m by 543 m. enter image description here

So I go to texture the square by adding an image to the base color, and go to the UV editor and align the vertexes to the UV bounds, it looks like this: enter image description here

A bit stretched, but that's ok, I say! Now, I have to divide the square's dimensions to the texture. So, 246 / 123 = 2.

enter image description here

Now I do the other side, so 543 / 123, and I get 4.41463414634. So I copy that number, and paste it to the other vertex side. enter image description here

Ta daa, the square is no longer stretched, and I can move the UV around as I like.

Here's the problem: I'm fine with doing that once, but when I have to do this to 300 different squares with the exact same texture, it becomes painfully slow. Is there any way to have pixels match meters? I've tried texel addons, but they didn't seem to work for some reason/I don't know how to use them. Perhaps the texel addons are the answer, I'm not sure. Any help with this would be appreciated.


1 Answer 1


It seems this node setup works: enter image description here

I set it once, then apply the scale to all the objects that use the material. Alternatively, set the bottom option of Vector Transform from Object to World to get a different effect (try rotating the object).


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .