Regarding "modifier nodes" project

Hey @jacqueslucke I wanted to chime in regarding this because I´ve been thinking about it lately and I wanted to ask a question.

Will there be a node to “freeze” geometry edits?

I mean, imagine that you enter in edit mode inside an object, then you modify it´s goemetry, then you are happy with it so far and you want some kind of freeze state, but in a “procedural” manner, so you can continue editing and that edit will be stacked over the previous state, and you can repeate the action several times, of course if you remove an intermediate steat things can be broken or not, depending on the edits, but this also allows you to iterate and have different versions of one object, and it also allows you to be sure that you will always have a version of your object in a state were you were happy.

I hope you understand what I mean with this, it is pretty useful, in other packages this is called in different ways, in Maya it´s a group of action nodes , like grouping lal the actions, extrude, move, poke, etc… if you remove those actions you remove your edits, in Max it´s a modifier, the Edit Poly (something that new users that come from Max really miss), in houdini it´s also nodes, and I´m´not sure how is it done in C4D and Modo.

In the end this could be pretty good for poly modelling, and I though this may be possible with “modifiers nodes”



I’m unsure why a “freeze” node is required for that. Usually in a node system you have all the intermediate results anyway and can branch everywhere.

Being able to edit the mesh in the viewport and have it automatically create nodes is kind of difficult and not directly part of what I’m working on atm. However, I can definitely imagine that this will be possible at some point… It just requires deeper changes in Blender to be able to edit “intermediate” meshes.

Maybe it should not be done automatically, but manually, at some point you put a node that will freeze that state of the mesh and then you can continue editing, ant at any point you can go back to that state, like having a “saving point”, also this way you may be able to connect modifiers to the previous state and continue the editing in the after estate.

For example I could model a thin wall, then add a solidify modifier, add a freeze node and then every time I go to edit I can edit the result of the solidify modifier without having to apply it, I could be able to change it´s parameters after having done the edit.

It´s something pretty powerful and I don´t think it has to be automatic, it can be decided by the user.


1 Like

in a procedural workflow your editing will be a kind of a node, here’s how it works in Houdini

there’s not a “freeze” node


Yes, this would be ideal, but I think it could be a bit too much for the node modifiers project, that is why I thought about this as an intermediate solution :slight_smile:

1 Like

This is something I’ve been missing in Blender ever since I switched from 3ds Max more than 10 years ago (the Edit Poly modifier that @JuanGea has mentioned) .

It would be some sort of modifier that lets you edit the mesh resulting from the previous mesh edits + modifiers.

An example of what this is very useful for:

  1. You have a mesh with little detail, but you need more geometry to add smaller details.
  2. You add a subdivision modifier
  3. You add this “Edit Poly” modifier
  4. Voilà: you can now edit the resulting mesh from the subdivision

The only way this would be doable at the moment is by applying the subdivision modifier, but as @JuanGea mentioned, this would be destructive, and it would be imposible to go back to a state before the subdivision was applied.

Instead of a subdivision modifier, you could have any other modifier or set of modifiers.

Just wanted to chime in because once again, as @JuanGea said, this is something that users from Max miss a lot (me included!) :smiley:


That is the perfect example on why this is needed, it’s a better explanation than mine :slight_smile:

This is another good example: You can apply a subdiv modifier to a mesh, and then you want to bind anothe object to the subdivided one, if you change the subdiv level then the surfacedeform will break, but if you have a point in the change to point the surfacedeform at, then you can subdivide your mesh but maintain as source mesh for the surfacedeform the unsubdivided one.


Just to keep in mind, in 3DSmax and the modifiers, if any change in vertex amount or vertex order its done before point 3 after being working on the modifier, then the result its a broken mesh because the edit poly doesn’t dinamically updates the index in the modifier (at least until Max 2011 it didn’t update vertex index).
even though sometimes its a great way to model could lead to issues, one situation I lived with that modifier was between Max 2010 and 2011, models that where made in the version 2010 of max in a studio that i worked on, when were open in 2011 the object basically “explode”, the modifier wasn’t applied and it cause the error from version to version, maybe service packs im not sure, the way that vertex where read was different , i saw the power on the modifier but always argue about the extended use of it (at least until a jump to blender, then that mod wasn’t a concern any more).

