 So your shoulders is smooth, but they're not intuitive. You want your shoulders to know where to move automatically based on where you drag the arm. Not a problem. Now before we start, we are going to need to disconnect our bicep from our shoulder. For some reason, Blanda freaks out when you combine inverse kinematics with drivers. So until they fix this, you are going to have to separate these two bones. The first driver will simulate how the arm moves up and down as the arm rotates this way. So the trigger is going to be bicep Z rotation and our goal is to control X location. So here we go. Right click, add driver, set object to armature, bone to bicep, type to Z rotation, mode to XYZ Euler, space to local and type this. And now you can see that the bicep will move as you move the arm up and down. 0.005 just means it will never go lower than this. 0.078 likewise represents the highest allowed position. And negative bar times 0.06 controls how fast the bicep reaches these limits. Okay, we got her up and down working. Now we got to get the arm to move forwards and backwards when the arm bends this way. So bicep X rotation is going to be our trigger and our goal is to control Z location. And just for a little more control, I'm going to use the hand IK bone as a second trigger. So we can control when the shoulder overextends forward. So on Z location, right click, add driver, set object to armature, bone to bicep, type to X rotation, mode to quaternion, and space to local. And to add a second trigger, add input variable, transform channel, object to armature, bone to hand IK, type to Z location, space to local, and change the name of the variable to ZAR. And type this equation. Alright, now you can see the arm position changes as the biceps move forward and backwards. Alright, now I'll explain the equation. Negative 0.042 is the farthest back the arm is allowed to move. 0.06 controls the speed the arm moves towards these limits. The smaller the number, the less the position changes as the arms moves forwards and back. And this chunk right here just controls overextension. 0.37 is how far the hand has to go forward before the shoulder starts to bend forwards. That is why the shoulder does not bend forward until the IK goes beyond this distance. If you want to change the limit at which the shoulder starts to bend forward, change 0.37 to something else. Okay, now that we got the bicep position taken care of, time to automate the shoulder. Obviously, as the arm bends forwards, we want the shoulder to rotate forwards as well. So, just set that up. Under rotation X, right click, add driver, set object to armature, bone to bicep, type to Z location, space to local, and type var times 4.2. And now you can see that as the bicep moves forwards, the shoulder also rotates forwards at the same time. Now we also want the shoulder to rotate when the arm moves up and down. To do this, under Z rotation, right click, add driver, set object to armature, bone to bicep, type to X location, space to local, and type negative var times 4. And now you can see that the shoulder will follow the bicep as the arm rotates up and down. And last, we want to control the shoulder's Y rotation. Specifically, it should rotate back and forth when the arms are together and above her head. So we are going to have two triggers. One is the arm's Z location, the other will be the hand IK. To set this driver, go to the shoulder's Y rotation, right click, add driver, set object to armature, bone to bicep, type to Z location, and space to local. To set the second trigger, add input variable, transform channel, object to armature, bone to hand IK, type to X location, and space to local. Rename the variable to XR. And finally, type our equation up here. And you're done. Now you can see that as the arms go forward and above her head, the shoulder adjusts rotation to match these motions. The zero in the equation just means the shoulder will never rotate below the default position. The XR times 0.85 just makes sure that the rotation will only happen when the biceps go above her head. It tracks this by using the hand IK position as the landmark. And this just controls the rotation amount. If you want to increase or decrease the rotation amount, just change this number. All right, congratulations. Your shoulders are now fully automated and you will basically never have to manually rotate them ever again. If you got lost somewhere in the tutorial, don't worry. Very soon you'll be able to download the rig and you'll be able to reverse engineer it or mess with it all you want. Anyway, hope that helps. If you enjoyed this video, please don't forget to like, subscribe and ring that bell. Hope you have a fantastic day and I'll see you around.