1
$\begingroup$

The issue I am having is that my brick photo texture is getting squished if the opject it's being applied to is not perfectly square. As you can see in the image below, the object on the left, which is a longer rectangle has long thin bricks. The object on the right, which is more or less a cube, has bricks of the correct dimensions.

How can I make it so even if I am applying the brick texture to a tall thin rectangle, the bricks are normal dimensions?

enter image description here

$\endgroup$
1
  • $\begingroup$ Let me just make your life a bit easier by introducing you to the Sure UVW Map add-on. ^_^ Have fun. $\endgroup$
    – Mentalist
    Apr 10, 2019 at 10:23

5 Answers 5

2
$\begingroup$

You will automatically have this deformation with the Texture Coordinate Generated outlet, because it will try to fit the faces of your object. So you have several solutions:

  • Put a Vector > Mapping node between the Texture Coordinate and the Image Texture and play with the Z scale to find the correct value.
  • Use the Object outlet instead of the Generated one, it won't deform your texture. Anyway, you'll probably need a Vector > Mapping node between the Texture Coordinate and the Image Texture to scale up or down the texture.
  • Unwrap your object and open the UV/Image Editor to place the texture on your wall, but I guess it's a solution you try to avoid? It will be necessary if you want to be precise though.

enter image description here

$\endgroup$
1
$\begingroup$

if this model was imported from a CAD software (Sketchup, Rhino… ), in most cases the UVs generated from those software are not good enough for texturing process.

However, a final solution for your problem is to correctly UV unwrap your model. To do this, just follow these steps:

  1. apply the scale of the object (this is necessary to avoid distortions while projection)
  2. create a Color Grid texture map (1024 is enough)

    Create Color Grid

  3. switch to Blender Render engine, and active Textured Solid shading (just because it's easier to have a nice preview of how your texture is projected onto the surface)

    enter image description here

  4. start unwrap your model, and set the color grid as active texture in the UV/Image Editor, so you can see how the texture is projected onto the surface

    enter image description here

The main reason of following this procedure is that you can immediately see the distortions of the texture of your model. The color grid checker is used to check errors/distortions during unwrap. When you don’t see correct squared numbers, it means that you have some distortions along an axis (first image below). It’s also useful to see if several objects have the same UV scale by checking the dimension of the squares (second image below). The first image is the same of your case: the UVs of the left object are stretched along one direction (U or V), so you will see that long thiny bricks instead of regular bricks. The following images visually explain these concepts:

Stretching Scaling

My advice is to create a correct UVMap once for all objects, so you won’t care about the position/scale/orientation when you apply the textures.

Remember this: any other texture will be projected onto the surface in the same way as the color grid is projected. So, if the color grid is correctly projected, that means that every other texture will be correctly projected, with the same size, the same orientation and the same distortions (you can be as good as you can during unwrap, but a little bit of distortion is difficult to avoid, mostly for organic models). If the color grid checker has some distortions, any other texture will be projected with the same distortions.

$\endgroup$
0
$\begingroup$

I am also new to blender. try these sometimes this may help you.. try to apply scale, press ctr+A and select apply scale. try to change the texture coordinate,try object or uv texture coordinate. make sure you are uv unwrapped the object after apply the scaling. in the image texture change the box to flat(box is also fine but try the flat setting also).

$\endgroup$
0
$\begingroup$

Here's something you may want to consider doing: Using smart UV project. This will unwrap the mesh on the UV image in a fashion that realistically portrays the texture on the object in rendered mode. You should consider using this for future projects too. To do this, go to edit mode, press 'U' and select smart UV project. You can then adjust the projection settings for a good result.

$\endgroup$
0
$\begingroup$

I've come across this same issue a while ago,

My standard procedure now is: Edit mode > 3 (face select) > A (SelectAll) > Smart UV project > Object mode > Apply scale (Very important!). Then use the following node setup: Nodes

The texture coordinate set to object is all it takes to fix it, (After the UV)

(I know it's posted 2 years ago, but the answers above are really complicated for a simple fix, And it's the top search on this issue, I hope this helps for anyone stumbling on this issue!)

$\endgroup$

You must log in to answer this question.

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