Posted on Feb. 19, 2022, 8:27 p.m. by Lewdineer • Last updated on March 6, 2022, 3:24 p.m.
Well hello there, i hope you are doing fine.
I would like to address a problem that i always had: The movement of the shoulder looking complete crap when lifting the arms. With some help i have found a way to get a lot better shoulder and chest movement for my own characters and i want to share that with everyone.
Example .blend file can be found at the bottom.
First of i want to show a kind of before (left) and after (right) example.
Small animation of the new method: https://twitter.com/lewdineer/status/1494435128394854403
As you can see there is alot of improvement in the deformation, and that not only the shoulder, but also the whole chest area benefits from this change, as it also moves upwards like it should.
We can achieve this by basically trying to rebuild or kind of simulate the chest muscles as they behave in real life.
My main focus will be the "pectoralis major" (i have no idea about muscles so if i say anything wrong things pls forgiv).
This Muscle is connected to the upper arm, so if we begin to lift it, it will also move or stretch the pectoralis major, giving the effect we are looking for.
Anyway, enough about the whole theory stuff, i just wanted you to know what i am trying to rebuild in blender.
Also i am assuming you are using left click select.
I will Substitute this muscle with 3 Bones per side, so what i want you to do is place bones inside the chest.
Place the 3 bones going from the middle of the chest, to the upper region of the arm where the muscle would connect.
Add an additional bone at the end where they meet, by extruding the end of one of the musle bones and then ALT + P -> Clear Parent.
Connect that additional bone to the upper arm with CTRL + P -> Keep offset.
Name the bones somethpaininging like "Pecs_1.L", "Pecs_2.L" and so on and the connector "Pecs_connector.L" remember to use the ".L" suffix as this will make our life easier.
Select all the 4 bones we just created and up in the Tab go to Armature -> Symmetrize, or just press F3 and search for symmetrize. All these bones should be mirrored now.
If you now move your arm, only the connector bone should follow.
Now we get to the fun part (the funniest part will follow). We now need to make these chest bones follow the connector bone in a somewhat realistic way.
We can achieve that by using the "Stretch to" constraint.
Go into Pose Mode
Click the connector bone, then shift-click one of the chest bone.
Press CTRL + Shift + C to bring up the Add contraints shortcut and select "Stretch To"
The chest bones should now move with the connector when lifting the arm like this:
You may also want to add a "Limit Scale" constraint on all the muscle bones with a value of 1 on the minimum Y scale, as that will prevent the bones from squashing the chest, wich i found looks weird when putting the arms down.
Now to the last and most fun part, weight painting :=)
Select the Armature in Object mode
Shift+Left click select the Mesh and go into weight paint mode.
It should now look like the armature is in Pose mode, and the mesh is mostly or all blue.
CTRL-click one of the Muscle bones, The Mesh should become Pink because the bone is not added to the vertex groups yet.
Click anywhere on the mesh with one of these bones selected, It should become blue because the bone gets added automatically to the vertex group.
Make sure Symmetry is enabled.
Start to paint in the areas where the Bone goes along the chest.
In the end my Weights look something like this:
Oops wrong pic.
On the mesh i also use the Preserve volume option for the Armature and a Corrective Smooth modifier with a value of about 0.3 for the best effects.
I recommend adding maybe 1 or 2 more Muscle bones by applying the same technique you just learned.
I like to add a bone on the side and one on the back like so:
I also added a aditional Connector bone for these 2 on underside of the arm.
I did it! And so did you hopefully :)
The method could of course also be used on different body parts, you should be able to implement it by your own now.
For questions n stuff you can contact me on my twitter: https://twitter.com/lewdineer
If you really liked the tutorial consider supporting me on Patreon, it would be really appreciated.
Get the example file here: https://drive.google.com/file/d/1Vbed2F5HpHIpnGFGMsufSvjW8Mf8BwVp/view?usp=sharing
Many thanks as well to https://twitter.com/JoeFixi82003985 who helped me to find this method :)
Alright that's it, would be cool if you showed me if you used it in your mesh. Or tell me how you like the guide and if there are things that could be improved.