Soft Apply Modifiers (Or Applying Modifiers Non-Destructively)

While watching some 3Ds max tutorials, I noticed that there is a pretty neat feature of being able to add an edit poly modifier to be able to edit on top of turbosmooth or other modifiers non-destructively.

An idea I have with Blender is that I would like to be able to apply modifiers without losing the original mesh. I would really like to see a Soft Apply (or Non-Destructive apply) button that applies the modifier, but it doesn’t remove it from the stack and preserves the original mesh. Then, clicking the soft apply button again will un-apply it and show the original mesh or the result of the modifier before it.

I’m not %100 sure that this will be possible, but it’s something that would be pretty interesting to see. One problem that might arise is what would happen if you soft apply a modifier, edit the soft applied mesh, and then un-apply it. I think that would cause a loss of your work editing the mesh.

I’m not sure it can be done, but it would be a cool thing to have.

Not sure of the soft apply idea. What I would love to see is something more akin to an Mesh Edit layer that gets inserted into the stack. Any changes to the model get stored in that layer. I can exist on top of and in between other modifiers and can be muted and un-muted. It’s basically the same thing as an edit poly modifier but without having to duplicate all the modeling functionality into a single modifier. Instead, it’s just a place to store the changes to the mesh. It’s a lot like layers in Z-brush but it would allow to store the creation of new points and polys too nondestructively.

I think the main problem with such edit layers/modifiers is handling meshes with changed topology. For example if I add two edit layers, on one I create a hole in a face and on other I extrude it, what wil happen if I now remove the hole in the first layer? Or if I connect some vertices to faces in another configuration, how will subsequent edit layers handle the changed topology of the mesh if edits in another layer are based on different state…

ZBrush avoids such problems by keeping the exact same topology all the time. Moving vertices around based on displace values in different layers is a simple vector math.

It’s possible. You can store mesh data and bring it back by swapping it with original mesh with a click of a button, leading to a non-destructive effect.

I found an interesting addon that kinda does this using snapshots.

It works, but it is kinda confusing to work with.