Modifiers should really have an 'active' toggle in addition to visible and renderable

I am using an animated boolean modifier that also has the visible and renderable animated so to switch between preapplied one and animated one. The problem is that there is no easy way to disable the modifier all together and the animated boolean is slowing the scene to a crawl. Also in Houdini there is a no update/always/mouse up switch to handle such situations. Maybe there could be a global/per object modifier switch that enables/disables all modifers.

Open for suggestions if there is a way to handle such situations as is.

yep, in blender there is almost no way to change multi object properties in one time, because there is not any sort of ’ scene management tool '.

But I’m sure in the future they’ll do something.

Anyway, python can do that! :smiley:

that is good point hear! When you have list of objects etc… should be list like modyficators…

Here’s a little script that will toggle the viewport status of all modifiers on all selected objects:


import bpy


selected = bpy.context.selected_objects


def toggleMods(objects):
    print (objects)
    for obj in objects:
        bpy.context.scene.objects.active = obj
        for mod in obj.modifiers:
            modStatus = bpy.context.object.modifiers[mod.name].show_viewport
            bpy.context.object.modifiers[mod.name].show_viewport = not modStatus
    return {"FINISHED"}
    
toggleMods(selected)

http://www.pasteall.org/42692/python

Just paste that into the Text Editor and click “Run Script”. It will act on all selected objects.

Thanks Jonathan thats is quite helpful. However my original problem was that the show_viewport is animated in my scene, so just toggling it wont work. That’s the idea behind the additional ‘active’ toggle i proposed. If that’s implemented you could animate for example ‘active’ status and keep show_viewport and show_render? as a toggle. Global switches would be welcome for previewing scenes etc.

My proposal is kinda like this. Add ‘active’ to modifiers.

Weight hierarchy:
Global active toggle->Object active toggle->Modifier active toggle

Why is this important? If you use modifiers for animation you’ll know.

EDIT - I don’t know if I mis-read or you added to your post, but seems my post is now extraneous :wink:

A very good thread!
About modifiers,
Sometimes you have to wait long for the modifier finish what it has to do anyway.
When applying, you have to wait exactly the same time, again. Not a serious issue but very annoying. It is some kind of waste IMO.

There is a serious issue with Blender boolean modifiers. Even not visible meshes / objects always get their boolean result updated.
That can slow down Blender drastically.

I fully agree with an active button or only update it when it got changed in any way.

michalis, just wanted to mention that also!

Or… you take a different tactic. Have two copies of your scene (one with the modifier and one without)… animate them both in separate linked scenes and switch between them in the VSE (either before or after rendering).

Of course, without knowing the specifics of your animation, there’s a chance that this won’t work exactly as described for you. However, in general, I find that it’s often best to avoid doing an entire complex animation in a single scene. Be willing to make adjustments in post. If you’re not faking it, you’re probably doing it wrong.

I usually fake things if possible also, for this scene I used the mask modifer as a realtime option since the boolean showstopper was the vertex numbering mess the boolean modifier makes (even on non-border vertices) making materials and vertex colors/ weights unusable. I could have used projection textures as material masks but mask modifer was simpler.

Hey Fweeb I also use the modifiers just for modeling and they slow down the workflow dramatically.
Even switching scenes layer visibility everything seems to trigger a re-update of the modifier which
results in series screen refresh lag at one point. Making the modifier not visible does NOT change that outcome
which is why a real freeze function would be useful.