UV's producing crooked textures

Hello again. I’m having trouble with UV’s and textures not matching.

The object is a cylindrical tube, more or less, with rings scaled in to create several domes. I’ve unwrapped it in a rectangular pattern for easy painting and tiling. Each wedge-shaped quad is mapped as a rectangular UV. As is evident in the image below, elements which should be straight (or more precisely, should be wedged toward the center) are crooked.

This has to be some sort of glitch. I can’t fathom what could have caused it. I used the texture atlasing plugin, setup my UV’s at 256 resolution for easy scaling, and applied a 4096 resolution texture (the effect is independent of texture resolution).

Strangely, the effect lessens with subdivision. After about 2 levels of subdivision, the problem is gone. I’ve observed that the closer part of the texture is to an edge, the less distortion is present. Unfortunately, this object is a game asset and subdivision is not a solution.

The effect is also visible when rendered, so it is not a viewport problem.

I suspect it has something to do with the interpolation of the texture across the large, wedged quads. But I don’t know why the texture would not simply match that wedged shape.

Is this just a general hazard of working with low-poly meshes?

Any help would be greatly appreciated!

It’s just a pitfall of low poly texturing. When a quad is rendered, it is rendered as two triangles. When the quad is scaled on one side, the triangle on the stretched side does more stretching than the opposite side.

When you subdivide, the distortion is still there, just cut up smaller and spread around.

EDIT: I misspoke. It is more precisely, a problem related to stretched quad mapped to a square. If the UV is the same shape as the polygon it won’t stretch.

Thanks so much for the information.

That’s what I feared. So would your recommendation be to make the UVs more closely resemble the shape of the geometry?

My problem is that this object will be rendered by a game engine. I need compact, efficient set of UVs.

If you could layout that portion of textures and UVs in a circular/radial pattern rather than rectangular it would solve the problem. That’s the proper fix. You could add more circular loop cuts in that area. That would lessen the distortion, but wouldn’t really fix it.