Bounding Box Driver

In this topic, I want to discuss a more flexible pipeline for modeling in Blender.
And how we can upgrade Blender to be even cooler.
The main theme is the “Bounding box” or how Blender called - “Dimensions”, but the idea to make Blender more flexible, like Houdini from Side Effects.

I made few tests with booleans and array and technic are very promising. You can use drives in so many ways to make your workflow NONdestructive. To add holes and make an array modifier never go above object size from we cutting. Or make side holes object in array modifier make one or two copy less.

Or like a circular array with an origin in the center of the object. You can add as many segments as you want. Or change base geometry and have totally different model in a few seconds.

But Blender has a “bounding box” update problem. Driver working only on duplicated instance objects, and not on original one. And even on an instant copy, Blender updating with delay. You need manually update Driver for it to work.

So, much better will be if we can have a proper update of “Bounding box”. Without lags on update.

All object parameters (scale, location, rotation) have “Copy as new Driver” if you click on them with RMB.
But not “Dimensions”. Why not !!! I can’t tell. If you want your bounding box in the driver, you can access it only via driver with “dimensios[0,1,2]”.

Scripting your driver with values and math without a “driver editor” menu also needed.
The possibility that you can type your script in the input field is incredible.

(cube(dimension[1]) + plane(dimension[0]))*2

where:
cube” - is the object name we are looking for
dimension[1] - it’s “cube” bounding box size in Y direction

The dreams of control will be a possibility GET bounding box of the object from “Modifier” that we want.
After adding the “mirror modifier”, we have a different “Bounding box” of the object. If we add new on top, let take the “Array modifier” - the “Bounding box” will change.
We don’t have this option now. So maybe it can look like that in "drived " field:

cube(MOD_mirror,dimensions[2]

If you do “Copy as new Driver” and paste the driver into the “input field” you get a value, exactly what you want at the moment.
But if you want to do math with this new driver, maybe just divide by 2, you must do some unnecessary steps. Click RMB on value, open “edit driver”, and switch to scripted expression. Only after this, you can divide by 2.
Propose - just “Copy as New Driver” and paste with type “scripted expression” already.

How it’s work in Houdini. Easy and smooth.

Much worst scenario if you want to add new value to your old driver. “Copy as New Driver” does what it programmed to do, and when you copy&and paste, it erases the previous driver with all its values.
So much better approach will be “Copy value” instead of “Copy as New Driver”
So like that, you can add as many values to your driver as you need.

All these features already exist in “Side Effects Houdini”. And they working perfectly. So I hope Blender developers are also interested like I am in implementing this cool stuff into Blender.

3 Likes