Problem with subsurf modifier at inset creased squares - hard surface modeling

Hi there!

maybe i do something wrong. I tried to model an inset square into a Surface that uses subsurf and edgesplit modifiers as shown in this example:



I use for hard edges creasing and sharp edges and i do not want to use proximity loops in that case. By the way, if I use not an inseted face as shown in the other extrude, it works as wished.

The blendfile can be downloaded here:
problem_subsurf.blend (482 KB)

The Problem are this round edges, that are highlighted in my sreenshot.

May anyone help?

Sebastian

Add additional creasing


You need to crease those 4 edges too
http://i.imgur.com/lkdMQR3.jpg

edit : Richard Marklew was faster :slight_smile:

Thanks a lot for this fast answers.
This solution i found also, but i have the following problem. If I try to use this with an non planar face there are showing theese ugly ‘artefacts’ as shown there:


Any other solution?

(Blend file: problem_subsurf_2.blend (483 KB))

Sebastian

Ok, here’s a solution, the goal is to remove the diagonal edges that will create the pinching with the subsurf

  • remove the crease marking (select the edges, CTRL+E -> Edge Crease and type -1 )

  • remove the sharp marking (select the edges, CTRL+E -> Clear Sharp )

  • select those 2 vertices
    http://i.imgur.com/tJqe79w.jpg

  • press W -> Merge -> At last or At first (or press ALT+M -> At last or At first, depending on which one you selected)
    http://i.imgur.com/ps04Fcj.jpg

  • do the same for the other vertices
    http://i.imgur.com/cidVwdi.jpg

You can now crease those edges, and mark them as sharp , and it should now work nice with the subsurf
http://i.imgur.com/kAIvhll.jpg

Thanks for the answers.
I am only wondering, why it is possible to crease outside edges of the square, but no inside edges. Maybe this is kind of a bug? Replacing this stange behaviour would solve the above describet problem imediately.



(Blend: file: problem_subsurf_3.blend (479 KB))

Sebastian

I connected this thread with the Blender Bug Tracker, but got the answer, that this is the actual way, blender works with the subsurf modifier. I think it is a litte bit strange, that creasing of the outer edges is posible, but not of the inner edges.
Does anyone know how to set up an feature request to change this behaviour?

I think it’s simply because the Blender subsurf code is old, and hasn’t been improved since a while, so the old problem it had are still there.

Fortunately in the last couple of years, Pixar (by the way the old Blender subsurf is using codes from one of the Pixar boss, Edwin Catmull) released open source its own vastly improved subsurf code (OpenSubDiv) , at first it was in an open source license unfortunately not compatible with the open source license Blender is using , preventing its implementation in Blender (various open sources license does not play friend together unfortunately).

But Pixar displayed a lot of goodwill toward Blender as they went to modifiy their license so it could get compatible with Blender.
Since then i remember a Blender dev mentionning some test build with the Pixar subsurf back when there was the last siggraph, but since then i have not read anything about it anymore so i can’t say if the new subsurf implementation is still worked on.

We can only hope the new subsurf will be implemented and that it will be able to work better for those topology.