0
$\begingroup$

I am trying to apply a principled bsdf material to an object. When I made the object in 1m x 1m, the material looks great. After stretching the object and apply its scale to 10m x 1m, the material becomes stretched.

1m x 1m:

[1m x 1m:1

10m x 1m:

10m x 1m

Node setup:

Node setup:

Notes:

  • Scale has been applied
  • There are no image texture
$\endgroup$
4
  • 3
    $\begingroup$ Use "texture coordinates" node with object or generated as input for the noise texture. Probably you've a UV map that is use by default here. $\endgroup$
    – lemon
    Commented Sep 29, 2020 at 9:22
  • 3
    $\begingroup$ @JachymMichal, yes you are right, of course. Object coordinates... $\endgroup$
    – lemon
    Commented Sep 29, 2020 at 10:22
  • 1
    $\begingroup$ @JachymMichal, it's not a bug, it's a feature ;) According to the doc : "Range from 0.0 to 1.0 over the bounding box of the undeformed mesh" $\endgroup$
    – thibsert
    Commented Sep 29, 2020 at 11:46
  • $\begingroup$ @thibsert Oh thanks, guess I never got to reading that part carefully :). $\endgroup$ Commented Sep 29, 2020 at 11:54

1 Answer 1

1
$\begingroup$

If not supplied a Texture Coordinate node, Blender's procedural textures default to using Generated coordinates. These put X,Y,Z = 0 at the minimum XYZ of an object's bounding box, and X,Y,Z = 1 at the maximums. So if the object's dimensions are not equal (scaled or not), the texture will be stretched.

You can transform the Generated texture space in the object's Data tab > Texture Space panel, but it's more common to add a Texture Coordinate node, and explicitly put the texture into the Object's own space, which is measured from 0 at the object's origin, in Blender units along the object's local axes, before any object-level transformation.

If the texture is in the Object space, then it will rotate, translate, and scale with the object. (Then, if you scale in Object mode, the texture will stretch. If you scale the object's mesh, in Edit mode, or bake the object's scale transform into its mesh by Applying the scale, it will not.)

$\endgroup$

You must log in to answer this question.

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