Excuse me for some mistakes in this text, English is not my mother tongue.
Modifreeze is a small addon that gives you ability to “freeze” or “unfreeze” mesh object modifiers. You also can remove “frozen” modifiers or “update” it.
I created this addon because sometimes Blender viewport updates very slowly. It happens when you use too many modifiers. In some cases every time, for every new frame, Blender recalculates effect of every modifier in stack of every object. This sometimes leads to very low FPS (frames per second) in Blender viewport.
This is critical for parametric non-destructive modeling techniques that become very popular now. (For example of cool non-destructive modeling, see this awesome video by Chris Prenninger.) Non-destructive techniques works fine for few simple objects, but when you have a lot of parametric objects that uses a lot of modifiers, expecially for boolean operations, this become a problem.
For example, look at the final of another awesome video by Cédric Lepiller. Beginning with 30:47 we can see extremely slow viewport updating. This happens because this sci-fi style thing is result of very many boolean, bevel, etc. modifiers that stay active in stack. So, before calculate a new boolean operation, Blender needs to recalculate all previous boolean, bevel, etc. operations. Every time, for every new frame.
How can Modifreeze addon help in this case?
In fact, you don’t really need to recalculate all modifiers every time for every frame. Usually there is no any changes in existing geometry. Only if you change parameters of modifier (or move a boolean target, for example), you need to recalculate mesh geometry. So, Blender can work much more faster, if you manually update mesh geometry when you really need this.
Modifreeze works like a temporary “Apply” for modifiers. You can “Freeze” some modifiers in stack, as if you clicked Apply for them, and they will not be recalculated every frame. But in future you can “Unfreeze” these modifiers, if you need, or just change their parameters and click “Update” to recalculate mesh.
This is not a perfect solution, but it works, and allows you to work with “modifier-heavy” objects relatively comfortable.
What does Modifreeze exactly do?
You will see new buttons at the top of Modifiers panel: Freeze, Remove, Unfreeze and Update. Also you can press Ctrl+A and see new items at the bottom of Apply menu: Freeze, Unfreeze and Update Frozen Modifiers.
Freeze (all visible modifiers)
Turns off visible modifiers’ interactivity. You will see the last result of modifiers’ work, how it was before you clicked Freeze.
All visible modifiers of active object will be frozen. If you do not want to freeze some modifiers in stack, just turn off “Display modifier in viewport” for them before clicking Freeze.
Frozen modifier marked by (F) at the begin of its name. Frozen modifiers stay in stack, but do not affect anything until you click Unfreeze or Update.
If you click Freeze and press Tab to enter Edit Mode, you will see that all visible modifiers has been temporarily applied to mesh.
Note that Freeze saves original data-block when object has no frozen modifiers. So, you can click Freeze again and again to freeze some new modifiers in stack, and you will no loose original mesh. You don’t need to click Unfreeze every time before Freeze again with new modifiers.
Remove (all frozen modifiers)
Removes saved original data (if you didn’t choose “use fake user” for it). Removes all frozen modififers from the stack. This option is for cases when you want to stay with result mesh and don’t need modifiers anymore.
Unfreeze (all frozen modifiers)
Brings back original mesh data, renames all frozen modifiers by removing (F) from name and turns their visibility on for render and viewport.
Update (all frozen modifiers)
Updates the object mesh. If you changed some parameters of frozen modifiers, or moved boolean target, or did something else like this, you will see result after click Update.
Also you can use items in Apply menu by Ctrl+A. (But there is no Remove item in Apply menu, to avoid removing frozen modifiers by mistake.)
It’s very easy to work with this addon, just try it and you will understand everything you need if you haven’t done it yet.
Known issues and limitations
There are some things you need to know:
This addon is for work with static mesh only. Not for animation. If you use it for modifiers that have animated parameters, or for animated objects (especially if they have Shape Keys), or for objects in physical simulations, it may lead to unpredictable results. Of course, you can do it, but only if you know what and why you do.
If your mesh has some frozen modifiers, do not edit the mesh in Edit Mode until you click Unfreeze (you will loose all mesh changes).
Do not unwrap mesh object UV for texturing, if it has frozen modifiers in the stack. You need to Unfreeze or Remove all frozen modifiers before unwrapping (or other work with UV).
I do not recommend to mix frozen modifiers with other modifiers. In ideal, all frozen modifiers must be at the beginning of stack, and other modifiers go after them.
Do not manually switch visibility of frozen modifiers. If you need, click Unfreeze to make them visible for render and viewport. (But you are free to change all other parameters and click Update after that.)
Be careful using other addons that actively work with object mesh and/or modifier stack (for example, Hard Ops or Speedflow). If they just add new modifiers, you will have no problem. But if they try to remove or change exisitng frozen modifiers, you may get unpredictable results. So, you need to Unfreeze modifiers before these actions. Also, if other addon edited object mesh, and then you clicked Unfreeze, you will loose all mesh changes. Always think what you do, and why.
The addon works only with “mesh” object type. Not for curves, metaballs or text. (Of course, you can use them as modifiers’ targets, for example as a target for boolean operation. But you can’t freeze modifiers in Curve object modifier stack.)
It is a very small addon for very specific cases (to make a non-destructive mesh modeling more comfortable in some situations). Not pretends to be universal.
Despite this, I hope that Modifreeze addon will be useful for some people. If you are like me, dreamed about something like this, please enjoy!
Download the zip file. Go to Edit > Preferences… > Add-ons and click Install. Find your downloaded zip file and click Install Add-on from File. Then turn checkbox on to activate addon.
Modifreeze_v0.1.0.zip (14.1 KB)