5
$\begingroup$

Adding a loop cut to an object with a circular profile renders the object non-circular. This is true for any object with a circular frame e.g. plain circles, UV-spheres, cylinders, cones, etc.

Adding a loop cut to the cirlce makes it non-circular

Top-left is the mesh of a plain circle with Subsurf modifier applied (bottom-left). Notice how adding one additional vertex (top-right) makes the circle skewed (bottom-right).

Is there a tool/transform/way to correct the circle?

Knowing the solution to this should help solve the problem for all the aforementioned objects. I tried selecting all points and applied the To Sphere transform in vain. It didn't help.

I thought putting the vertex r radius away from the circle's centre like the rest of the vertices will help, looks like it doesn't.

$\endgroup$
2
  • 1
    $\begingroup$ if you subdivide and put the Smoothness at 1 in the Operator box it will keep the roundness, but of course if your object has a Subdivision Surface it will flat the curve as it will add virtual vertices in the middle of the new segments $\endgroup$
    – moonboots
    Commented Jan 15, 2021 at 7:14
  • $\begingroup$ Thanks for the comment! Setting Smoothness to 1 did move the new vertex r radius away, but you're right! That isn't solving the problem since subsurf does flatten the curve and the skew doesn't vanish. $\endgroup$
    – legends2k
    Commented Jan 15, 2021 at 7:18

1 Answer 1

9
$\begingroup$

Since the verts are non-uniformly spaced, the result will always be deformed.
That's just how the Catmull-Clark subdivision works.

You can use Cast Modifier to correct the circular profile.
It can also be limited to a vertex group.

  1. Add Cast Modifier > Sphere
  2. Set Factor = 1
  3. Done

enter image description here

$\endgroup$
3
  • $\begingroup$ Of course, this works but there seems to be no way to do it before the Subsurf modifier, which is usually the last in the modifier stack; so not always feasible but nevertheless a solution. Also this situation occurs only in a part of a complex mesh; I guess you could use vertex groups for that. $\endgroup$
    – legends2k
    Commented Jan 18, 2021 at 13:20
  • $\begingroup$ Also an explanation -- on why this happens and why it can't be fixed cleanly -- would be good. I remember you giving an explanation about non-uniformly spaced vertices and the subsurf mod before the current edit. $\endgroup$
    – legends2k
    Commented Jan 18, 2021 at 13:23
  • 1
    $\begingroup$ Hello :). I added back the explanation. To learn more, read the Catmull-Clark wiki page. The Cast modifier has to be after the Subdivision mod, to 'deform' it back into a perfect circle. $\endgroup$ Commented Jan 18, 2021 at 13:39

You must log in to answer this question.

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