3
$\begingroup$

I'm using Blender to render furniture in a room. Each board of the furniture is its own object. When applying material for each board I have to scale UV to match the desired result. I need to scale UV of each board so the texture has the same scale on each board.

Is it possible to somehow remember the scale so I don't have to do it manually? In layman's term: I want to scale the texture not the UV.

However I would like to avoid unwrapping multiple objects at once because:

  1. it's messy
  2. when I add new object afterwards I have to repeat the process.

Thank you.

$\endgroup$
2
  • 2
    $\begingroup$ Usually, to preserve the scale over many different sized objects, you can use the Object output in the Texture Cooordinate node and specify an object which should be used. However this doesn't work with UVs... The only way I see how this could work is join all objects into one, and on unwrapping (depending on the method) check "Correct Aspect" to have all islands have the appropriate size compared to each other - but that's something you want to avoid. $\endgroup$ Nov 19, 2021 at 11:08
  • 1
    $\begingroup$ Hi :). You need uniform texel density. There are addons which can set specific density for UVs without repeated unwrapping. Practically indispensable in any archviz project :)) $\endgroup$ Nov 19, 2021 at 11:55

1 Answer 1

4
$\begingroup$

There is a builtin addon called MagicUV that gives you a World Scale UV option.

image reference

second reference

the settings are remembered between uses so you can apply it again without worrying about them

This will scale your UVs to match the correct texture density.

Unfortunately scaling the texture in material individually is complicated. The simplest implementation of this would be

  • ajust the scale of each object using Properties:Workspacce:only origins
  • multiply the object scale with the UV scale for the texture coordinate in the material

so you could quickly manually ajust the texture scaling without messing with UVs

$\endgroup$
2
  • $\begingroup$ Hi :). Would you mind adding a bit of explanation about what this does? Thanks. $\endgroup$ Nov 19, 2021 at 12:02
  • 1
    $\begingroup$ This scales your UV islands in a similar way to 'average island scale', but based on some constant value you can choose. The pivot point will use median. $\endgroup$
    – sybog64
    Nov 19, 2021 at 12:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.