When is a driver value updated?

Hi,

as the title says: When is a driver value updated? I’m using a scripted expression. First the expression was accesing a custom property of an object but the driver value didn’t update. Then I only entered a fixed value as the expression, but it doesn’t update, too:


Obviously the driver value should be 2, not 0.96. I’ve tried clicking on “update dependencies”, removing and readding the driver, pressing F12, restaring Blender, but nothing helped. Only if I manually change the driven value, it is updated by the driver value. For example, if the Z position of an object is driven and the driver value is 0.9, the Z position doesn’t update before manually changing the Z position of the object. Oh, one time it suddenly updated, but I don’t know what I did.

I can even enter an invalid python expression but there’s no error in the python console.

Once again I don’t understand this. Anyone does?

What property (and where) is the driver applied to?

For various technical reasons, not all properties which can have drivers added to them will necessarily work or be properly updated yet, though hopefully those issues will soon be able to be resolved.

Aligorith, thanks for replying.

I added the property (named “switch”) to a group instance. The driver is applied to a math node in a cycles material.

Driven value (purple):

Custom property:

Driver:

Now simply reproducable in the default cube scene: Add a custom property to the lamp and use it in the driver that you add to the cube’s Z rotation. It doesn’t rotate even if you change the lamp’s property value.

I didn’t know that not all values are updated immediatelly, but it’s ok if one knows.

The main problem is that the value never updates automatically even before rendering. If I’d have 1001 drivers I had to update them all manually, but then I do not really need a driver.

Me again…
A workaround seems to be: Add a var to the driver. The var accesses the custom property and the driver accesses the var. So with this intermediate step it seems to work.

2 Likes