Smoothing out added loops

Hi!

I’ve got a small problem that i’m trying to figure out. Basically i’ve got a model that i’m adding a subsurf. modifier to. I need to add some extra loops around a certain area to keep the form of that part. But this deforms other parts of the model and i need to smooth them out slightly to keep the circular shape of the model. Problem is that i can’t figure out how to do it properly without doing it manually and spending to much time on that part.

This is how i want the part of the model to look. Round without any defects.


Slight deformation of the model after i to a couple of loopcuts


Tried doing a subdivide smooth operation but that deforms the model in a slightly different way.


Is there a way to smooth the loopcuts so that the subsurf doesn’t deform the model in said areas?

Not really, no. With subsurf, finer detail always requires more overall geometry: you can’t have drastic differences in resolution between adjacent areas, because subsurf will distort them. Even if you insert perfect spherical cuts in there, it’ll still be obvious (notice warped reflections on the middle object in the screenshot below).

Your best bet is to increase overall resolution of your mesh. Since you need 3 more cuts, you can apply two levels of subsurf, then go in and remove any loops that aren’t needed (loops on flat areas, every other loop on sphere rings).


Attachments

subsurf_detail.blend (718 KB)

Some really great advice there from Stan, on all aspects of subdivision surface modelling.

Great advice, btw how did you get the holes to align with the shape of the mesh? (just looking for more efficient methods for making holes in a curved mesh)

Holes were made like in Idono’s first screenshot: inset a face -> extrude. Subsurf did the rest. If you need to make a new hole covering multiple faces you could shrinkwrap a circle (or a circular face loop) onto the surface, then join it and connect. Or even punch it with a boolean (or Intersect tool in edit mode) and clean up, just need a cylinder with suitable amount of sides, so that it could be connected nicely.

Thx. I figured that i would need to subdivide the entire model instead.

I’ve run into this problem as well.

I don’t like doing this too often, but a comparison to another FOSS modeling app. Wings3D has a tool called “circularize” that works well to expand and round partial edge loops in additon to working much like Blender loop tool’s “circle” with full loops. However there doesn’t seem to be an equivalent to this in Blender nor it’s loop tools add-on. (It probably wouldn’t hurt for a dev to do some R&D if they can figure out how to translate algorithms from open source Erlang into functionally eqivallent open source Python, as there’s some good stuff there. I know this much from user end, but my code-fu is way too weak to attempt this myself.)

In Blender you have to manually set a center with the 3D cursor and manipulation center mode to 3D cursor, slide the edges all the way even to one edge or another (remember to have auto-merge turned off first), then use the rotate command to eyeball and bring the edge as close as possible back to it’s original alignment. And if your things needing this aren’t aligned on the global axes, you’re also going to define a custom transform to constrain the angle of the rotation. It’s doable, but workflow is far from ideal. (Circulize is just selecting edges, and things happen similar to bevel, and it’s good. Much easier for the result in my opinion.)

What all that does is it pushes the vertices out to the desired radius from the center. Smoothing interprets things by vertices, so if you add an edge without rounding it out to a radius somehow in one way or another, the smooth operation is going to put a crease there.