WEBVTT

1
00:00:00.010 --> 00:00:05.380
Parenting in Blender is a fundamental part of the rigging process.

2
00:00:05.380 --> 00:00:07.340
But what is parenting?

3
00:00:07.340 --> 00:00:12.460
Well, parenting is when you form a parent-child relationship between two objects.

4
00:00:12.460 --> 00:00:16.800
And a parent-child relationship is when a child object inherits the transformations

5
00:00:16.800 --> 00:00:18.380
of a parent object.

6
00:00:18.380 --> 00:00:23.440
However, the child can still have its own local transformations in addition to the transformations

7
00:00:23.440 --> 00:00:25.840
inherited from the parent.

8
00:00:25.840 --> 00:00:29.800
It's kind of like how kids have to follow their parents when their parents move from

9
00:00:29.800 --> 00:00:31.520
one city to another.

10
00:00:31.520 --> 00:00:36.080
But once they're in the new city, the kids can still walk to school on their own.

11
00:00:36.080 --> 00:00:40.400
But why would we want to parent objects to another object?

12
00:00:40.400 --> 00:00:45.000
Oftentimes parenting helps to more easily control the transformation and pivot points

13
00:00:45.000 --> 00:00:48.280
of a group of objects for the sake of animation.

14
00:00:48.280 --> 00:00:53.040
Some examples include parenting fingers to a hand, parenting objects or papers to the

15
00:00:53.040 --> 00:00:57.040
surface of a desk, or parenting leaves to a tree.

16
00:00:57.040 --> 00:00:59.240
Allow me to demonstrate.

17
00:00:59.240 --> 00:01:04.200
Let's take our cube, for example, and duplicate it with Shift-D.

18
00:01:04.200 --> 00:01:07.900
Let's make this duplicate cube our parent object.

19
00:01:07.900 --> 00:01:12.520
Just for visual clarity's sake, let's scale this cube up a bit so that we know for sure

20
00:01:12.520 --> 00:01:14.180
it's the parent cube.

21
00:01:14.180 --> 00:01:20.160
We can then select both cubes using Shift-Left-Click, and then right-click for a context menu.

22
00:01:20.160 --> 00:01:23.100
Go down to Parent and select Object.

23
00:01:23.100 --> 00:01:27.800
For hotkey users, you can press Ctrl-P after you have selected your objects to access the

24
00:01:27.800 --> 00:01:30.280
same parenting menu.

25
00:01:30.280 --> 00:01:35.160
Let's go ahead and start moving, rotating, and scaling our larger cube, and the smaller

26
00:01:35.160 --> 00:01:36.800
cube should follow.

27
00:01:36.800 --> 00:01:39.680
However, it doesn't.

28
00:01:39.680 --> 00:01:44.680
Looks like we parented the wrong cube, and accidentally made the smaller cube the parent

29
00:01:44.680 --> 00:01:45.680
cube.

30
00:01:45.680 --> 00:01:50.080
Since this isn't what we want, let's undo that with Ctrl-Z.

31
00:01:50.080 --> 00:01:51.520
Now why did this happen?

32
00:01:51.520 --> 00:01:56.760
Well, it's very important to make sure you select your intended parent object last.

33
00:01:56.760 --> 00:02:01.080
This will highlight the object in a slightly brighter yellow outline, indicating that it

34
00:02:01.080 --> 00:02:03.160
is the active object.

35
00:02:03.160 --> 00:02:07.160
Once we've ensured that our active object is the one we want to parent our objects

36
00:02:07.160 --> 00:02:10.600
to, we can repeat the parent action again.

37
00:02:10.600 --> 00:02:14.320
Right-click, go to Parenting, and select Object.

38
00:02:14.320 --> 00:02:20.060
Now we can move, rotate, and scale our parent cube, and as you can see, our child cube is

39
00:02:20.060 --> 00:02:22.660
following right along.

40
00:02:22.660 --> 00:02:27.280
An important note with parenting is that the pivot point of the child object is completely

41
00:02:27.280 --> 00:02:31.600
ignored when inheriting parent transformation.

42
00:02:31.600 --> 00:02:35.980
This includes instances where you select both the child and parent objects.

43
00:02:35.980 --> 00:02:42.020
However, transforming the child object still uses the child's local object origin.

44
00:02:42.020 --> 00:02:46.780
In fact, the child can still move around normally while parented, it will simply be influenced

45
00:02:46.780 --> 00:02:50.500
by the parent's transformations in addition to its own.

46
00:02:50.500 --> 00:02:56.020
A parent object can have multiple children objects, but child objects can only have one

47
00:02:56.020 --> 00:02:57.380
parent.

48
00:02:57.380 --> 00:03:02.340
For example, we can add a new cube to the scene by going to the Add menu, going to Mesh,

49
00:03:02.340 --> 00:03:04.200
and selecting Cube.

50
00:03:04.200 --> 00:03:10.180
This new cube does not currently have a parent, but we could parent it to the same large cube

51
00:03:10.180 --> 00:03:12.660
our other cube is parented to.

52
00:03:12.660 --> 00:03:16.460
This will give our larger cube two child cubes.

53
00:03:16.460 --> 00:03:20.560
One fact, if you want three child cubes, you can actually duplicate one of these cubes

54
00:03:20.560 --> 00:03:24.060
and it will still be parented to the same large cube.

