Hello, and welcome to Knowledge City's course on Advanced Blender 3D. My name is Jay, and today we'll be learning about Forward Kinematics, or FK for short. FK is an animation technique in which a series of objects is connected at their respective ends to form an articulating chain of motion. FK uses parent-child relationships to define the behavior of the series, where the parent directly influences the child. I have here four parts which will be used to rig an articulating robot arm using a ball and socket mechanism, and you can see the sockets I have created right here. This lesson isn't so much about modeling or texturing, as you can see, but rather about rigging an FK series of objects to be animated based upon its parent object. I've applied these wacky colors to the object, so it'll be easier for us to see the modification take place. I've given each object an identifiable name here in our scene collection, and removed the lights and camera, and I've set up my 3D viewport to display the name of each object. This can be done simply by selecting on the Object Properties tab at the right, going down to Viewport Settings, and clicking on Name. For this rig, arm 1 will be the child of the base, and the socket will rotate around the ball of the base. Arm 2 will be the child of arm 1, and the socket will rotate around the ball of arm 1. And the hand will be the child of arm 2, and the socket of the hand will rotate around the ball of arm 2. So let's start rigging this robot arm by placing each object in its place. The most important thing to keep in mind when rigging is that each object needs to be in its exact position, size, and rotation before we do anything. This includes the pivot point. At the moment, the pivot point of each object is not in its correct place. When we rotate an object, this is what happens. So we need to adjust the pivot point of each object so it rotates around its respective parent part, and we're going to do this by entering Edit Mode. Another use for activating the name of each object is that its name is at the exact coordinates of 0, 0, 0 on our XYZ plane. And this is where I want the pivot point to be. And to be extra sure of where I am moving my object, I'm going to be using the Transform tool, which gives us this gizmo, allowing us to restrict the motion in one particular axis. When I exit Edit Mode, you'll see all my objects have changed. This is because the pivot point of each object has changed. Now all I need to do is place them in their correct positions. Now each object is rotating around its correct pivot point. Now that we've arranged the parts, we need to set up the parent-child relationships between each one. I'm going to choose the child first and then its parent. On my keyboard, I'm going to press Ctrl P and go to Object. A quicker way to do this is by heading over to the Scene Collection panel, choosing the child, and clicking and dragging it directly on top of its parent while holding down the Shift key. Now we can see the hierarchy, but there's a problem. We see that the socket of a ARM 1 goes through the base when we rotate it. A real robot ARM would not do this. Technically, we could just limit the rotation when we animate the rig, but this wouldn't be too efficient. So we're going to tell Blender where the rotation needs to stop. To do this, we're going to click on the Object Constraints tab at the right, click on the drop-down menu called Add Object Constraint, and select Limit Rotation. We know that we want the rotation to take place on the X and Y coordinates, but how much? Underneath our Limit Rotation, we have the ability to apply a limit to the X, Y, and Z coordinates. I'm going to activate the X rotation, and we now need to determine how much it can rotate. I'm going to rotate it to about this angle, which looks to be about 70 degrees, so we know this rotation needs to be limited to 70 degrees. I'm going to activate my Limit X rotation and type in negative 70 for the minimum and positive 70 for the maximum. Now I cannot rotate no matter how far I try. We need to apply the same limitation to the Y-axis, so I'm going to press on the icon associated with Y and input the same values, and being that we want it to rotate around our Z-axis, we do not need to apply any constraints. So I'm going to leave the Z-rotation constraint alone. I'm going to apply the same constraint to the rest of the objects. Now we're ready to animate the robot arm, and we're going to animate the rotation of each object in increments of 20 seconds. I'm going to activate my Auto King, select all the objects, press I on my keyboard to insert a keyframe, and select the rotation. I can also offset the keyframes so that they don't all happen at the same time. And this is how we animate a robot arm using Forward Kinematics in Blender. Thank you very much for watching.