Important Notice:

As of September 15, 2016, we will no longer publish new courses on We encourage you to use your Digital-Tutors credentials to sign in on Pluralsight where you'll find all new creative courses, skill tests and paths, 1:1 mentoring and more.
Connecting the reverse foot rig
See Details
Let's work on connecting our reverse foot rig. So we have quite a few pieces to constrain, but we'll use a script to get this done a little bit faster. Just to give you an idea of what the script will do, it's going to create a locator that matches the transforms of the bone that we'll eventually constrain to the reverse foot rig, but then the locator is free for animation. What inherits the transforms is the group above the locator, and then that group can be parented to whatever node that needs to drive the foot roller rig. Now what's great about this is that the-- again, the locators are free for animation, so when this robot starts to transform, we can start to use those locators. And the other controls we'll build to separate things to have enough control for the transformation to look nice. So today we go ahead and load in our script and get right to work. So in our scripts folder, that's going to be the groupedLocDrv tool. So we'll now go ahead and take a look at the code. So, again, this is going to create a grouped locator control. I like to name LocDrv since it's driving a certain node. And it aligns it to the selected object. So we first find our selection, and then we use a [? four ?] loop, just so we could apply this to any object we have selected. And what this first will do is create a locator for each object, and then it's going to group that locator. And using this group command, make sure the group is centered to the selection. Next, we align the group to the selected object using a parent constraint with no maintain offset. So that's how we're able to inherit the selected objects' transforms. And then following that, we then find the parent constrain of the group, again with the list relatives command. Very helpful command. Here's the variable that's stored in. And then we go through and we select and delete the parent constraint. Following that, we then rename the group. Here's the variable for that. And the group is renamed to the selected object with the prefix of grpLocDrv. And then we rename the locator, again to the name of the selected objects followed by LocDrv as our prefix. So the last thing this will do is create a custom match view named size. So you could see the default size is 1. And what we're going to do following that is grab the shape node of the locator, and then we connect the size attribute to drive the local scale that's tied to the shape of each locator. So that's scale x, y, and z, all tied into our size parameter. And then we go ahead and create a default size for each locator. So I've set that default size to 100, just so it's really easy to select. We want a great value here because of the size of this asset we're rigging. So that's basically what our code does. Let's go ahead and highlight it, add it to our shelf. And let's go ahead and rename it. So this is our grouped locator control tool. I'll go ahead and use that as the tool tip. And if we'd like to get a little bit more descriptive, we can say first select object, then run tool. And for the icon label, that's going to be GLDT for group locator driver tool. I like to rename the locators that drive certain joints or other objects to LocDrv, simply because that locator is controlling that define object. So I'll go ahead and now choose save all shelves. And let's go ahead and put this to use. So we'll go ahead and grab each of our toe joints, so that's a, b, and c. And now we can go ahead and run our tool, and you can see that a locator has been created. You can see it's zeroed out, so it's clean. And what inherits the values is our group above it. We can go ahead and take a look at things in the outliner. So these groups haven't been parented anywhere just yet. And then on the locator, you can also see this size parameter if we'd like to modify the size of this node. So now it's just a matter of parent constraining our joints to their respective locators. And we don't need to maintain offset at all, which is nice. At times when working with maintain offset, you might find flipping issues in the constraint object, especially when switching between different spaces when you are working with multiple weights. So for that reason, I like to work with the constraints without maintain offset as much as possible. But you primarily notice that flipping when, again, switching between spaces. But we want to go ahead and grab the locator, grab the joint that should be constrained to it. Head over to constrain parent, reset the settings. And we'll just go ahead and make sure maintain offset is off and choose add. We'll go to the next joint, again, making sure we've selected this in the right order. Locator first, then the joint. Press the G key. Take care of the end joint of the toe. And we'll go ahead and constrain section B. Great. So once those have been tied down, it's now just a matter of grabbing our locators. So we'll start with the root of the toe. We'll grab these two locators. Hit the up arrow to grab their groups. Or if you would like, you can always grab them from your outliner. And then we simply take the groups and parent them to the joint that should drive them for this reverse foot rig to work. So that's going to be RL ball in this case. So again, the toe base locators-- their groups, that is-- get parented to RL ball. So we'll go ahead and parent. And these last four locators, let's go ahead and select them. Grab their groups. And they get parented to the reverse locked toe joint. Let's go ahead and test things out. We have one more step before we are ready to move on to another task, go to auxiliary controls. We need to make sure that we constrain our IK handle, but first let's go ahead and just test things out. I'll grab the RL ball joint and start to rotate that. Everything is rotating properly. How about the toe. Let's go ahead and select that and start to rotate it. Great. And as we rotate our heel, everything's going to be driven as expected. So let's go ahead and now constrain our IK handle. If we were to go to wire-frame mode, you might find that it is a bit difficult to select the IK handle given the size of this asset. I mean, we can see it, but if you would like, feel free to use your outliner to finish up. So it's just a matter of grabbing the reverse lock ankle joint and then Control clicking the IK handle, making sure we grab the right one, RPL leg. Now we can use a point constraint. So if we were to test things out again, grabbing our ball joint, rotating that up, you can see that everything's working just fine. Great. That basically finishes up that step. You'll now want to do the same thing for the right foot. Again, it's the same steps. It's just a matter of adding the locators and then constraining your joints to each respective locator. Once that's done, you can then parent the groups of those locators to the reverse lock joints that should drive them. So, again, for the toe base, that gets parented to the ball joint. And then for the last four, they get parented to the toe. Then you don't want to forget about the IK handle, making sure that it's point constrained to the reverse lock ankle joint. That's going to finish up this lesson. So in the next lesson, again, we can start to work on some secondary controls for the feet.
In this tutorial, we will learn the methods that were used to rig the transforming robot. Throughout these lessons, we will learn the tools and techniques used in the setup process of both our robot and truck. The goal is to break this complex idea down into a simple, and manageable form. We'll cover the rigging process in its entirety, and along this journey, we'll be introduced to several tools that will help make this all come together efficiently. By the end of the course, you'll have the set of skills needed to rig your own transforming robot.