How to keep texture size same when resizing the object?

Hey guys, I am trying to learn about procedural materials&textures in blender and sometimes and I want to resize my objects without changing the size of the textures.

So normally, when I scale my object up, the texture is correspondingly scales up. This is normally a desired normal behaviour. But sometimes I want to resize my object while keeping the texture size same, thus reaching a repetetition of the texture quickly.

I uploaded a video demonsrating it. When I resize the plane it Object Mode, it resizes the texture as well. But when I resize it Edit Mode, the texture is not resize, which is what I want, actually. But when I switch back to Object Mode, the texture is resized again.

Do you guy know how to achieve the result in Edit Mode but permenantly? Is there an option for that? Thanks!

1 Like

Try applying the object’s scale in object mode.

Object coordinates is the fastest way to achieve this.
Generated coordinates (by default) will match the objects dimensions. It will have its 0,0,0 point in the bottom left corner. Object coordinates will conform to the objects scale value, and will have its 0,0,0 point in the center (dot) of the object. You can also link in an empty if you want external control over the 0,0,0 point (and scale actually).

I tend to always use object coordinates, as my procedural materials often are driven by things with real world scales (i.e ceiling tiles of 0.6x0.6 meters). The downside of object coords is that the output values will become positive and negative, whereas generated coords always produce positive.

If you don’t want generated to scale with the scale value of the object, go to object data/texture space, uncheck auto texture space and reset the sizes to 1 I think. This method has the benefit that the texture will conform to shape changes done by certain modifiers. This is the preferred method I guess, I just use the object coord way because it involves less clicks and I don’t need to deform my objects for what I do.

Both elongated cubes have their scales applied and a SimpleDeform/Twist modifier of 180 degrees on the z axis. Checker scales are different. Left one uses object coords which does not conform to deformation, right one uses generated coords which does conform to deformation.


Guys thank you very much for your answers!

@CarlG thank a lot for the detailed answer! It works as you described.

Another option is to use the world coordinates, this allows to keep textures consistent between objects, howether it will look weirn on objects that are animated. It can acheived by using Position output from Geometry node