WEBVTT

00:00.210 --> 00:04.320
In this lesson, we're going to learn all about constraints, and if you've watched the rigging portion

00:04.320 --> 00:08.630
of this course, you'll have already gotten a pretty good understanding about constraints.

00:09.030 --> 00:12.180
But in this case, we're animating we're not building a rig.

00:12.180 --> 00:19.350
So how do we use constraints in this instance where we have the robot and it goes down and the arm needs

00:19.350 --> 00:21.120
to pinch down on it?

00:21.120 --> 00:24.600
So let's create that pinching effect and then it needs to pick up the box.

00:24.600 --> 00:26.350
So we're going to do that with constraints.

00:26.370 --> 00:28.650
So let's get this to pinch.

00:29.520 --> 00:32.010
Should close around frame Harish.

00:33.110 --> 00:37.820
And we can make an antique here as well, because we're not all the way to 10 yet, so we can have it

00:37.820 --> 00:44.450
open all the way and then slam shut and we can make this linear.

00:44.450 --> 00:50.630
So we keep the consistency of what we've established already for what the robot, how the robot moves

00:50.630 --> 00:51.190
with the claw.

00:52.070 --> 00:54.440
And let's just give ourselves even more time here.

00:54.500 --> 00:55.540
Drag this thing out.

00:57.640 --> 01:08.830
So let's say we have it go down clamps and then now let's see maybe eight frames after it's clamped.

01:09.180 --> 01:11.420
Let's count one, two, three, four, five, six, seven, eight.

01:12.070 --> 01:14.140
Or we could just do the math, eight plus six.

01:15.190 --> 01:20.140
Let's have this robot go up and pick up the box.

01:21.280 --> 01:26.050
So let's have it go up, and I think it should go up slower because now it has a little weight.

01:28.210 --> 01:36.120
So we'll drag it up and let's compare the kind of wide translation motion we can see, it is slower,

01:36.160 --> 01:38.500
you know, this would be super slow, right?

01:38.530 --> 01:41.770
This slope is longer and not a seat.

01:42.610 --> 01:47.890
And so we want it to just be slightly slower than it was before.

01:48.190 --> 01:53.400
And we could even because these are weighted tangents now, we can actually minimize drag this out.

01:53.410 --> 01:54.850
So it has a really slow start.

01:54.850 --> 01:55.280
Right.

01:55.330 --> 01:57.040
We could drag a super out like this.

01:57.910 --> 02:01.120
So now we'll have a pretty slow start.

02:02.140 --> 02:03.250
Yeah, I like that.

02:05.620 --> 02:08.390
So now the only problem is the fact that the box isn't going with it.

02:08.950 --> 02:13.660
So how do we animate that constraint that we're going to make?

02:14.320 --> 02:15.910
Well, that's pretty easy.

02:16.520 --> 02:19.220
Let's find the frame where we can kind of set this.

02:19.240 --> 02:25.960
You basically need to choose one frame and it needs to match, you know, where the box is going to

02:25.960 --> 02:28.660
exist on the thing it's constrained to.

02:28.840 --> 02:29.140
Right.

02:29.150 --> 02:31.360
We don't want to constrain the box to this.

02:31.360 --> 02:32.440
And it's not on it.

02:32.470 --> 02:32.860
Right.

02:33.030 --> 02:35.620
It needs to be where it's going to be when we constrain it.

02:36.760 --> 02:38.680
So let's select this.

02:39.040 --> 02:42.040
If we click on the box, let's kind of see how that's set up in the outliner.

02:42.040 --> 02:43.150
We've got a windows.

02:43.310 --> 02:47.620
Let's go to outliner so we can see there's a box geo group.

02:48.160 --> 02:53.560
And in general, whenever you're constraining things, if there's an opportunity to constrain it to

02:53.590 --> 02:56.890
something other than itself in a hierarchy, you always want to go above it.

02:57.280 --> 03:02.080
So we have this empty group here and we can use this to constrain it because guess what?

03:02.110 --> 03:04.050
This controls the box, too.

03:04.660 --> 03:09.250
So instead of using the box constraint, we're going to use the group, because if you remember from

03:09.250 --> 03:13.180
rigging, as soon as we make a constraint, it's going to lock all of these channels.

03:13.450 --> 03:17.890
So for some reason, we wanted to animate maybe the box slips a little bit when it is getting picked

03:17.890 --> 03:18.130
up.

03:18.610 --> 03:21.300
We wouldn't be able to do that if we had controls here.

03:21.310 --> 03:21.700
Right.

03:22.810 --> 03:26.980
So we want to put this on whatever is above this in the hierarchy.

