Sunflower Rig

This is a prop rig I made for my class’s senior project Farmer Glorp. Most of the props we rigged were pretty simple, but this sunflower ended up being more complicated. While not as complex as a character rig, this rig has dozens of controls for various things which allowed us to animate it with a lot of variety and personality. It became a sort of honorary third character in the film. The story called for fields full of robotic sunflowers that would collect energy. They needed to be fully pose-able, move subtly, and be ripped out of the ground and destroyed by a tornado.

The rig can seem complicated at first glance because I put a lot of control handles in it, but it is really just your standard FK system with some optional settings for details like extra leaves on the stem. The extra parts can be turned on and off using the all_anim control which is a simple set driven key to toggle the visibility. Each joint in the stem has a set driven key to break the rig apart for the tornado sequence.

The first major hurdle with rigging the sunflower was dealing with the tubes. At first I wanted to make them dynamic so that we wouldn’t have to worry about manually animating them. Each flower has 8 petals. Each petal has 3 tubes. Each flower also has 8 tubes at the base like roots. So each flower would have to have a total of 32 tubes. I spent the better part of two weeks doing R&D on this. There are ways to rig a joint chain that hangs loose, but having 32 of them on this rig was simply not feasible on our school macs. I also tried using stretchy IK chains, but there were penetration issues that I didn’t have time to resolve. Even if I had figured it out the number of joints required on a single flower was enormous and caused the scene to slow down.

The solution I went with is one I don’t recommend anyone use unless they know for a fact they can get away with it. The reason is because I used wire deformers which I skinned to a smaller number of free-floating joints to be used as controllers.

The reason you shouldn’t use wire deformers on a rig is because they cannot rotate properly in space. You end up with twisting geometry and the “candy wrapper” effect. I didn’t know this at the time, and by the time we realized it was happening, the rig was finished and we were in the middle of animation and layout. As you can see in the picture below, the geometry twists around the CV curve used in the wire deformer. This occurs any time you rotate the flower or any group node the flower is inside of.

So if you ever need to rig a tube or something like this, avoid wire deformers! For our purposes we were able to deal with it. The texture on the tubes was mostly solid orange so twisting was never apparent to the naked eye. The camera rarely got close enough to ever notice pinching, and when it did, we were able to fiddle with the controllers enough to remove pinching.

Now because dynamics didn't work, the tubes had to be manually animated. These flowers were in almost every shot of our film, so I knew I needed to simplify things for our animators. I needed to make the tubes bend and deform with the petals and stem without the need to hand-key every nit-picking controller; of which there are dozens for the tubes alone. I painstakingly went through every controller for every tube in the rig and created a set of parent and orient constraints.

Normally anything you parent can only have one parent. It's like follow-the-leader. If you give something 2 leaders, it doesn't know which one to follow. Parent constraints come with a weight between 0 and 1 (off and on respectively). You can give an object more than one parent constraint as long as all of the parents add up to 1. So I daisy-chained parent constraints to each of the controllers along every tube.

In the picture above you can see the values of this one controller following its neighbors. This one is parented to the sunflower petal by 0.3, the central head of the flower by 0.5, and the stem by 0.2. The end effect is that when you rotate the top of the sunflower, the tubes all bend and follow naturally without having to manually key every single part of the tubes. Below you can see how the controller (B) floats evenly between its two parents (A and C).

It's not perfect, but each controller can also be moved and keyed to add weight and overlapping action for close-up shots. We saved tons of time during animation thanks to this setup.

The other cool thing this rig can do is break apart.

In the film a tornado comes and destroys the farm, so we needed to be able to break the flowers apart and make debris out of them. Each of the 3 joints in the stem has a set driven key to toggle between unbroken, cracked, or disjointed. This lets you pull it apart in a bunch of different ways. I set it up so that when you switch the break type, the controllers themselves change shape to indicate the broken state. A new large controller appears for moving the pieces around. You can detach different parts and they all follow logically from the ground-up. This was accomplished by reconstructing the original rig so that each breakable segment is its own isolated rig. Each rig segment was then parent constrained (these things are so useful!) to the one under it, starting from the top of the flower. The head follows the neck, which follows the middle, which follows the bottom.

Rigging can be very complicated and highly technical. Character rigs are even more in-depth than this. Experienced riggers would probably have ideas for how to accomplish this better than I did. I’m still new to rigging, and it was up to me to problem solve this asset on my own for the film. One of the best aspects of the character animation program at UCF is that they teach us to be problem solvers. Rather than hand you the solution and tell you “this is how it’s done” you are left to figure it out on your own with supplemental guidance. I like that approach because it helps us be more useful in cases where a project calls for something specific and the answer isn’t already out there on google.

Featured Posts
Recent Posts
Search By Tags
No tags yet.