animated gif, motion graphics, heart, red, blue, math, dancing, wiggle, blender, b3d, cycles, I Heart Math
Posted in Motion || Posted on 2013-10-12 21:47:00
To animate the Heart in this set of GIFs, I decided that it was far past time for me to learn how to use Drivers in Blender. So I did, and I am very pleased with the results. For those unfamiliar with the concept, a “Driver” in Blender is a way to map the value any property on any object, to any other property on any other object.
How am I using Drivers in this GIF? Well, do you see that little yellow-orange ‘empty object’ on the right side in these GIFs? Let’s call this the TwistControl object. It does not display in the rendered versions of the GIF, but I do have its global X, Y and Z position mapped to 3 properties of the heart. The X position of the TwistControl is mapped to the heart’s Z rotation. The Y position is mapped to the intensity of the “Simple Deform -> Twist’ modifier that I have on the object. The Z position of the TwistControl is mapped to the distance between the two halves, and I am constraining the value to positive numbers with Math.abs() so the halves do not inappropriately intersect with each other.
You will note that there’s a red-orange empty object in the GIFs above as well - Let’s call this one AnimationControl. This is actually the only object in the scene that has any animation keyframes applied to it, and it is only spinning 360deg on its local Z axis. I have then parented the TwistControl object to the AnimationControl object. This way, as the AnimationControl spins, the TwistControl moves through space, and we get a super smooth animation of the heart twisting and wiggling. This was a very easy way to apply synchronized Sines and Cosines to the animated properties on this object, and by moving the TwistControl object around relative to its parent, I was able to adjust the intensity of each property. AWW YEAH. In the first GIF above, I have rotated the AnimationControl object 45 degrees on its local Y axis, so as it rotates, the TwistControl object bobs up and down on the global Z axis, and that is what causes the heart’s halves to separate. The Math.abs() function is what causes the halves to appear to bounce off of each other.
I think this is the video I watched that finally explained Drivers to me in a way that I was able to understand them. I’ve seen a number of video tutorials on them before, but this was the first one that made them just 'click’, so I should give a shout out to Peripheral Labs who made the video. Thanks!
To my followers: I’m super sorry that I haven’t posted anything in a while. I moved recently, and getting settled in my new home has taken a significant toll on my productivity. It’s not that I haven’t been making GIFs, because I’ve made at least 6 new ones that are super beautiful - it’s just that I haven’t been able to post them to Tumblr because I can’t get their (design simplicity/quality/filesize) ratios down to a point where I’m happy with them yet. Sometimes perfectionism kills productivity. Sometimes moving makes one more of an idealist, and that’s when perfectionism raises past the point of allowing a person to think that their work isn’t good enough to post yet. Anywahhh… More on the way!
This post is one of a set named I Heart Math