← All ideas
  • Published 6 Feb 2021

Make Drivers Work Better With Delta Transforms

Background: While testing drivers for a project, I was having trouble getting the data paths to match what I thought was going on. All I wanted was for Y.Location of the driver object to create X.Rotation on a second object, and to achieve that cleanly I applied all transforms of both objects to deltas. Starting from zero in all values would mean I could easily adjust any parameters or expressions to get precisely what I wanted. Or so I thought. No matter what I did or selected, the Driver Value was always wrong. World Space, Local Space, and Transform Space all gave the same value, and as soon as I set up the driver, the X.Rotation of my second object would end up far too high. It took me quite a while to realize that the driver was not, in fact, using the Y.Location value of the driver object, that was set to zero; it was still using the value that I had applied to deltas before even creating the driver. To make my driver work properly, I first had to subtract the delta's value from my variable.

This is Very confusing and frustrating behavior, because there is no ability when creating a driver to select an object's deltas, and it's not clear that the driver will simply use the values that are assigned before any deltas are applied. I believe that either the deltas should be treated as entirely separate data, as the UI makes them appear , or if this data is not truly separated, that an option is made in the Driver Editor to include the deltas in the calculations automatically. As it stands, Blender's default behavior here is nonsensical, when logic would dictate that the selected value should be the only value Blender uses for these calculations.

What I propose is to either expand the selection box for the object data path of the Driver Object to include the delta transforms, or to add a checkbox labeled "Use Delta Transforms" to the Driver Object options. When checked, the calculated Driver Value would automatically use the difference between the object's normal transform values and its delta transform values. Either option would make the data the driver uses for its calculations immediately apparent, and should fix this issue.

(I hope this is clear enough, I don't have the extra time to create a mockup of this idea.)

100%

Development Status: Open

Upvote 1 Downvote 0
schamer.eric
6 Feb 2021

0 Comments