Important Notice:

On July 31st, 2017 the Digital-Tutors library will be retired along with Digital-Tutors concurrent licensing. Effective August 1, 2017 any active group plans will be redirected to www.pluralsight.com. Each group plan will receive one individual user license on Pluralsight for each active Digital-Tutors license. Please contact your account representative for any additional questions.
Connecting the reverse foot rig
See Details
Delano Athias

Pluralsight

Delano Athias
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.
Partner
Partner
Introduction and project overview
1

Introduction and project overview

 
00:49
Starting on the robot's rig
2

Starting on the robot's rig

 
08:10
Rigging the robot's left leg
3

Rigging the robot's left leg

 
13:49
Completing the left leg's base rig
4

Completing the left leg's base rig

 
15:30
Creating a hip joint and mirroing the left leg
5

Creating a hip joint and mirroing the left leg

 
05:38
Starting the foot roll rig
6

Starting the foot roll rig

 
09:51
Connecting the reverse foot rig
7

Connecting the reverse foot rig

 
10:26
Extra joints for toe bend control
8

Extra joints for toe bend control

 
04:56
Connecting the leg and hip meshs
9

Connecting the leg and hip meshs

 
13:59
Primary leg controls
10

Primary leg controls

 
08:54
Organizing the rig
11

Organizing the rig

 
04:42
Starting on an animator-friendly foot roll rig
12

Starting on an animator-friendly foot roll rig

 
07:34
Wiring the foot roll's plusMinusAverage nodes
13

Wiring the foot roll's plusMinusAverage nodes

 
09:26
Finishing the foot roll rig
14

Finishing the foot roll rig

 
06:21
Toe bend controls
15

Toe bend controls

 
10:51
Knee controls
16

Knee controls

 
07:54
Cleaning up the leg rig
17

Cleaning up the leg rig

 
07:45
Rigging the wheels connected to the robot's legs
18

Rigging the wheels connected to the robot's legs

 
07:37
Finalizing the leg wheels
19

Finalizing the leg wheels

 
10:53
Creating a hip control
20

Creating a hip control

 
07:13
Rigging the wheels connected to the robot's hip
21

Rigging the wheels connected to the robot's hip

 
06:48
Constraining the wheel geometry connected to the robot's hip
22

Constraining the wheel geometry connected to the robot's hip

 
04:23
Dynamically parenting the hip wheels
23

Dynamically parenting the hip wheels

 
10:03
Chest control
24

Chest control

 
08:21
Completing the chest rig
25

Completing the chest rig

 
10:15
Setting up the wheels connected to the back
26

Setting up the wheels connected to the back

 
06:13
Custom attributes for the back wheels and connecting the back rails
27

Custom attributes for the back wheels and connecting the back rails

 
06:30
Dynamically parenting the back wheels
28

Dynamically parenting the back wheels

 
03:00
Constraining the spine geometry
29

Constraining the spine geometry

 
05:45
Creating a center-of-gravity control
30

Creating a center-of-gravity control

 
03:36
Rigging the neck's base plates
31

Rigging the neck's base plates

 
06:12
Setting up the robot's main neck plates
32

Setting up the robot's main neck plates

 
06:48
Re-orienting the neck joints
33

Re-orienting the neck joints

 
01:56
Rigging the neck with inverse kinematics
34

Rigging the neck with inverse kinematics

 
07:36
Optimizing the scene
35

Optimizing the scene

 
02:03
Rigging the robot's head
36

Rigging the robot's head

 
08:49
Custom attribute for the neck's base plates
37

Custom attribute for the neck's base plates

 
02:41
Starting on the arms
38

Starting on the arms

 
07:27
Setting up the elbows
39

Setting up the elbows

 
09:07
Adding arm controls
40

Adding arm controls

 
05:08
Constraining the arm groups and connect curves for the elbows
41

Constraining the arm groups and connect curves for the elbows

 
10:14
Dynamically parenting the arms
42

Dynamically parenting the arms

 
02:27
Rigging the fingers
43

Rigging the fingers

 
08:01
Connecting the fingers
44

Connecting the fingers

 
03:11
Creating finger controls
45

Creating finger controls

 
05:38
Wrapping up the hands
46

Wrapping up the hands

 
12:29
Starting to rig the arm pistons.
47

Starting to rig the arm pistons.

 
06:39
Finalizing the pistons
48

Finalizing the pistons

 
12:20
Finishing the robot's rig
49

Finishing the robot's rig

 
08:00
Beginning the truck's rig
50

Beginning the truck's rig

 
03:14
Rigging the truck's wheels
51

Rigging the truck's wheels

 
04:13
Automating the wheel rotation of the truck
52

Automating the wheel rotation of the truck

 
07:14
Finishing the wheel rotation expression
53

Finishing the wheel rotation expression

 
02:53
Rigging the truck's body and controlling the front tires
54

Rigging the truck's body and controlling the front tires

 
05:14
A technique for simulating tire pressure
55

A technique for simulating tire pressure

 
03:21
Wrapping up the tires
56

Wrapping up the tires

 
08:40
Finalizing the transforming robot's rig
57

Finalizing the transforming robot's rig

 
07:08