0
$\begingroup$

I have been getting started with materials and wanted to create a lo-fi scene with a dark marble material. I followed a tutorial to create the marble material, which works great. I then modified it using another tutorial to make it look more pixelated and retro. Here's the node graph:

enter image description here

And the preview looks like exactly what I want:

enter image description here

However, when I apply it to faces in my scene only some of them render the material correctly. Others distort the material into strange angles:

enter image description here

The faces marked with a green dot are rendered correctly, those marked with a red dot are inexplicably distorted. It works just fine if I use the more realistic material by disconnecting the snap node from the bottom voronoi node. This happens in both Eevee and Cycles, in previews and final renders. What gives?

$\endgroup$
3
  • 2
    $\begingroup$ Hello :). You're using Generated coordinates. Those cause stretching on anything else than 1:1:1 cube :) $\endgroup$ Apr 14, 2021 at 18:10
  • $\begingroup$ @JachymMichal Ah, is that so? Is there a better way to pixelate a material, then? $\endgroup$ Apr 14, 2021 at 18:21
  • 1
    $\begingroup$ Your material is fine :) Just use UV coordinates for the other Voronoi and Noise textures too. That way you'll have the best control and can avoid stretching. $\endgroup$ Apr 14, 2021 at 18:38

1 Answer 1

1
$\begingroup$

You’re using UV coordinates to sample your Voronoi texture. This is fine, but the default UV map will not automatically compensate for stretching/scaling of the model. To illustrate, I took a cube and shrunk it along one axis:

Note how in the UV map, all six faces are still squares of equal area, even though they aren’t on the model.

Fortunately, all you need to do to fix this is to re-unwrap the mesh. If you don’t care about continuity between the faces at all, you can do the simplest thing of marking all edges as seams by selecting the whole mesh with A, then CtrlEMark Seam. Then you can do UUnwrap, which will automatically compensate for face size:

As you can see, this fixes the texture stretching.

$\endgroup$
1
  • $\begingroup$ Thank you, this is exactly what I needed. $\endgroup$ Apr 15, 2021 at 1:47

You must log in to answer this question.

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