03:27.340 --> 03:30.070
And if this wasn't already there, we could make it.

03:30.070 --> 03:30.850
We can make another one.

03:30.860 --> 03:32.020
We could have two groups above us.

03:32.020 --> 03:32.820
We can just take command.

03:33.550 --> 03:36.970
And then we have another group and we can call this number two.

03:38.140 --> 03:44.980
And now we have a group within a group so we can make this hierarchy for ourselves if we want to.

03:44.980 --> 03:49.690
This is what's important about having a little bit of a technical knowledge, even as an animator,

03:49.690 --> 03:54.610
because there might be instances where you need to create your own tiny little rigs, even if it's just

03:54.610 --> 03:57.100
like an empty group there above a piece of geometry.

03:57.430 --> 04:02.230
It's important to understand the concepts and how these things work together because it won't always

04:02.230 --> 04:03.040
be handed to you.

04:03.040 --> 04:03.370
Right.

04:03.370 --> 04:07.750
Even if you work at a studio with some of the most talented people, even though they could do this

04:07.750 --> 04:11.350
for you like a rig or something, they just might not have the time.

04:11.590 --> 04:16.150
So you need to have a little bit of understanding so that you can do the stuff for yourself.

04:16.600 --> 04:20.650
Even as an animator, if that's all you're interested is animating, you still need to know this stuff.

04:21.070 --> 04:21.600
OK, cool.

04:21.610 --> 04:23.380
So let's actually make the constraint now.

04:23.380 --> 04:26.470
Let's go to the we can go to the rigging or the animation menu.

04:27.070 --> 04:27.880
They're both there.

04:27.880 --> 04:32.710
We could also hit spacebar in the middle of the viewport or not in the middle really anywhere in the

04:32.710 --> 04:33.190
viewport.

04:33.940 --> 04:37.000
And now we have the same menu here.

04:37.000 --> 04:38.050
We have constraint here.

04:38.410 --> 04:40.990
So I like to keep it in animation.

04:41.050 --> 04:41.950
That's what we're doing.

04:41.950 --> 04:43.660
So let's let's go to the animation.

04:43.900 --> 04:46.630
It's the same menu and we can tear that off.

04:47.110 --> 04:53.770
And again, you know, if you followed rigging in the earlier part of this course, then you are familiar

04:53.770 --> 04:55.660
with all these different types of constraints already.

04:56.080 --> 04:58.030
What we're interested in is the parent constraint.

04:58.040 --> 05:00.580
So let's open up the option box of that and close this little menu.

05:01.270 --> 05:06.730
So we have only really one option we need to be concerned about, and that's maintain, offset or not.

05:07.120 --> 05:12.130
And typically you want to maintain offset because like I said earlier, you'll have placed this thing

05:12.130 --> 05:13.180
where you want it to be.

05:13.750 --> 05:16.360
So when you want the constraint to turn on.

05:16.540 --> 05:21.190
So first we need to select the thing that's going to control it and then the child.

05:21.190 --> 05:21.540
Right.

05:21.730 --> 05:23.640
But remember, we don't want to select the geometry.

05:23.640 --> 05:25.120
You want to select the group.

05:25.540 --> 05:29.560
So let's go up here to the outliner and hit command click.

05:30.280 --> 05:36.940
And now we have the group and we can apply with maintain offset meaning there's an offset between these

05:36.940 --> 05:37.690
two pivot points.

05:37.690 --> 05:39.760
The pivot point for this control is up here.

05:40.090 --> 05:42.280
The pivot point for this box is over here.

05:42.640 --> 05:47.680
If we don't have maintain offset on, it's going to snap the pivots to each other and we don't want

05:47.680 --> 05:47.830
that.

05:47.830 --> 05:52.750
We want to maintain this offset between this pivot and that pivot, the distance between those.

05:53.120 --> 05:54.700
That's what the offset means.

05:54.700 --> 05:56.790
Maintain, offset, maintain that distance.

05:57.220 --> 05:59.350
So when we hit apply, it doesn't snap over there.

05:59.350 --> 06:06.460
It stays where it is, except for the fact when the parent here gets moved by its own parent, really

06:06.460 --> 06:08.230
in the hierarchy, this is its parent.

06:08.530 --> 06:11.890
But when that moves in the animation we've already made, the box goes with it.

06:12.630 --> 06:16.360
The problem now is the fact that it's constrained.

06:16.360 --> 06:17.860
So it's always going to be following it.

06:17.860 --> 06:22.000
But we only want this to, you know, get picked up around here.

06:22.000 --> 06:23.530
Let's say frame one fifteen.

06:24.070 --> 06:26.650
So what we can go to is the actual constraint.

06:27.130 --> 06:31.000
And in this constraint, we have the pincher control over here.

06:31.000 --> 06:35.440
And this is why it's also important to name everything properly when you're rigging, because it's easier

06:35.440 --> 06:37.510
to identify when you do constraints like this.

06:37.930 --> 06:41.290
So what we can say is right, click and go to key selected.

06:41.590 --> 06:43.210
So one means on.

06:43.510 --> 06:47.050
And if we go to the frame right before it, we can say zero.

06:47.650 --> 06:52.550
And because we have auto keyframe on over here, it's going to automatically set a key when we change

06:52.550 --> 06:53.180
that value.

06:53.200 --> 06:59.620
So when I close this and when we scrub backward now, we can see it stays there until this key frame

06:59.620 --> 07:01.210
that we made for the constraint itself.

07:02.020 --> 07:04.750
Now, the most important thing to remember with.

07:04.790 --> 07:12.400
Constraints is when you retiming things, it's really easy to forget that you have things constrained

07:12.670 --> 07:18.340
when, let's say we wanted to move all of this animation over like 30 frames or something.

07:18.340 --> 07:18.650
Right.

07:18.970 --> 07:20.560
We moved all this stuff over.

07:20.970 --> 07:23.500
I didn't move the animation of the constraint.

07:23.920 --> 07:27.480
So the constraint is going to get popped on before we want to see right there.

07:27.490 --> 07:28.360
It's already started.

07:28.660 --> 07:32.820
And let me just exaggerate this even more so you can kind of see it more clearly.

07:33.520 --> 07:39.370
We moved all this animation way over as we scrub through and we get to that key frame, I think was

07:39.370 --> 07:39.970
one 15.

07:39.970 --> 07:40.270
Right.

07:40.540 --> 07:41.670
It'll pop up there.

07:41.710 --> 07:42.850
That is not what we want.

07:43.150 --> 07:44.770
You know, we wanted to retime everything.

07:44.780 --> 07:49.600
So the key frames are going to exist on this constraint.

07:49.600 --> 07:50.800
Note here that we made.

07:51.100 --> 07:57.980
So if we're going to select everything we need to remember to include this little group here, this

07:58.000 --> 08:01.270
are not the group, but this node is really what it's called a node.

08:01.990 --> 08:06.940
So we would select all of the controls and accidentally selected the box, but there's no keyframes

08:06.940 --> 08:07.120
on it.

08:07.120 --> 08:10.570
So it won't really matter because there's no you know, there's no keyframes on it.

08:10.570 --> 08:12.730
So there's nothing to select on here in the timeline for it.

08:13.210 --> 08:18.000
But if we command click this, we can see that we that little extra key popped up here.

08:18.010 --> 08:19.120
Let me come in and click that again.

08:19.540 --> 08:26.370
Look at frame 115 and we can see now there's that frame and we know it's selected.

08:26.380 --> 08:33.640
So if I click and every time this whole thing slide it over here again, we can see that when we scrub.

08:35.200 --> 08:37.270
It is actually still following along.

08:38.950 --> 08:39.350
Cool.

08:40.000 --> 08:45.730
So in this lesson, we've learned about constraints and how to have things, you know, follow something

08:45.730 --> 08:48.880
else that we already have animated or animated, too.

08:49.360 --> 08:52.960
So definitely I would encourage you to have fun with this.

08:53.380 --> 08:58.420
If you're kind of bored with this example and you want to make it more interesting, then I challenge

08:58.420 --> 09:01.810
you to make to make it more interesting.

09:01.810 --> 09:06.700
You know, when you look at this animation and you're always kind of evaluating, OK, this looks boring.

09:06.710 --> 09:07.840
I don't really know why.

09:08.170 --> 09:10.120
Start asking yourself questions.

09:10.120 --> 09:10.960
Well, what could I do?

09:10.960 --> 09:11.160
Right.

09:11.260 --> 09:12.760
What can I do to make this more interesting?

09:13.240 --> 09:19.960
Well, I can tell you for this example, you could, you know, the path of motion, which is another

09:20.150 --> 09:21.520
it's not really a principle of animation.

09:21.670 --> 09:22.720
It's more of a concept.

09:23.980 --> 09:25.720
But there's this path of the motion.

09:26.020 --> 09:31.000
The path of motion we've created for this thing is very linear, meaning it's very straight.

09:31.450 --> 09:31.810
Right.

09:31.810 --> 09:36.270
It's a straight line and it goes from point A to point B..

09:36.700 --> 09:42.850
Well, what I think would be more interesting would be, you know, take advantage of the fact this

09:42.850 --> 09:43.530
is 3-D.

09:43.620 --> 09:47.410
Always think, am I taking advantage of the fact that this is 3-D?

09:47.710 --> 09:51.570
If you're not, then you might as well be drawing this with a pencil and paper.

09:51.850 --> 09:52.200
Right.

09:52.210 --> 09:55.930
But for for us, we could move this thing in three dimensions.

09:55.930 --> 09:57.340
It could be over here.

09:57.610 --> 10:03.160
And the Antec could be, you know, whatever it is, we could rotate this thing and it could be a rotation

10:03.160 --> 10:03.520
thing.

10:03.520 --> 10:03.880
Right.

10:05.080 --> 10:06.970
You know, get creative with this.

10:06.970 --> 10:08.830
Make the Antec be more interesting.

10:08.980 --> 10:10.000
Add rotation.

10:10.570 --> 10:15.880
You could have this have a more interesting path of motion.

10:16.450 --> 10:19.060
So maybe it travels down and it's rotated.

10:19.060 --> 10:24.300
The whole thing is rotated back and then it goes up.

10:24.310 --> 10:24.760
Look at that.

10:24.760 --> 10:26.080
That's already more interesting.

10:26.080 --> 10:30.970
But again, we need to remember how we've set up all of these animations.

10:30.970 --> 10:36.730
You can see down here, if we got a chance, like why this didn't really like that.

10:36.730 --> 10:42.520
We didn't have a keyframe over here at S, and we can bring this back up to the level that we need it

10:42.520 --> 10:45.790
to be to to kind of have the tail to settle.

10:46.210 --> 10:51.130
But I mean, even in that one key frame, that one little thing, it's to me it's already more interesting,

10:51.520 --> 10:55.660
the kind of little duck, you know, it moves in another axis.

10:55.870 --> 10:56.260
Right.

10:56.560 --> 10:57.670
Previously was moving in.

10:57.670 --> 10:58.590
One axis was moving.

10:58.600 --> 11:00.580
The X axis was going from right to left.

11:00.580 --> 11:01.870
And that's it in a straight line.

11:02.260 --> 11:07.510
But now we made an in-between right in between two key frames.

11:07.810 --> 11:11.350
We added a key and it added some interest here.

11:11.470 --> 11:11.900
Right.

11:12.520 --> 11:21.010
So I challenge you to use this exercise as a chance to experiment and play around with how do I make

11:21.010 --> 11:21.730
this more interesting?

11:21.730 --> 11:23.110
It's a pretty simple example.

11:23.620 --> 11:29.540
But you know that to me, the most fascinating thing about animation is when you can take a simple,

11:29.560 --> 11:33.010
simple example and really make it interesting.

11:33.520 --> 11:35.950
And that will get people's attention right.

11:36.220 --> 11:37.390
Their expectations.

11:37.900 --> 11:43.600
When they see something simple, like a little robot like this, it might be not very high, but if

11:43.600 --> 11:48.290
you if you do something pretty interesting with it, that's what grabs people's attention.

11:48.340 --> 11:48.660
Right.

11:49.150 --> 11:53.950
So even something you know, we took two seconds here and added, you know, one or two little keyframes.

11:53.950 --> 11:55.900
And it already looks more interesting.

11:56.140 --> 11:59.050
And what I would do is, of course, add an overshoot to this.

11:59.380 --> 12:00.430
You know, it hits this wall.

12:00.430 --> 12:03.190
Here it goes, Pop, and it just pops right there.

12:03.580 --> 12:05.440
So now we add this up and down motion.

12:05.930 --> 12:07.960
Should probably add an overshoot vertically here.

12:08.290 --> 12:12.730
So let's bring this up and over a little bit.

12:13.600 --> 12:18.280
And then I'm just going to middle mouse drag this key over here and set a key.

12:18.730 --> 12:20.860
So I basically copy and paste it with that.

12:21.220 --> 12:23.590
So I like super wonky.

12:23.590 --> 12:25.780
I think the Y translates messed up.

12:26.350 --> 12:26.770
Yeah.

12:26.770 --> 12:27.850
Let's just bring that back.

12:32.740 --> 12:38.350
So we have a little bit of a settle there, but anyway, you get the idea to use these principles in

12:38.350 --> 12:41.130
these concepts, make this your own, OK?

12:41.170 --> 12:47.770
And in the next lesson, we'll continue learning animation and some more advanced concepts and practices

12:47.770 --> 12:48.610
and exercises.

12:48.940 --> 12:49.300
All right.

12:49.300 --> 12:50.590
Thanks for watching by.