1 Like

That is true, but not always, if what you use are procedural modifiers all is kept perfectly fine, also not always it ends as a broken mesh it all depends on your edits, for example if you create something in the first edit mesh, in the left part of the mesh, and after that you only work on the right part of the mesh in another edit poly, if you go back to the first part of the mesh in the first edit poly and modified that, nothing is going to break, the edits are not crossing so no problems with the maths and the geo :slight_smile:

But being able to access to different mesh status and keep mesh states an apply modifiers to different mesh states is something very powerful, the examples given by Oliver and SavMartin are perfect to explain it :wink:


Why did you retract the comment? There was nothing bad with it.

You said something that was logical, but keep in mind that we are not comparing Blender to max, and as you said not everything is wonderful, in the end you have to know how to use the tool and when :slight_smile:
But the functionality is what we are after, the positive parts, and having that kind of node is a pretty powerful thing, taking into account the downsides :slight_smile:


Yeah! It may break depending on the edits or changes above the modifier, but having to apply modifiers to be able to edit the mesh is a very destructive process. If you want to make sure it stays compliant with future versions, you can even apply the modifiers AFTER you’re happy with the result… but not before :smiley:

I always end up with sh*tloads of duplicate models in a hidden layer to have backups before applying modifiers if needed, but it’s messy because if the object is moved/parented/whatever, then going back from those backups takes work.


In fact, the “Edit Poly” modifier could have an option to Apply “this modifier and modifiers above”, as it depends on them to be applied to :slight_smile:

(Just dropping more ideas ;P)


Hey @jacqueslucke I know you are working super hard, and super busy, so these are just “surveying” questions :slight_smile:

1.- I know we are near of having functions / particle nodes in master, do you have a tiemframe, or is there still to much fuzziness in all the things you have to prepare to adventure yourself to say a timeframe? (like… end this week, or end next week), BTW no words are written in stone, you can say one thing, but many things can go in front, and delay what you said, so it’s just to get an approximate idea.

2.- Will Modifier Nodes be available with this first function nodes implementation? (we are dying to have them :slight_smile: )

Thanks and good work mate!!!

  1. Some things are in master right now, some things will be in master by the end of this week and some by the end of next week and so on. There is no single big patch that will include all of particle nodes (that simplifies code review). Currently, the things I’m working on are behind build flags. Next week I’ll probably turn those cmake flags into a experimental-feature setting that will be shown in the user prefs. Then you can see the current state in master for yourself. While you can already see some points moving, you cannot control them yet… I do think that we will be able to control particles in similar way as was possible in the functions in the 2.90 release. It will still be an experimental feature then.

  2. Modifier nodes won’t be part of this yet.


Thanks :slight_smile: That was what I wanted to know.

A pity that modifiers won’t be part of this… but better steady and stable evolution, than a rushed one, so… great! :slight_smile:

Thanks fro answering so fast, have a great day!

Hey @jacqueslucke is there still a branch where modifer nodes can be tested somehow? (I think there was one in the past)

This sounds like the action of saving a copy of the mesh ( or a file ) at every critical stage.
Also Multiresolution Modifier is somewhat supports this. It’s interesting tho.

My last question was not related to my previous questions hahaha

But now that you bring the topic to the table again, yes, the idea is to have “stages” where when you enter in edit mode you are modifying the result of some modifiers, so every time you put what I called a “freeze” node, edit mode changes to give you that result and you can edit that result, all the editing is stored inside the “freeze” node, that way if you disable to delete that node you recover the previous state.

Multires is not the same and it’s not for edit mode :slight_smile: