How to make circular textures on low poly look not distorted when subdivided

I have a simple model with a texture of circular lines applied, but as it gets towards the edge, the lines becomes wobbly and distorted.

Notice how the top lines at least appear straight but noticeably wavy at the bottom.

The texture itself is just a bunch of circles.

However, I do want to note that this will NOT be the final texture, but something much more complex (so I can’t simply recreate this look with procedural textures).

@Okidoki helped me confirm that it’s because the geometry is low poly model that’s been subdivided.

To compare, this is how the low poly before subdivision looks:

I would love to avoid needing to subdivide the base geometry to resolve this. Anybody have any brilliant solutions? Attaching the .blend file if anybody wants to mess with it.
CirclesTextureTest.blend (1.0 MB)

What do you expect mapping a circle to an 8-sides sphere ??? If you apply the subdiv just for one level you can see this looks better.

Maybe think about this:


Just using 2 subdivs original topology unchanged… You can see top perfect bottom perfect some wobble inbetween… again maybe apply 1 subd and try this ???
Edit:
Or using a shader (and maybe bake to image if used without shader) (quick one with simple checker):

Hey, @Okidoki, I’m not entirely sure what you’re doing there with the first example, but it looks like you’re unwrapping that segment so that it’s rectangular and using a straight texture?

If so, sadly that’s not the solution I’m looking for as this is a simplified test for a workflow for something more complex (the final texture will not be just circles).

And it’s for the same reason I can’t use a procedural texture just to replicate this black and white circles look, because it’s a simplified texture standing in for something more complex later.

It looks like subdividing the base geometry might be the best solution, but that is something I wanted to avoid in case I need to manually adjust UVs. I guess what I’m searching for if there is an easy solution around this issue.

Actually, never mind, found a workaround. Thanks for looking!

That’s the funny thing if someone ask something he wonder why it does what it does… and then tells that he want something more complex… that’s also the reason for my first comment… and yes i tried another mapping. Maybe it is easier to “fake” the if the texture is not so sharp, contrastfull and straight… that’s usually the way which is choosen in games… (sometimes the pure clayrender look ugly if not textured and someone wonder how they could posssibly get there)…
Anyway your workaround might be interesting for others (>100 views)?

to produce a perfectly round circle is impossible because the sphere doesn’t have enough segments, so if you want the texture of the circle match to the mesh, you must use a texture that has the same shape as the base mesh.
or another way is to create a new sphere and give it at least 12 segments, then unwarp it, then give it a 4 subdivision level.


Naaahh… doesn’t work (see red, green octolines…, but blue texture painted lines):

The problem in principle is based on the fact, that catmull clark changes the positioning of the new and the existing vertices in its smoothing step. And a followup question is if and how an existing uv map should be adapted to this or not. Thats why distortion appears.

But to make a long story short, there are options implemented to adapt the uv handling,

Note: I just recognized that your modifier stack might look different, so the option is placed under advanced there.

2 Likes

just add uv smooth to keep to corner it fix the problem lol.

2 Likes

Omgosh, that’s it… I had a feeling there was a simple solution like that. Thanks!

My workaround was to extrude the bottom of the geometry inwards and move the original edge in the UVs until the wrapped section was hidden. It works, but @Debuk’s solution is what I was looking for. Appreciate you looking into it though!

1 Like