← All ideas
  • Published 23 Mar 2020

Subdivision modifier Apply works awkward

Hi guys! I have a problem. I made a bug report, but now I think maybe this is not a bug but a feature:

when I apply the subdivision deformer, I expect that the deformed geometry will look the same as before. If I apply one level of subdivision deformer, then add subdivision deformer for another one level, geometry doesn't look like if I add just deformer with two levels of subdivisions.

This is awkward because one of the common pipelines looks like: make a base shape > subdivide > add mid-level detail >subdivide > add high-level detail. But before subdivision and after I get two different shapes.

Do you think this behavior should be fixed, or is there a workaround?

apply.jpg

100%

Development Status: Open

Upvote 8 Downvote 0
verderblich
23 Mar 2020

14 Comments

Just tried this in 2.79 and the result seems consistent, while 2.8x has the problem you described here. Devtalk forums would be a better place to discuss this. image

image

Side view comparision between 2.79 and 2.8x image

2
Josephbburg

Show us your modifier stack. There's not much point in discussing this if we can't see your workflow.

1

* @Josephbburg * Add a subdivision surface to an object with 2 levels, duplicate the object reduce a level, apply it and add another subdivision surface with 1 level, the result between the mesh is different which isnt the expected behavior. the quality parameter doesn't affect it btw imgur.com/8maz86G.mp4

Doing the same in 2.79 with the same object (copy pasted from 2.8) gives the expected results . imgur.com/XjquRwx.mp4

Josephbburg

* @rc12 * Thanks, I didn't understand that from the post! I don't think this is a bug. Blender used to have its own Catmull-Clark algorithm that apparently worked iteratively. Now it uses OpenSubdiv, which snaps the mesh to the limit surface no matter what level the subdivision is set at. So changing the shape of the mesh will change the limit surface -- it won't work iteratively. This is expected behaviour.

verderblich Author

{attachment apply2JPG}

1
bruno.chartier

* @verderblich * It looks like you want the behavior of splines or nurbs for the subdivision modifier? For fixed mesh geometry, the interpolation of the subdivision is parametrized by the original topology of the mesh, adding edgeloops where necessary as well as by the "crease" value of edges. Since most modeling tools are based on polygons, it is straitforward to use subdivision to add details. Imagine having to do all your modeling using nurbs instead? Good info here: graphics.pixar.com/opensubdiv/docs/intro.html

verderblich Author

* @Bruno * Not at all

verderblich Author

* @Bruno * On the screenshot same example but in Maya. Softimage does the same. It's all polygonal meshes.

max.puliero

yep, this is a major issue, the new subdiv modifier uses open subdiv from pixar, but it looks like they confused subdivision with tassellation, lol. So now we have a non-ideal behavior. If you don't mind, help me out to push this issue on the devtalk forum here:

devtalk.blender.org/t/subdivision-behaviour-is-different-than-in-any-other-software-causing-compatibility-issues/13032/33

Sounds to me that you are doing manually what the multiresolution modifier does automatically?

verderblich Author

* @Ivo * For production I need to export my models. Maya doesn't have the multiresolution modifier. In blender multiresolution is currently broken. So what is your point?

1
vasiln

I'm not sure what's ideal behavior. I can see how this might be an issue for modelling. At the same time, I suspect that any code fix might impact people using live subdivision poorly, and that use of the quality parameter might address this issue anyways.

Since you're looking for a workaround, one obvious one would be to model with multiple copies of a single iteration subdivision instead of using a single copy of a multi-iteration modifier. Apply each in turn as needed.

verderblich Author

* @vasiln * How is multiple copies can help with that? Since they all have different shapes at different levels of real subdivision.

what is the use of such behavior? what problems can it create?

vasiln

* @verderblich * It could impact performance, and obviously, it will change the shape in a way that they don't expect. People using multiple levels of live subdivision expect subdivision to create the existing look.

If you model with multiple copies of a subdiv modifier, all at level 1, then applying each sequentially will not change the appearance of the model. Try it out.