55
00:03:24.060 --> 00:03:28.340
However, what if we introduce another parent cube?

56
00:03:28.340 --> 00:03:31.660
Let's say we duplicate the larger cube, so now we have two.

57
00:03:31.660 --> 00:03:37.780
I'm going to name this cube Daddy Cube 1, and this cube Daddy Cube 2.

58
00:03:37.780 --> 00:03:42.940
If we select our child cubes and then parent them to Daddy Cube 2, you'll notice that

59
00:03:42.940 --> 00:03:47.940
all relationship ties to Daddy Cube 1 have been cut.

60
00:03:47.940 --> 00:03:51.660
Transforming Daddy Cube 1 no longer affects the child cubes.

61
00:03:51.660 --> 00:03:57.420
Meanwhile, Daddy Cube 2 now affects the transformations of the child cubes instead.

62
00:03:57.420 --> 00:04:02.660
As you can see, each object can only have one parent, but parents can have multiple

63
00:04:02.660 --> 00:04:03.660
children.

64
00:04:03.660 --> 00:04:06.940
Additionally, we can also have a chain of parents.

65
00:04:06.940 --> 00:04:12.900
If we select Daddy Cube 2 and then select Daddy Cube 1, we can actually make Daddy Cube

66
00:04:12.900 --> 00:04:16.660
1 the parent of Daddy Cube 2.

67
00:04:16.660 --> 00:04:23.260
This will also make Daddy Cube 1 the grandparent, in a way, of our three child cubes.

68
00:04:23.260 --> 00:04:28.800
This chain of parents can go on for as long as you like, but it can't form a loop.

69
00:04:28.800 --> 00:04:34.260
In other words, if you try to parent Daddy Cube 1 to any of its own children or grandchildren

70
00:04:34.260 --> 00:04:39.580
cubes, Blender will prevent you from doing so, as that will form a cyclic dependency,

71
00:04:39.580 --> 00:04:42.040
which is kind of like dividing by zero.

72
00:04:42.040 --> 00:04:45.760
This is the basic idea behind parenting, but it's important to know that it doesn't apply

73
00:04:45.760 --> 00:04:47.780
to only objects.

74
00:04:47.780 --> 00:04:51.140
Parenting works for bones and empties as well.

75
00:04:51.140 --> 00:04:55.940
Bones are what armature objects are made of, also known as rigs or skeletons.

76
00:04:55.940 --> 00:05:02.340
We'll go more into detail about bones in another video, but you can also parent things to empties.

77
00:05:02.340 --> 00:05:06.600
These are objects that contain little to no data except their own basic transformation

78
00:05:06.600 --> 00:05:07.600
data.

79
00:05:07.600 --> 00:05:14.000
They're invisible at render, and are typically used for purposes of organization or reference.

80
00:05:14.000 --> 00:05:17.980
You can find them in the Add menu, and can parent them in exactly the same way we did

81
00:05:17.980 --> 00:05:20.580
before with our cubes.

82
00:05:20.580 --> 00:05:25.380
Parenting objects to empties is a common practice, as you'll be able to transform and deform

83
00:05:25.380 --> 00:05:30.720
multiple objects at once very easily if they're all parented to the same empty.

84
00:05:30.740 --> 00:05:34.720
My favorite example of this is when working with environments that contain multiple objects

85
00:05:34.720 --> 00:05:36.080
and props.

86
00:05:36.080 --> 00:05:40.460
By parenting all of the environment objects to an empty, you can transform the entire

87
00:05:40.460 --> 00:05:43.880
set very easily with one movement.

88
00:05:43.880 --> 00:05:47.860
As an added bonus, the empty itself does not appear at render time.

89
00:05:47.860 --> 00:05:51.760
This makes it even easier to manually control where the pivot point for your group of objects

90
00:05:51.760 --> 00:05:54.320
will be for transformation.

91
00:05:54.320 --> 00:05:58.840
Now real quick, you may be wondering, how do we unparent an object?

92
00:05:58.840 --> 00:06:00.400
Well, that's simple.

93
00:06:00.400 --> 00:06:05.080
Simply select the object or objects you would like to unparent, and right-click for a context

94
00:06:05.080 --> 00:06:06.280
menu.

95
00:06:06.280 --> 00:06:09.720
Then go to Parent, Clear Parent.

96
00:06:09.720 --> 00:06:15.180
For hotkey users, you can press Alt-P to bring up the Unparenting menu.

97
00:06:15.180 --> 00:06:19.940
You might also be curious about what the Clear and Keep Transformation option is for.

98
00:06:19.940 --> 00:06:25.200
This is used for cases where the object you're trying to unparent has already inherited transformation

99
00:06:25.200 --> 00:06:29.900
from its parent for a while, and you want to keep that transformation, but removing

100
00:06:29.900 --> 00:06:34.540
the parent-child relationship actually removes that transformation entirely.

101
00:06:34.540 --> 00:06:41.040
So instead, you want to choose Clear and Keep Transformation under the Unparenting menu.

102
00:06:41.040 --> 00:06:45.460
As you can see, despite being unparented, the object has not moved from its previous

103
00:06:45.460 --> 00:06:47.860
location, rotation, and scale.

104
00:06:47.860 --> 00:06:52.260
If you simply choose Clear Parent, it will clear all inherited transformation from the

105
00:06:52.260 --> 00:06:56.860
parent and return it to where it would have been if it was never parented at all.

