Subdivision

Afternoon all,

I have been watching this video on Vimeo about the essentials of hard surface modelling. I also happened to notice that when TurboSmooth is applied it smooths out the surfaces like it should but keeps all the edges out the outside all nice and straight/hard.

When you do this in Blender it turns into a squishy lump of vertices, why is this? Different subdivison engine?

(EDIT): He has not added any additional edge loops to get sharp edges. Skip to the 4 minute 40 second area.

The video is here

Vimeo wont skip ahead - can you post screenshots.

Seems indeed like a different subdivision algorithm.

To have the outer edges sharp after adding a subsurf modifier, select these outer edges (better to do this in edge select mode), and do a full crease (Shift+E)

Yep - the above works a treat. Unfortunately - the subdivision still subdivides the mesh in both dimensions - so you’ll also have to delete the additional edge loops that are created.

Or simply don’t apply the subsurf modifier. Nothing needs to be deleted then

Wouldnt that render this thread redundant?

I guess you didn’t see his link.

The video showed a 3d application, where the modeler was using a function similar to blender’s subsurf modifier (also non-destructive), BUT the outer edges stayed in position. In blender to get the same result you need to create a crease on those outer edges

That works :smiley: although it will probably become a pain! 3ds Max uses the Catmull-Clark subdivision algorithm I believe.

I did see the link - and I even commented that your suggestion of creasing the outer edges “works a treat”. However on the type of geometry in the video - the subdivision only needs to work in one direction.

Unfortunately - Blender’s subdivision modifier only seems to be able to work in both directions, which means that you end up with a lot of additional geometry that you don’t need (i.e. additional unnecessary edge loops inside the mesh running parallel to the creased edges), and which should be cleaned up. (see images below)

Of course that may be true in subdivision method used in the video too - its not clear because the underlying mesh isn’t displayed.

192 polygons (after subsurf modifier applied)

24 polygons (after cleanup of unnecessary edge loops)

By default the subsurf modifier also uses Catmull-Clark. You can change this to Simple, but this will sharpen everything.

What exactly is it about what I posted that you have an issue with. I was simply providing additional information for the OP.
The only reason why there would be “additional edge loops inside the mesh running parallel to the creased edges… and which should be cleaned up” is when the subsurf modifier is applied. And in most situations this is not advisable

What should they do instead? The OP seemed to be asking how to get the subdivision modifier to work in the same way as the video - both your initial reply and mine were in that context.

If the OP uses crease edges in combination with the subdivision modifier - they will probably end up with more geometry than they need - that’s all I was saying.

Well, for what I do I’m always using subsurf and always need hard edges. For me it’s been the biggest headache of using blender and I still haven’t a satisfactory solution that doesn’t involve creating at least 8 extra loops (at which point you lose all the flexibilty in designing).

Turbosmooth does as well. In the video you can see he enables Isoline Display so it just displays the lines of the original mesh, the same visual effect as the Optimal Display option in the subsurf modifier

That is what I was getting at. It would be useful to be able to subdivide a mesh in one dimension only (a bit like how the smooth function works) - but I guess at the moment that’s not possible.

I did have an idea - but it doesn’t seem to work. I thought if you subdivide the mesh manually by adding the loops by hand, and then apply the smooth modifier - that may achieve a similar result. Unfortunately the crease edges function doesn’t seem to have any effect on the smooth modifier (at least I haven’t been able to get it to work like I could for subdivision).

edit: actually it does work (kinda) you just have to forget edge creasing and restrict the axes over which the smooth modifier operates. Although to be honest - the subdivision/crease then delete loops option is quicker.

There is no “one-directional” subdivision going on in the video, as far as I can see.



In most cases models are far more complicated than a simple grid without any poles, I can’t really imagine how a selective subsurf modifier would work.
Maybe… a Modifier based on vgroups COULD work. “insert edgeloops that cross the edges designated by this vertex selection”. But for all possible topology situations? Eep.

Axis-limited smoothing can be achieved by using a Subsurf modifier set to Simple (or a bunch of creased edges), and then using a Smooth modifier with axis (and Vgroup) limitations. Not really what’s asked about here, but it adds a lot of possibilities other than the purely subsurf-based tricks.

Oh… and deleting multiple edgeloops is a very neat addition with bmesh, but deleting neighboring loops has only given me bad results, not always immediately noticeable.

If you crease the edges you need and then apply an EdgeSplit modifier your edges will be nicely sharp.

Thanks everyone, I shall put it into practice. :cool:

OK I thought I’d open this back up to show you all something interesting. A while back I got Hexagon 2.5 for free while they were giving it away and thought I’d play about with it to see if the subdivision is the same as 3ds Max. Well… the results speak for themselves.

The object on the right is what Hexagon 2.5 does when it subdivides and the object on the left is what Blender does when it subdivides. Hexagon keeps the plane square around all of the edges but Blender for some reason rounds off the edges.

Attachments


No, blender can do both types. Its all in the type of subdivide used. the one on the left is called Catmul Clark, and is the default. The other is your ‘basic’ subdivide.

So, what is the difference between the two? well, Catmul clark displaces the subsurface points to ‘smooth the curve’ so to speak while basic subdivide doesnt

If Hexagon is using ‘basic’ subdivision then why does Blender not perform the same function as show below… The crap subdivision method that Blender does is the bottom picture, Hexagon is the top.

Attachments