WEBVTT 1 00:00:05.143 --> 00:00:10.519 Animation Basics Rigging Basic 1 2 00:00:25.356 --> 00:00:26.491 Hello 3 00:00:26.491 --> 00:00:30.495 This is Park Joo-Yeong, and I am teaching you about the basics of 3D animation 4 00:00:30.495 --> 00:00:33.663 This time, you will learn about rigging 5 00:00:33.663 --> 00:00:37.972 Rigging is the process of creating the skeleton of a character or object 6 00:00:37.972 --> 00:00:40.713 in order to allow them to move 7 00:00:40.713 --> 00:00:43.254 A skeleton allows the animator 8 00:00:43.254 --> 00:00:44.931 to control the character 9 00:00:44.931 --> 00:00:49.040 So rigging is like setting up controller of sorts 10 00:00:49.040 --> 00:00:50.911 In other words 11 00:00:50.911 --> 00:00:54.000 you are preparing to put the character in motion 12 00:00:54.000 --> 00:00:57.282 In Maya, you first create a skeleton within the character model 13 00:00:57.282 --> 00:00:59.370 then connect the two 14 00:00:59.370 --> 00:01:01.901 to become able to apply movements 15 00:01:01.901 --> 00:01:05.564 The connecting process is called binding 16 00:01:05.564 --> 00:01:06.705 The controller 17 00:01:06.705 --> 00:01:08.909 also has to be intuitive 18 00:01:08.909 --> 00:01:12.693 in order for the animator to easily utilize it 19 00:01:12.693 --> 00:01:13.987 Through this lesson 20 00:01:13.987 --> 00:01:16.105 you will understand the basic concept of rigging 21 00:01:16.105 --> 00:01:18.154 and some important techniques 22 00:01:18.154 --> 00:01:20.153 I will help you learn 23 00:01:20.153 --> 00:01:22.960 how to bring your characters to life 24 00:01:22.960 --> 00:01:24.584 Now, let's turn on Maya 25 00:01:25.183 --> 00:01:28.946 Creating a Basic Skeleton 26 00:01:30.000 --> 00:01:34.272 Today we will create 27 00:01:34.272 --> 00:01:37.355 a skeleton rig 28 00:01:37.355 --> 00:01:38.733 that can make a character move 29 00:01:41.208 --> 00:01:43.712 Maya uses both the terms 30 00:01:43.712 --> 00:01:45.416 'joint' and 'skeleton' 31 00:01:47.495 --> 00:01:51.463 First, let's take out 32 00:01:51.463 --> 00:01:53.248 the teddy bear we created before 33 00:01:58.149 --> 00:02:01.782 To make this teddy bear move 34 00:02:01.782 --> 00:02:06.318 we are going to give it joints 35 00:02:06.318 --> 00:02:08.109 in the arms, hips, legs, and head 36 00:02:11.129 --> 00:02:11.871 And also the tail 37 00:02:14.208 --> 00:02:17.850 To create a skeleton 38 00:02:17.850 --> 00:02:20.347 first view the model from the front 39 00:02:25.485 --> 00:02:28.970 And set the menu to the Rigging menu set 40 00:02:28.970 --> 00:02:32.287 Now the menu bar should show the Skeleton option 41 00:02:32.287 --> 00:02:36.436 Click Skeleton-Create Joints 42 00:02:39.515 --> 00:02:44.772 and click anywhere on the workspace 43 00:02:44.772 --> 00:02:46.739 This rig is too big 44 00:02:46.739 --> 00:02:50.931 It should have a radius of about 0.1 45 00:02:54.059 --> 00:02:57.827 This single joint 46 00:02:57.827 --> 00:03:02.031 is going to be the root joint 47 00:03:02.031 --> 00:03:03.020 and be placed in the model's center 48 00:03:05.020 --> 00:03:09.951 I'll set this as the root 49 00:03:09.951 --> 00:03:13.139 Even though the joint radius is 0.1 50 00:03:13.139 --> 00:03:16.010 it's still too big 51 00:03:16.010 --> 00:03:20.530 I made the teddy bear 52 00:03:20.530 --> 00:03:22.168 way too small 53 00:03:23.683 --> 00:03:27.299 In Maya, a side on this cube 54 00:03:27.299 --> 00:03:29.959 is the size of a single square on the grid 55 00:03:29.959 --> 00:03:32.693 which is 1 square centimeter 56 00:03:32.693 --> 00:03:36.812 So this teddy bear is about one cubic centimeter large 57 00:03:36.812 --> 00:03:39.933 Let's scale it up 58 00:03:39.933 --> 00:03:41.208 to 20 times the size 59 00:03:48.089 --> 00:03:52.599 What I just did is I scaled this bear up by 20 times 60 00:03:52.599 --> 00:03:55.178 and froze the transformation 61 00:03:59.228 --> 00:04:00.732 The Freeze Transformation tool 62 00:04:00.732 --> 00:04:02.951 can also be found in the Channel Box 63 00:04:02.951 --> 00:04:06.478 Right click, select Freeze 64 00:04:06.478 --> 00:04:09.406 And you can choose from Translate, Rotate, and Scale 65 00:04:09.406 --> 00:04:12.593 Right now I'm going to click All 66 00:04:12.593 --> 00:04:14.416 and the transformation is frozen 67 00:04:14.416 --> 00:04:16.178 like this 68 00:04:16.178 --> 00:04:18.230 But now the teddy's arm 69 00:04:18.230 --> 00:04:20.525 has turned black 70 00:04:20.525 --> 00:04:22.475 This has happened 71 00:04:22.475 --> 00:04:28.287 because I mirrored the limbs by setting Scale X to -1 72 00:04:28.287 --> 00:04:29.802 Right now it's fine 73 00:04:29.802 --> 00:04:34.069 but freezing it turns the model inside out 74 00:04:34.069 --> 00:04:37.554 So you have to select these 75 00:04:37.554 --> 00:04:41.970 and select Modeling-Mesh Display Reverse 76 00:04:43.891 --> 00:04:47.584 All of these planes have a front and a back 77 00:04:47.584 --> 00:04:51.337 So the front side is white, and the back side is black 78 00:04:51.337 --> 00:04:59.594 If you put a texture on, the front side will be textured 79 00:04:59.594 --> 00:05:01.465 but the back side will still be black 80 00:05:01.465 --> 00:05:09.059 If I select Mesh Display Reverse 81 00:05:09.059 --> 00:05:12.426 the polygon looks weird 82 00:05:12.426 --> 00:05:13.950 even with Smooth Mesh Preview on 83 00:05:20.495 --> 00:05:22.733 Back to the model 84 00:05:22.733 --> 00:05:27.119 Now the rig looks small enough 85 00:05:28.842 --> 00:05:32.564 Make sure the root is at the model's center 86 00:05:35.446 --> 00:05:41.277 Now copy & paste the rig 87 00:05:41.277 --> 00:05:45.307 to the center 88 00:05:45.307 --> 00:05:47.683 of the character's waist 89 00:05:47.683 --> 00:05:49.465 Until now, I have copied 90 00:05:49.465 --> 00:05:52.485 using Edit-Duplicate 91 00:05:52.485 --> 00:05:54.366 but the keyboard shortcut is Ctrl+D 92 00:05:59.069 --> 00:06:03.653 Now, if I press 4 93 00:06:03.653 --> 00:06:08.248 you can see the rig that's inside the model 94 00:06:08.248 --> 00:06:10.307 If you press 5 or 6, it will become invisible 95 00:06:10.307 --> 00:06:14.624 You can click the X-ray joints button 96 00:06:14.624 --> 00:06:18.416 to make joints always invisible 97 00:06:18.416 --> 00:06:20.772 Also, normally joints 98 00:06:23.970 --> 00:06:27.515 should be placed on the model's wires 99 00:06:27.515 --> 00:06:31.663 But the wires are only visible right now if you press 4 100 00:06:31.663 --> 00:06:34.010 So if you look here 101 00:06:34.010 --> 00:06:36.000 next to the View tab 102 00:06:36.000 --> 00:06:36.678 in Shading 103 00:06:38.965 --> 00:06:41.515 there is an option called Wireframe on Shaded 104 00:06:41.515 --> 00:06:44.436 Press this 105 00:06:46.584 --> 00:06:49.069 Now paste another rig 106 00:06:51.119 --> 00:06:52.921 There's a rig on the waist 107 00:06:52.921 --> 00:06:54.980 and press Ctrl+D 108 00:06:54.980 --> 00:06:58.634 to paste another one on the neck 109 00:06:58.634 --> 00:07:05.115 Now take 'root1' in the Overview 110 00:07:05.115 --> 00:07:08.673 and make it a child joint of 'root' 111 00:07:08.673 --> 00:07:13.218 and 'root2' will be a child joint of 'root1' 112 00:07:13.218 --> 00:07:17.842 I'm going to change root1's name to spine 113 00:07:17.842 --> 00:07:21.653 and change root2 to neck 114 00:07:24.218 --> 00:07:26.059 This is the teddy bear's spine, sort of 115 00:07:27.881 --> 00:07:29.119 It looks like this 116 00:07:29.119 --> 00:07:29.871 And now 117 00:07:35.158 --> 00:07:39.762 we're going to make the limbs 118 00:07:46.743 --> 00:07:50.079 Let's change to the Rigging menu set 119 00:07:50.079 --> 00:07:53.515 and select Skeleton-Create Joints again 120 00:07:56.485 --> 00:07:57.614 There will be two bones each 121 00:08:00.416 --> 00:08:04.069 let's start from the arms 122 00:08:04.069 --> 00:08:08.233 Select the points 123 00:08:08.233 --> 00:08:09.743 where you think joints should be 124 00:08:16.832 --> 00:08:19.184 Make sure to change the axis orientation 125 00:08:19.184 --> 00:08:20.970 from world to object 126 00:08:29.218 --> 00:08:31.733 The upper joint 127 00:08:31.733 --> 00:08:37.396 will be arm1_Left 128 00:08:40.505 --> 00:08:45.584 and the lower one arm2_Left 129 00:08:45.584 --> 00:08:49.089 The last will of course be arm3_Left 130 00:08:53.426 --> 00:08:56.129 The arms should be symmetrical 131 00:09:02.465 --> 00:09:07.020 So press Ctrl+D to copy a joint 132 00:09:07.020 --> 00:09:09.371 then press Ctrl+G 133 00:09:09.371 --> 00:09:13.030 and set Scale X to -1 134 00:09:14.871 --> 00:09:15.395 But 135 00:09:24.257 --> 00:09:26.327 actually it's better 136 00:09:26.327 --> 00:09:28.248 to just make one from scratch 137 00:09:30.149 --> 00:09:32.406 Click Create Joint 138 00:09:36.634 --> 00:09:41.168 Select the group of joints we just made 139 00:09:41.168 --> 00:09:43.756 and click Isolate Select 140 00:09:43.756 --> 00:09:46.347 and you can see the joints 141 00:09:46.347 --> 00:09:49.752 Click the new joint while pressing V 142 00:09:51.465 --> 00:09:55.713 This function is called point snap or vertex snap 143 00:09:55.713 --> 00:10:01.363 The new joint 144 00:10:01.363 --> 00:10:03.208 will snap to the joint axis 145 00:10:03.208 --> 00:10:04.341 How do you do that again? 146 00:10:04.341 --> 00:10:06.923 Press and hold V 147 00:10:06.923 --> 00:10:10.356 and click on the joint with the mouse wheel 148 00:10:10.356 --> 00:10:13.881 Press Ctrl+G 149 00:10:13.881 --> 00:10:17.713 and just like before 150 00:10:19.594 --> 00:10:21.089 add it as a child joint 151 00:10:23.941 --> 00:10:26.976 Unlike when I created the other arm 152 00:10:26.976 --> 00:10:29.663 the axis orientation is set to world 153 00:10:29.663 --> 00:10:32.165 If you look closely, this joint 154 00:10:32.165 --> 00:10:37.406 has its wires aligned with the bone 155 00:10:37.406 --> 00:10:39.033 But this joint's wires 156 00:10:39.033 --> 00:10:42.178 aren't aligned with the bone 157 00:10:42.178 --> 00:10:46.464 In this situation, select Skeleton-Orient Joint 158 00:10:46.464 --> 00:10:49.564 and click Apply in the Options box 159 00:10:58.554 --> 00:11:01.366 Now the joint is reoriented 160 00:11:01.366 --> 00:11:05.317 Rather than the joint 161 00:11:07.208 --> 00:11:10.029 being oriented with the world 162 00:11:10.029 --> 00:11:11.990 it should be oriented with the local axis 163 00:11:14.000 --> 00:11:18.797 You can learn more about this 164 00:11:18.797 --> 00:11:21.426 when you get to professional rigging 165 00:11:23.366 --> 00:11:25.755 This time we're learning the basics 166 00:11:25.755 --> 00:11:28.782 so I won't go too deep into that 167 00:11:28.782 --> 00:11:34.535 Now let's change the joint names again 168 00:11:34.535 --> 00:11:38.047 In rigging 169 00:11:38.047 --> 00:11:40.772 it's important to name the joints 170 00:11:40.772 --> 00:11:41.620 because you can get confused 171 00:11:41.620 --> 00:11:44.921 as the number of joints increase 172 00:11:46.624 --> 00:11:49.339 Which is why you should change the joint names 173 00:11:49.339 --> 00:11:51.109 as you create them 174 00:11:53.871 --> 00:11:55.297 Now let's rig the legs 175 00:11:57.465 --> 00:12:01.267 I'll rig the legs while viewing from the side 176 00:12:03.337 --> 00:12:07.762 We don't need the other parts right now 177 00:12:07.762 --> 00:12:10.857 So I'll select all the existing joints 178 00:12:10.857 --> 00:12:15.347 You can see there is a Layers menu on the right 179 00:12:15.347 --> 00:12:19.271 Click Layers from the Display tab 180 00:12:19.271 --> 00:12:24.168 and create a layer out of the selected joints 181 00:12:24.168 --> 00:12:26.979 Clicking on the rightmost icon 182 00:12:26.979 --> 00:12:29.459 will create a new layer 183 00:12:29.459 --> 00:12:32.000 that includes everything currently selected 184 00:12:32.000 --> 00:12:34.743 You can turn layers on and off 185 00:12:34.743 --> 00:12:39.917 I created a layer to hide these joints 186 00:12:39.917 --> 00:12:42.337 so I'll name the layer 'hide' 187 00:12:42.337 --> 00:12:46.762 Now click Skeleton-Create Joints again 188 00:12:46.762 --> 00:12:49.184 and select a point on the upper part of the leg 189 00:12:49.184 --> 00:12:51.525 about where the leg begins 190 00:12:51.525 --> 00:12:56.703 Another where the knee joint will be 191 00:12:58.812 --> 00:13:00.941 And another where the foot is 192 00:13:03.188 --> 00:13:05.743 That's it for the leg 193 00:13:05.743 --> 00:13:12.838 It's important to rig legs 194 00:13:12.838 --> 00:13:17.475 so that there is a slight bend on the knee 195 00:13:17.475 --> 00:13:20.359 That is because later on 196 00:13:20.359 --> 00:13:22.832 we're going to add a controller called IK 197 00:13:22.832 --> 00:13:26.105 which will only work if this joint 198 00:13:26.105 --> 00:13:26.950 is slightly bent by default 199 00:13:29.317 --> 00:13:32.969 Then Ctrl+D to copy 200 00:13:32.969 --> 00:13:35.089 and let's paste it onto the other leg 201 00:13:39.366 --> 00:13:45.347 Name this joint leg1_Left 202 00:14:11.574 --> 00:14:15.839 There are various ways 203 00:14:15.839 --> 00:14:18.359 such as MEL scripts 204 00:14:18.359 --> 00:14:21.267 that you can use to more conveniently name joints 205 00:14:21.267 --> 00:14:25.564 But that isn't the priority right now 206 00:14:25.564 --> 00:14:28.091 At the start, you should try naming them 207 00:14:28.091 --> 00:14:29.475 one by one, to help get a hang of things 208 00:14:31.700 --> 00:14:35.581 The toe is toe_Right 209 00:14:38.000 --> 00:14:42.545 Now let's turn the hide layer back on 210 00:14:42.545 --> 00:14:45.116 Lastly, select the neck joint 211 00:14:45.116 --> 00:14:48.446 Press Ctrl+D and drag 212 00:14:48.446 --> 00:14:50.901 and add the new joint as a child to neck 213 00:14:50.901 --> 00:14:55.376 I'm going to name it 'head' 214 00:14:55.376 --> 00:14:58.366 I won't make separate joints for the ears 215 00:14:58.366 --> 00:14:59.317 Now what you have to do 216 00:15:03.455 --> 00:15:08.557 is take the left and right arm 217 00:15:08.557 --> 00:15:10.604 and make them child joints of spine 218 00:15:14.386 --> 00:15:18.845 leg_Left and leg_Right 219 00:15:18.845 --> 00:15:20.327 go under the root joint 220 00:15:22.287 --> 00:15:25.485 And that is the entire skeleton 221 00:15:25.485 --> 00:15:28.089 But creating the skeleton is only the first step 222 00:15:28.089 --> 00:15:33.326 Now we have to attach the model data 223 00:15:33.326 --> 00:15:34.762 to this skeleton 224 00:15:34.762 --> 00:15:36.362 When a joint moves 225 00:15:36.362 --> 00:15:38.485 the model has to be attached to the skeleton 226 00:15:38.485 --> 00:15:40.284 for the model to actually move 227 00:15:40.284 --> 00:15:41.881 Like this, for example 228 00:15:41.881 --> 00:15:43.366 So how do you do that? 229 00:15:45.693 --> 00:15:47.733 First select the root joint 230 00:15:53.812 --> 00:15:58.164 Click the bear group while holding Shift 231 00:15:58.164 --> 00:16:01.723 and it will show the whole group 232 00:16:01.723 --> 00:16:07.772 Press Ctrl, select the group 233 00:16:07.772 --> 00:16:11.356 then drag down while holding Shift 234 00:16:15.851 --> 00:16:18.584 We don't want to select the body group 235 00:16:18.584 --> 00:16:22.356 so click while holding Ctrl to unselect it 236 00:16:22.356 --> 00:16:27.089 Now from the menu bar 237 00:16:27.089 --> 00:16:30.881 open the options box for Skin-Bind Skin 238 00:16:30.881 --> 00:16:33.188 The options here are important 239 00:16:33.188 --> 00:16:35.871 Bind to: Joint hierarchy 240 00:16:35.871 --> 00:16:38.485 Here you can only see the root joint right now 241 00:16:38.485 --> 00:16:41.498 but binding to the joint hierarchy means that selecting the root joint 242 00:16:41.498 --> 00:16:42.931 will automatically select all of its child joints 243 00:16:44.960 --> 00:16:48.267 For the other options 244 00:16:50.158 --> 00:16:52.895 Bind method: Geodesic Voxel 245 00:16:55.648 --> 00:16:57.733 Skinning method: Dual quaternion 246 00:16:57.733 --> 00:17:00.347 Normalize weights: Post 247 00:17:03.079 --> 00:17:07.663 And set Max influences to 3 248 00:17:07.663 --> 00:17:08.960 and click Apply 249 00:17:11.129 --> 00:17:14.331 Now if you look at the Channel Box 250 00:17:14.331 --> 00:17:16.000 for the modeling data 251 00:17:16.000 --> 00:17:17.832 you can see that there's an indication 252 00:17:17.832 --> 00:17:19.703 that the values are locked 253 00:17:19.703 --> 00:17:22.158 So they are bound to the joints now 254 00:17:28.327 --> 00:17:29.713 When you move a joint 255 00:17:33.376 --> 00:17:38.614 the model moves along with it 256 00:17:38.614 --> 00:17:40.574 but it also becomes deformed where it shouldn't be 257 00:17:40.574 --> 00:17:46.020 We now have to adjust that 258 00:17:48.545 --> 00:17:49.525 Wait, I made a mistake 259 00:17:49.525 --> 00:17:53.010 I left out the tail 260 00:17:53.010 --> 00:17:53.950 To add a tail joint 261 00:17:54.901 --> 00:17:57.683 select Skin-Unbind skin 262 00:17:57.683 --> 00:17:59.624 to unbind the model 263 00:17:59.624 --> 00:18:01.299 You will also see that in the Inputs node 264 00:18:01.299 --> 00:18:02.772 there is a lot of history 265 00:18:02.772 --> 00:18:04.407 that has accumulated 266 00:18:04.407 --> 00:18:08.079 Select Edit-Delete by type-History 267 00:18:08.079 --> 00:18:09.732 If this object has that much history 268 00:18:09.732 --> 00:18:12.683 so will all the other ones 269 00:18:12.683 --> 00:18:16.327 Select all of them and go to the Edit menu 270 00:18:16.327 --> 00:18:19.040 These objects are still bound right now 271 00:18:19.040 --> 00:18:22.426 Binding means to connect 272 00:18:22.426 --> 00:18:24.040 the skeleton with the model 273 00:18:24.040 --> 00:18:25.624 So if you delete the history 274 00:18:25.624 --> 00:18:28.871 of a bound object, it will be unbound 275 00:18:28.871 --> 00:18:29.857 If you want to avoid that 276 00:18:29.857 --> 00:18:32.861 you can select Non-Deformer History instead 277 00:18:32.861 --> 00:18:34.634 Once you do that, the only history left 278 00:18:34.634 --> 00:18:35.772 will be this one called skinCluster 279 00:18:35.772 --> 00:18:37.921 which is the one that indicates that this object is bound 280 00:18:42.525 --> 00:18:45.948 So, by selecting the objects 281 00:18:45.948 --> 00:18:48.653 with history data 282 00:18:48.653 --> 00:18:51.366 in their Inputs node 283 00:18:51.366 --> 00:18:53.612 and selecting [Edit]-[Delete by Type]-[Non-Deformer History] 284 00:18:53.612 --> 00:18:56.045 all of the unnecessary data 285 00:18:56.045 --> 00:18:58.446 will be deletedw 286 00:18:58.446 --> 00:19:01.901 Now I'm going to make one more joint for the tail 287 00:19:04.584 --> 00:19:07.653 in order to weight map it 288 00:19:07.653 --> 00:19:12.436 Create one bone for the tail 289 00:19:14.713 --> 00:19:21.099 and add it under the root joint 290 00:19:21.099 --> 00:19:22.495 If you select the tail 291 00:19:22.495 --> 00:19:25.327 then select root while pressing P 292 00:19:25.327 --> 00:19:31.994 It will set the joint you click 293 00:19:31.994 --> 00:19:34.703 as the parent of the selected joint(s) 294 00:19:34.703 --> 00:19:38.442 Associating objects like this is in fact called 295 00:19:38.442 --> 00:19:40.228 parenting an object 296 00:19:40.228 --> 00:19:42.198 The child object 297 00:19:42.198 --> 00:19:45.697 is selected first, then choose the parent 298 00:19:45.697 --> 00:19:47.822 Kind of like finding a home for the object 299 00:19:47.822 --> 00:19:51.198 So, hold P and click to add child joints 300 00:19:51.198 --> 00:19:55.608 If you select a parented object and press Shift+P 301 00:19:55.608 --> 00:19:58.545 it will be unparented 302 00:19:58.545 --> 00:20:02.337 So it's the child object 303 00:20:02.337 --> 00:20:06.386 that either joins or leaves the parent 304 00:20:06.386 --> 00:20:07.465 So the tail is now parented 305 00:20:08.891 --> 00:20:13.861 Let's name it 'tail' 306 00:20:13.861 --> 00:20:17.030 tail1 and tail2 307 00:20:19.188 --> 00:20:28.832 Select tail1 and the tail model 308 00:20:28.832 --> 00:20:32.416 The menus in the menu bar 309 00:20:32.416 --> 00:20:34.637 can also be accessed by pressing the spacebar 310 00:20:34.637 --> 00:20:37.436 while the mouse is within the viewport 311 00:20:37.436 --> 00:20:39.069 They will be displayed in this Hotbox 312 00:20:39.069 --> 00:20:41.802 So it can be quicker to look for the menu you want 313 00:20:41.802 --> 00:20:45.277 from the Hotbox instead of the menu bar 314 00:20:45.277 --> 00:20:47.881 Just like before 315 00:20:49.762 --> 00:20:52.089 select [Skin]-[Bind Skin] 316 00:20:57.178 --> 00:21:00.277 and now the tail moves like this 317 00:21:00.673 --> 00:21:04.316 Skinning a Model to a Skeleton - Skin Weight 318 00:21:05.020 --> 00:21:07.564 Now let's get into proper binding 319 00:21:07.564 --> 00:21:12.030 First, we have to adjust the skin weights 320 00:21:12.030 --> 00:21:15.515 For example 321 00:21:17.693 --> 00:21:21.115 The bear's head 322 00:21:23.640 --> 00:21:25.891 should only receive influence 323 00:21:25.891 --> 00:21:28.743 from the movement of the head and neck joints 324 00:21:30.743 --> 00:21:35.178 and not from any other joints 325 00:21:35.178 --> 00:21:37.495 Let's select this vertex 326 00:21:37.495 --> 00:21:39.537 Now go to 327 00:21:39.537 --> 00:21:42.713 [Windows]-[Component Editor] 328 00:21:42.713 --> 00:21:45.901 and there will be a Smooth Skins tab 329 00:21:45.901 --> 00:21:48.545 You can view here 330 00:21:48.545 --> 00:21:50.572 how many joints are influencing 331 00:21:50.572 --> 00:21:51.564 this one vertex 332 00:21:56.644 --> 00:21:59.178 Only the neck joint should be shown here 333 00:21:59.178 --> 00:22:02.238 but you can see the arm and spine joints here as well 334 00:22:02.238 --> 00:22:05.168 The numbers on this row 335 00:22:05.168 --> 00:22:09.000 will always add up to 1 336 00:22:09.000 --> 00:22:11.416 So 1 is the total amount of weight 337 00:22:11.416 --> 00:22:13.607 As you can see 338 00:22:13.607 --> 00:22:18.089 the neck joint has 0.43 weight 339 00:22:18.089 --> 00:22:20.980 That is the most influence out of the three 340 00:22:20.980 --> 00:22:23.396 but arm1_Left and spine shouldn't have any weight at all 341 00:22:26.426 --> 00:22:29.426 What we have to do here is change neck's value to 1 342 00:22:29.426 --> 00:22:34.257 Selecting one vertex 343 00:22:34.257 --> 00:22:35.475 and double clicking it 344 00:22:38.772 --> 00:22:41.426 will select the entire skin 345 00:22:41.426 --> 00:22:44.226 All of these vertices 346 00:22:44.226 --> 00:22:48.040 only need to be influenced by neck 347 00:22:48.040 --> 00:22:51.317 So in the Component Editor 348 00:22:51.317 --> 00:22:56.023 enter 0 for all of the joints shown 349 00:22:56.023 --> 00:22:58.297 except for the neck joint 350 00:22:58.297 --> 00:23:00.682 and they will disappear 351 00:23:00.682 --> 00:23:02.248 They lose influence on the head skin 352 00:23:09.604 --> 00:23:12.347 The head looks better now 353 00:23:12.347 --> 00:23:13.634 So this is how you modify skin weights 354 00:23:15.614 --> 00:23:20.307 Weight is a value between 0 and 1 355 00:23:20.307 --> 00:23:22.921 that decides how much 356 00:23:22.921 --> 00:23:25.100 the movement of each joint 357 00:23:25.100 --> 00:23:27.376 influences a certain vertex 358 00:23:27.376 --> 00:23:29.931 compared to other joints 359 00:23:29.931 --> 00:23:31.067 Now the head 360 00:23:31.067 --> 00:23:33.465 should work as intended 361 00:23:40.267 --> 00:23:43.000 Let's try lifting this arm 362 00:23:45.782 --> 00:23:48.634 The body skin follows the arm's movement 363 00:23:48.634 --> 00:23:51.515 The body skin has nothing to do with the arms 364 00:23:51.515 --> 00:23:56.406 Right click to isolate the body 365 00:23:56.406 --> 00:23:58.703 Select the body skin 366 00:23:58.703 --> 00:24:02.446 The body only has to be influenced 367 00:24:02.446 --> 00:24:05.317 by the root, spine, and neck joints 368 00:24:05.317 --> 00:24:10.119 Let's get rid of the arms and legs 369 00:24:13.188 --> 00:24:16.396 Now it acts normally 370 00:24:18.653 --> 00:24:22.188 It's working as intended 371 00:24:26.050 --> 00:24:31.653 Now we have to adjust the arm's skin weight 372 00:24:31.653 --> 00:24:34.446 It's a pain to keep editing weights this way 373 00:24:34.446 --> 00:24:38.059 So let's set a keyframe 374 00:24:38.059 --> 00:24:40.584 for this arm joint 375 00:24:40.584 --> 00:24:43.109 And at frame 20 376 00:24:43.109 --> 00:24:46.119 lift the arm about this much 377 00:24:48.743 --> 00:24:51.407 You can see now 378 00:24:51.407 --> 00:24:52.950 that the arm slightly distorts 379 00:24:52.950 --> 00:24:55.267 That doesn't look good 380 00:24:55.267 --> 00:24:57.386 Let's check the skin weight for this vertex 381 00:24:59.059 --> 00:25:01.941 It has spine as an influence 382 00:25:01.941 --> 00:25:05.030 Root is also 383 00:25:05.030 --> 00:25:06.644 influencing the arm 384 00:25:06.644 --> 00:25:08.099 Let's get rid of this 385 00:25:11.030 --> 00:25:12.089 Now 386 00:25:14.297 --> 00:25:15.650 let's turn the animation on 387 00:25:15.650 --> 00:25:17.356 The arm looks better now 388 00:25:22.663 --> 00:25:25.059 Delete these keyframes 389 00:25:27.406 --> 00:25:31.980 Now let's do the same 390 00:25:35.267 --> 00:25:36.703 with the elbow joint 391 00:25:39.327 --> 00:25:43.287 This looks somewhat unnatural 392 00:25:43.287 --> 00:25:46.604 We're going to adjust the elbow 393 00:25:49.842 --> 00:25:53.970 Hide everything except 394 00:25:55.832 --> 00:25:59.099 the arm joints and model 395 00:25:59.099 --> 00:26:03.149 Now let's select the 'elbow' of the arm 396 00:26:03.149 --> 00:26:06.693 and add a loop 397 00:26:06.693 --> 00:26:07.912 Select a vertex 398 00:26:07.912 --> 00:26:09.750 and double click the one next to it 399 00:26:09.750 --> 00:26:11.257 Now a vertex loop has been selected 400 00:26:13.703 --> 00:26:16.475 If you look at the Component Editor 401 00:26:18.426 --> 00:26:19.557 The joints here 402 00:26:19.557 --> 00:26:23.802 are named arm1_Left, arm2_Left, and arm3_Left 403 00:26:23.802 --> 00:26:26.209 arm1 and arm2 404 00:26:26.209 --> 00:26:29.307 should have 0.5 weight each 405 00:26:30.733 --> 00:26:32.713 arm3 shouldn't be an influence 406 00:26:34.178 --> 00:26:38.911 And for the loop 407 00:26:38.911 --> 00:26:42.238 that is right above the elbow loop 408 00:26:42.238 --> 00:26:44.723 arm1 should have 0.8 weight 409 00:26:48.465 --> 00:26:52.228 and arm2 about 0.2 410 00:26:52.228 --> 00:26:54.331 The lower loop is the reverse 411 00:26:54.331 --> 00:26:58.027 arm1 is 0.2, and arm2 is 0.8 412 00:26:58.027 --> 00:27:01.366 arm3 shouldn't have any weight 413 00:27:01.366 --> 00:27:03.347 The other vertices 414 00:27:08.505 --> 00:27:14.317 that are on the upper part of the arm 415 00:27:14.317 --> 00:27:18.188 should be weighted completely on arm1 416 00:27:18.188 --> 00:27:19.776 But if you try to select them 417 00:27:21.905 --> 00:27:23.931 it doesn't work 418 00:27:23.931 --> 00:27:28.500 because in Maya, joints are selected 419 00:27:28.500 --> 00:27:31.693 by a higher priority than modeled skins 420 00:27:31.693 --> 00:27:32.703 To solve this 421 00:27:34.980 --> 00:27:37.766 first select the skin 422 00:27:37.766 --> 00:27:39.549 and turn off isolation 423 00:27:39.549 --> 00:27:42.505 Turning it on again will show only the skin 424 00:27:42.505 --> 00:27:45.376 Now that the vertices can be selected 425 00:27:45.376 --> 00:27:46.792 enter 1 for arm1 426 00:27:50.574 --> 00:27:54.040 I think for this loop 427 00:27:54.040 --> 00:27:56.426 0.9 will make it look better 428 00:27:56.426 --> 00:27:59.366 The distal part as well 429 00:27:59.366 --> 00:28:03.218 Enter 1 for arm2's weight 430 00:28:03.218 --> 00:28:07.069 This loop should be weighted 0.1 to 0.9 as well 431 00:28:17.188 --> 00:28:19.212 Now if we press 3 432 00:28:19.212 --> 00:28:20.663 The arm looks better now 433 00:28:22.871 --> 00:28:24.188 I think this part 434 00:28:26.941 --> 00:28:30.763 should also receive some influence 435 00:28:30.763 --> 00:28:33.772 from arm1, about 0.02 436 00:28:33.772 --> 00:28:37.872 Let's do 0.03 instead 437 00:28:39.822 --> 00:28:40.752 arm2 has 0.7 weight 438 00:28:42.257 --> 00:28:48.450 Having a very slight amount of weight 439 00:28:48.450 --> 00:28:53.218 on arm2_Left, for example about 0.03 440 00:28:53.218 --> 00:28:55.376 makes the arm look better 441 00:28:55.376 --> 00:28:56.050 Cute 442 00:29:00.812 --> 00:29:06.000 Let's get rid of the keyframes again 443 00:29:06.000 --> 00:29:09.040 And do the same thing again for the legs 444 00:29:11.624 --> 00:29:15.446 Let's try lifting this leg 445 00:29:17.644 --> 00:29:20.099 It looks unnatural 446 00:29:20.099 --> 00:29:27.139 This is because the leg skin is also being influenced 447 00:29:27.139 --> 00:29:32.653 by the root joint 448 00:29:32.653 --> 00:29:34.259 and the joints 449 00:29:34.259 --> 00:29:40.020 on the other side, the right leg 450 00:29:40.020 --> 00:29:44.733 Leave only the left leg joints 451 00:29:48.802 --> 00:29:52.842 Now, let's remove 452 00:29:56.782 --> 00:30:00.297 all of the keyframes for this upper joint 453 00:30:00.297 --> 00:30:01.950 and select the knee joint 454 00:30:01.950 --> 00:30:07.881 Give a keyframe at 0 frames 455 00:30:11.208 --> 00:30:15.564 The legs are thicker 456 00:30:15.564 --> 00:30:17.158 so it's harder to weight the legs properly 457 00:30:17.158 --> 00:30:18.356 But let's try it anyway 458 00:30:20.802 --> 00:30:23.788 Select the vertex loop 459 00:30:23.788 --> 00:30:26.277 at the same height as the knee 460 00:30:26.277 --> 00:30:31.119 The foot joint doesn't need to be an influence here 461 00:30:31.119 --> 00:30:34.059 Give 0.5 to leg1 and leg2 462 00:30:38.099 --> 00:30:42.693 Get rid of foot_Left as well 463 00:30:42.693 --> 00:30:46.792 0.2 to leg1_Left and 0.8 to leg2_Left 464 00:30:52.554 --> 00:30:54.535 That seems to work 465 00:30:58.851 --> 00:31:05.129 The same for the loop above the knee 466 00:31:05.129 --> 00:31:06.792 Set foot_Left's weight to 0 467 00:31:06.792 --> 00:31:11.069 0.75 to leg1, 0.25 to leg2 468 00:31:21.703 --> 00:31:27.406 1 to leg1, 0 to leg2 469 00:31:27.406 --> 00:31:30.406 Now group select the lower vertices 470 00:31:38.851 --> 00:31:41.386 and get rid of the foot joints 471 00:31:44.109 --> 00:31:51.317 1 to leg2, and 0 to leg1 472 00:31:51.317 --> 00:31:54.861 toe_Left also gets zero weight 473 00:31:59.436 --> 00:32:02.419 If we look at the way it moves now 474 00:32:02.419 --> 00:32:04.277 it still looks somewhat awkward 475 00:32:07.644 --> 00:32:09.967 If we look at the loop here 476 00:32:09.967 --> 00:32:12.238 Oops 477 00:32:16.792 --> 00:32:18.158 leg2 has all of the weight 478 00:32:22.030 --> 00:32:25.292 Entering these values one by one 479 00:32:25.292 --> 00:32:27.752 takes way too much time 480 00:32:27.752 --> 00:32:31.416 Especially because this model is round overall 481 00:32:31.416 --> 00:32:33.673 looking at the numbers doesn't tell you much 482 00:32:33.673 --> 00:32:36.432 In that case, right click 483 00:32:36.432 --> 00:32:39.881 and select the Paint Skin Weights Tool 484 00:32:39.881 --> 00:32:42.807 You can see all of the joints 485 00:32:42.807 --> 00:32:45.624 that are influencing this skin 486 00:32:45.624 --> 00:32:47.784 Areas with heavy influence are colored white 487 00:32:47.784 --> 00:32:50.515 and areas with little influence black 488 00:32:50.515 --> 00:32:51.752 So that's how the weight map works 489 00:32:54.614 --> 00:32:57.168 Right now, we should select Smooth 490 00:32:59.139 --> 00:33:00.525 with Opacity at 0.5 491 00:33:04.723 --> 00:33:09.337 Let's decrease the brush size a bit 492 00:33:09.337 --> 00:33:14.010 Now paint while holding B to paint with a smooth brush 493 00:33:16.040 --> 00:33:20.040 Do the same for leg2_Left 494 00:33:38.584 --> 00:33:41.564 and that's about it for the legs 495 00:33:41.564 --> 00:33:42.911 The leg looks nice now 496 00:33:46.386 --> 00:33:49.079 Now for the final part of the leg 497 00:33:49.079 --> 00:33:54.703 We have to adjust the foots' weights again 498 00:33:54.703 --> 00:33:58.109 I just deleted all the influence 499 00:33:58.118 --> 00:34:00.939 from the foot joints 500 00:34:00.939 --> 00:34:03.238 and now moving the joint doesn't do anything 501 00:34:03.238 --> 00:34:05.970 You can also see from the Component Editor 502 00:34:05.970 --> 00:34:08.871 that whatever vertex you select 503 00:34:08.871 --> 00:34:14.752 it doesn't have foot_Left as an influence 504 00:34:14.752 --> 00:34:16.550 Let's select 505 00:34:16.550 --> 00:34:19.287 Paint Skin Weights Tool again 506 00:34:19.287 --> 00:34:21.812 and select foot_Left 507 00:34:21.812 --> 00:34:26.040 Set Opacity to about 0.2 508 00:34:26.040 --> 00:34:29.980 and also set Value to 0.2 509 00:34:29.980 --> 00:34:32.950 and paint the foot 510 00:34:32.950 --> 00:34:36.059 Shape the weight map 511 00:34:36.059 --> 00:34:39.168 by carefully painting 512 00:34:39.168 --> 00:34:41.109 only on the places 513 00:34:41.109 --> 00:34:43.099 where you want the skin 514 00:34:43.099 --> 00:34:44.832 to follow this joint's movement 515 00:34:55.188 --> 00:34:57.881 Once you're finished 516 00:34:57.881 --> 00:35:01.297 give a finishing touch with Smooth 517 00:35:11.079 --> 00:35:12.564 Now, if I press 3 518 00:35:16.149 --> 00:35:17.634 it looks pretty good 519 00:35:23.416 --> 00:35:28.931 Now let's select a vertex 520 00:35:28.931 --> 00:35:30.218 Good, foot_left is there 521 00:35:30.218 --> 00:35:32.891 0.5, 0.5, and 1 522 00:35:32.891 --> 00:35:35.010 But this one, unfortunately 523 00:35:35.010 --> 00:35:36.644 ended up having a weight total of 1.208 524 00:35:36.644 --> 00:35:40.099 instead of 1 525 00:35:40.099 --> 00:35:42.030 Most of the other vertices are probably like this 526 00:35:42.030 --> 00:35:43.748 The total value of weights 527 00:35:43.748 --> 00:35:45.179 must add up to 1 528 00:35:45.179 --> 00:35:47.960 So we should go to 529 00:35:50.248 --> 00:35:56.980 [Skin]-[Normalize Weights] 530 00:35:56.980 --> 00:36:00.317 and click Enable Weight Normalization 531 00:36:00.317 --> 00:36:02.436 Huh? 532 00:36:02.436 --> 00:36:05.743 The skin now receives 533 00:36:05.743 --> 00:36:08.733 a weight total of more than 1 534 00:36:08.733 --> 00:36:11.970 Within Maya, the program will adjust for the weight total 535 00:36:11.970 --> 00:36:14.752 if it is larger than 1, so the original shape can be maintained 536 00:36:14.752 --> 00:36:17.446 But if you export the weight map to another program 537 00:36:17.446 --> 00:36:20.059 the model will end up like this 538 00:36:20.059 --> 00:36:22.564 Selecting Normalize Weights 539 00:36:22.564 --> 00:36:24.891 lets the program 540 00:36:24.891 --> 00:36:27.832 automatically adjust the weight total to 1 541 00:36:30.554 --> 00:36:33.545 Now whichever vertex you select here 542 00:36:33.545 --> 00:36:36.010 the total value will be 1 543 00:36:39.554 --> 00:36:41.861 The legs look nice and adorable 544 00:36:45.861 --> 00:36:47.782 So do the arms 545 00:36:49.238 --> 00:36:52.327 And the head 546 00:36:52.327 --> 00:36:53.594 The last thing to do 547 00:36:53.594 --> 00:36:59.248 is adjust the waist 548 00:36:59.248 --> 00:37:00.471 But now that I look at it 549 00:37:00.471 --> 00:37:02.436 there's not much to adjust here 550 00:37:06.208 --> 00:37:09.475 But just in case 551 00:37:09.475 --> 00:37:13.149 let's try moving the waist joint 552 00:37:15.446 --> 00:37:19.564 Now that I move it like this 553 00:37:19.564 --> 00:37:22.713 I can see that something is off 554 00:37:22.713 --> 00:37:24.733 Select the waist 555 00:37:28.158 --> 00:37:30.515 First let's select 556 00:37:30.515 --> 00:37:34.733 the vertices where the joint is 557 00:37:34.733 --> 00:37:37.040 and weight each influence by 0.5 558 00:37:42.277 --> 00:37:44.515 For the loop below that 559 00:37:47.455 --> 00:37:50.228 0.8 and 0.2 560 00:37:51.495 --> 00:37:53.564 And the loop below that 561 00:37:55.525 --> 00:37:57.624 1 for the root joint 562 00:38:00.149 --> 00:38:03.594 And you can do the opposite for the upper loop 563 00:38:03.594 --> 00:38:08.099 0.2 for root and 0.8 for spine 564 00:38:08.099 --> 00:38:09.347 The topmost loop 565 00:38:12.089 --> 00:38:16.010 we can just enter 1 for spine 566 00:38:16.010 --> 00:38:19.723 This should look good enough 567 00:38:27.822 --> 00:38:30.475 Let's get rid of the keyframes 568 00:38:30.475 --> 00:38:33.693 You don't need to weight the tail 569 00:38:36.941 --> 00:38:39.634 Now apply what we did 570 00:38:39.634 --> 00:38:44.475 to the left arm and leg, to the right 571 00:38:44.475 --> 00:38:48.485 Think of it as a review session 572 00:38:48.485 --> 00:38:55.178 Now we have finished 573 00:38:55.178 --> 00:38:58.911 basic skinning 574 00:38:58.911 --> 00:39:00.950 for a simple model 575 00:39:03.436 --> 00:39:08.634 But these joints are not enough 576 00:39:08.634 --> 00:39:10.743 to animate a character 577 00:39:10.743 --> 00:39:12.861 It's not impossible 578 00:39:12.861 --> 00:39:15.446 but there is a method 579 00:39:15.446 --> 00:39:17.812 that makes the animating process much easier 580 00:39:17.812 --> 00:39:21.535 so that's what we will do next time 581 00:39:21.535 --> 00:39:24.376 It's called rigging 582 00:39:24.376 --> 00:39:30.782 What we did this time is also a part of the rigging process 583 00:39:30.782 --> 00:39:34.842 but we also have to add controllers 584 00:39:34.842 --> 00:39:36.515 in order to make 585 00:39:36.515 --> 00:39:37.970 the joints easy to control for the animator 586 00:39:44.970 --> 00:39:49.168 Let's go over what we learned today 587 00:39:49.168 --> 00:39:51.614 We created a skeleton 588 00:39:51.614 --> 00:39:53.475 and attached it to our model 589 00:39:53.475 --> 00:39:56.564 using a function called Smooth Binding 590 00:39:56.564 --> 00:39:58.327 We also learned two ways 591 00:39:58.327 --> 00:40:01.762 of adjusting the weight values 592 00:40:01.762 --> 00:40:05.248 Next time, you will learn how to put controllers on the skeleton 593 00:40:05.248 --> 00:40:08.426 so that the character can be controlled intuitively 594 00:40:09.435 --> 00:40:10.438 Creating a Basic Skeleton Head skeleton Change radius to adjust joint size Place root joint at model's center Scale model to adjust size 595 00:40:10.438 --> 00:40:11.741 [Modeling]-[Mesh Display Reverse] to reverse vertices Copy & paste joints to quickly place joints 596 00:40:11.741 --> 00:40:12.858 Ctrl+D to copy & paste joints; rename joint root1 to spine, and root2 to neck 597 00:40:12.858 --> 00:40:14.089 Ctrl+D and Ctrl+G, enter -1 for Scale X 598 00:40:14.089 --> 00:40:15.629 Leg skeleton Click [Skeleton]-[Create Joints] to create leg joints Ctrl+D to copy & paste to other leg 599 00:40:15.629 --> 00:40:16.908 Select neck joint and copy & paste to head Select arm joints & connect to spine, connect leg joints to root 600 00:40:16.908 --> 00:40:18.227 Select root, then click bearGR while holding Shift [Skeleton]-[Create Joints] to create tail joint 601 00:40:18.227 --> 00:40:19.079 Select tail and root, press P to parent tail 602 00:40:19.079 --> 00:40:20.331 Binding & Weighting a Model Adjusting head weights Select vertex, [Windows]-[General Editors]-[Component Editor]-[Smooth Skins] 603 00:40:20.331 --> 00:40:21.640 Setting an influence's weight to 1 removes all other influences Enter 0 for all other influences except neck 604 00:40:21.640 --> 00:40:22.840 Adjusting arm & leg weights Set keyframe at 0 frames, lift arm at 20 frames Removing influence from spine & root adjusts weight 605 00:40:22.840 --> 00:40:24.012 Select loop at where elbow is Left leg should only be influenced by leg1, leg2, foot, and toe_Left 606 00:40:24.019 --> 00:40:25.875 Adjusting foot weight Select Paint Skin Weights Tool, select foot_Left 607 00:40:25.875 --> 00:40:27.610 Paint vertices where foot joint should be an influence Use Smooth to smooth out weight map, make sure Total value is 1 608 00:40:27.610 --> 00:40:28.920 Use Normalize Weights to adjust all vertices' weight total to 1