I'm trying to make a procedural planet shader, and a major problem I'm having is distortion on spheres. If I use the UV texture coordinates, they always get compressed at the poles and stretched on the equator.

Texture is compressed on the poles, and stretched on the equator

I've tried messing with the UVs, but I always end up with some really obvious seams. I'm also not using a normal image texture setup, so I can't use the spherical texture option. I've also tried using a separate vector node and using the Z axis to change the scale of the texture, but I still can't get it right. Is there a way to UV map a sphere with little to no distortion? Or does anyone know of a node setup that could correct the scaling issue?

  • $\begingroup$ Could you describe what kind of shapes you're starting with? $\endgroup$
    – lemon
    Mar 25 at 7:12
  • $\begingroup$ I'm using an image texture of a crater, and randomizing their locations across the mesh. Since the position is randomized, I can't use the spherical projection option. $\endgroup$ Mar 25 at 7:46
  • 1
    $\begingroup$ You could cut the UV sphere UVs in half, horizontally or you could use a Quad sphere blender.stackexchange.com/questions/253219/… $\endgroup$
    – Emir
    Mar 25 at 11:16


You must log in to answer this question.

Browse other questions tagged .