I'm starting to play with drivers but I can't do a simple thing. I created a driver to scale the faces of a cube, connected to the distance of an empty. The problem is that when the empty is near all the faces scale at the same time, instead I would like them to progressively scale (the ones closest to the empty begin to scale while the most distant remain with scales at 1). Is it possible using drivers? Thank you all enter image description here

enter image description here

enter image description here

  • $\begingroup$ Can you show us what you have as a driver expression/setup so far? $\endgroup$ – Sazerac Jul 22 '19 at 6:07
  • $\begingroup$ I uploaded the image of driver settings. $\endgroup$ – Tyler Durden Jul 22 '19 at 6:53

I think the easiest thing for you to get this working is to do the following:

  • Separate all of the individual faces into their own objects.
  • Reset the origins of each face to their natural median point.
  • Parent all faces to another empty to make it easy to manipulate as a whole (move / rotate / etc...)
    • This step didn't work out all that well.
  • Change the driver on each object to calculate the distance between itself and the original empty you have shown.

I've included a file that demonstrates these instructions.

Here's the results:

Example Animation of Result

Also for mass reproduction of the faces...

  1. Make the driver work on a single face.
  2. Alt + D duplicates with links, which preserves the driver data on the duplicated face
  • $\begingroup$ Hint: Instead of my failed parenting step...Putting all of the faces on an isolated layer makes them easier to select, then after selecting >> (Move, Rotate, etc...). $\endgroup$ – Rick Riggs Aug 1 '19 at 2:45
  • $\begingroup$ Hi Rick, and thanks for your reply. I am also right at your own solution but the problem is that my mesh is made up of thousands of faces and it would be impossible to change every single driver by hand. Do you know if there is a way to apply the same drivers to all the other faces? I tried with ctrl + L -> Animation data but it doesn't work because when pasting the information to all the other faces it leaves as the object the information of the "copied" face, so when you move the empty all the faces scale simultaneously. Thank you $\endgroup$ – Tyler Durden Aug 1 '19 at 9:38
  • $\begingroup$ If you need to do this a bunch, I recommend using python. I have this demonstrated in this post $\endgroup$ – Rick Riggs Aug 1 '19 at 10:55
  • $\begingroup$ Okay, the last link I gave you showed how to get at the animation data, but you would also need to write some basic loop for your case so that you can iterate thru your thousands of faces. $\endgroup$ – Rick Riggs Aug 1 '19 at 15:25
  • $\begingroup$ @TylerDurden Check the appended info in my answer, I believe this is what you are looking for. $\endgroup$ – Rick Riggs Aug 1 '19 at 19:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.