1
$\begingroup$

I've seen multiple (similar) versions of this question all over the internet, with no solid answer.

I have two objects - both are different sizes.

I unwrap and apply the same material to each.

The material's scaling is different on both objects - nothing out of the ordinary..

enter image description here

I squint my eyes and poke my tongue out the corner of my mouth while I try to match the scale of the first object's material to the second object's perfectly.

enter image description here

But why go through all the trouble?

Why can't I just apply the material to any object I want and adjust the material's scale universally to all objects with the same material using the "Mapping" Node?

enter image description here

Sure I could use "Object" in the "Texture Coordinate" node and adjust scale in the "Mapping" node.

enter image description here

But then my material just gets smeared down the object's vertical edges.

enter image description here

Any experts have a solution?

Cheers.

$\endgroup$
  • $\begingroup$ Same principle as here even if for brick texture: blender.stackexchange.com/questions/112843/… $\endgroup$ – lemon Sep 19 at 6:53
  • 1
    $\begingroup$ In the Image Texture node, choose Box instead of Flat? $\endgroup$ – moonboots Sep 19 at 6:57
  • $\begingroup$ @moonboots Funny, I just tried that right after posting my question and it worked. As long as "Object" is being used in the "Texture Coordinate" node. I'm curious how well that'll work in other situations. $\endgroup$ – gatzkerob Sep 19 at 7:01
  • $\begingroup$ I think it has its limits, UV map is the best for precise texturing ;) $\endgroup$ – moonboots Sep 19 at 7:07
  • $\begingroup$ @moonboots It's fine for bricks - nice square patterns to match up. I've had some "fun" in the past trying to match scale of concrete and wood. Moving an entire wall across the scene to material-scale-match the other one, yay. $\endgroup$ – gatzkerob Sep 19 at 7:14
1
$\begingroup$

In the Image Texture node, choose Box instead of Flat.

$\endgroup$
  • $\begingroup$ This works as long as "Object" is being used in the "Texture Coordinate" node. But now there's a new problem - You can't change the orientation of the material, it's fixed. Rotating the UV's in "UV Editor" does nothing. $\endgroup$ – gatzkerob Sep 19 at 7:55
2
$\begingroup$

Why can't I just apply the material to any object I want and adjust the material's scale universally to all objects with the same material using the "Mapping" Node?

Because the UV maps of the objects can be anything. They can differ in size even on different parts of one object.

Unwrap UVs at the same time

In order to have uniform scale of UVs you can select multiple objects, go into edit mode(2.80 now supports editing multiple objects at once - that's new), select all and unwrap them all at once. If the scale of the objects is applied for all of them, you will get UV islands that will match in scale for all objects as much as it's possible.

$\endgroup$
  • 1
    $\begingroup$ That's actually what I've been doing. Only problem is, when you add another object and want to apply the same material, you either have to scale that object's UV's to match the others, or unwrap all objects at the same time and scale them all again. I mean you could "pin" UV vertices of previous objects, but you'd still have to scale the new object's UV's to match. $\endgroup$ – gatzkerob Sep 19 at 7:06

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.