Smart Modifier Addon

We’re a small team of developers. While Blender isn’t the main focus of our development, we’re looking for one or two Blender coders to develop various addons. These addons will be offered to the public, hoping it can help to make Blender more intuitive for users.

We had already paid a coder for a Cavalier Perspective addon, which turned out to be a good experience. Here’s the next addon we hope to produce.

Smart/Master Modifier

The purpose of this addon is to have one master modifier for multiple objects, especially when the modifier settings are going to be the same for all objects.

Case Scenario #1

One good example is the subsurface modifier. It’s frequence to have each object attached to the subsurf modifier, and in general, they’re all set to the same amount of subdivision. But by default when the user want to increase the amount of subvision, every modifiers have to be tracked down one by one to perform the desired changes manually.

Case Scenario #2

Another good example, if not the most important, is the array modifier. It’s frequent that a dozen (or hundreds!) of small objects are used to shape up one big object. By default in Blender, having an array modifier added to each individual object quickly turns into a nightmare. You have to track down each single object if you want to change a value such as increasing the Count. So it’s a good reason to have one Master array modifier for all target objects.

Main Panel

Smart Modifier should have its own management panel with a list of existing entries. On this panel, it’s possible to create a new Smart Modifier entry. It should call a menu identical to the one when creating a normal modifier. It should be possible to link/subscribe objects to any of those smart modifier entries. Can be done with the current ways known to Blender such as drag&drop, eyedropping, or choosing object from a menu.

Subscription Method

There should be more than one way to assign an object to a Smart Modifier. Here are a few suggestions

1-) From the object’s regular modifier panel (if API allow UI changes). There should be an extra button below ‘Add Modifier’, which should be called ‘Add from Smart Modifier list’.
2-) From the main Smart Modifier panel (see description above).
3-) There should be a convenient way to assign object by their group, or children of a parent object.

Editing Smart Modifier

There are two ways to edit a smart modifier.

2-) Main Panel (see description above). It should be the most practical way to manage all Smart Modifier entries.

1-) Just like regular modifiers, smart modifiers should be listed in the object’s modifier stack. A special star icon should differentiate a smart modifier from a normal one. Changing the value of a smart modifier will be updated on all the object sharing this modifier.

This master/smart modifier should show up in the modifier stack of all the subscribed objects, as normal modifier normally do. A special icon (maybe a star) should indicate it’s a smart modifier. Changing the value of a smart modifier in either of the objects, should be reflected on all objects.

Conclusion

So, it’s a summary of what is expected for this addon. Such endeavor will require someone who’s experimented with Blender. It’s paid work. Feel free to PM me.

Advantage of using Smart Modifiers

  • Make changes in one place rather than many.
  • Can save a great deal of file memory, perhaps real-time performance.
2 Likes

A honorable endeavor, though I only see a few benefits over the current workflow of:
grouping before duplicating, then shift+g =>
ctrl+l to assign modifiers to selection =>
[holding alt] while changing multiple objects modifier values =>

recursive

Of course there seem to be benefits (speed?), but compared to the development workload and the additional UI clutter… mmh.
A Smart/Automatic grouping addon would be more interesting, imho.
Some kind of cryptomatte for modeling purposes. shift+g and shift+l arent always reaching the itchy spot on the back.

Oh boy, you sort of revealed a major twist. Why Blender always have to be so secretive about their features? I tried linking modifiers to objects tons of time and it never worked as expected, so I assumed it was just an initial copy and paste feature with no after effects. The questions was asked tons of time on StackOverflow and no one could tell how to affect all linked modifiers on an object, at least not that I could read. But you, dear friend, you came with the ‘ALT’ twist, which change everything.

I’ve flagged this post and asked moderators to move this thread in a public section of the forum, in hope to weight the pros and cons of such addon in further discussion, and perhaps bring more ideas to make this addon worthy if we decide its worth the effort.

1 Like

As said above, Blender already has this functionality, but maybe it might be exposed better.

However, I would generally suggest delaying the development of brand new addons until the 2.8 version is stable, both due to possible API changes and the ongoing UI revision.

Edit: I just read somewhere that the development team discourages it as well.

Really? What do they say about it?

It’s somewhere in the developers’ notes. They just ask that existing addons shouldn’t be adapted to 2.8 yet, since they expect major changes in the API and Python bindings. I don’t recall exactly where I read it, might have been on pipermail.

You can kind of do this in the “simplify” menu for viewport and render

Okay. I made a few experiments. I used the linked modifier feature, but once I do that, the objects then just have the same ‘stack’ of modifiers of the target object. For instance, if the initial setup is:

Object A : Array + subsurf modifiers
Object B : Array + Bevel + Mirror modifiers
Object C : Array + Bevel + Solidify modifiers

Then, let’s suppose I link Object B & C to Object A, then the result will be:

Object A : Array + subsurf modifiers
Object B : Array + subsurf modifiers
Object C : Array + subsurf modifiers

So unless there’s something else I’m missing, that’s a huge limitation that the addon I’m proposing should overcome. Because let’s suppose the user want to create a smart ‘array’ modifier, then the stack of modifiers will remain independent for each object. It doesn’t seem to be the case with the current way of linking modifiers (which is actually linking the ‘stack’, not a single modifier per se).

So with my addon suggestion, the result will be if I create a smart ‘array’ modifier:

Object A : Smart Modifier Array + subsurf modifiers
Object B : Smart Modifier Array + Bevel + Mirror modifiers
Object C : Smart Modifier Array + Bevel + Solidify modifiers

The user can control the smart array modifier from one single place, while objects still can use their own stack of normal modifiers.

I thought about this too, but one problem is we don’t know when 2.8 will be released. It seems like it’s going to be next Fall, but such development is always unpredictable and it could end up being spring 2019. We’re willing to make such addon available for both 2.7x and 2.8x if necessary. Even when 2.8 is released, I wonder if everyone will migrate to it immediately or wait until a few more versions for features to get more stable.

FYI: I found the entry about addons for 2.8. It’s in the developers’ blog.

Just a heads-up folks. I’ve moved this topic from the Paid Work category to Python Support.