BLENDER – Muscle Flex Rig and Animation breakdown


– [Pierrick] Hi everyone, this
is Pierrick from P2design, in this video I will
show you how I’ve rigged and animated this torso model in Blender. (dramatic swooshing) This asset is one from the manys created for “Noara: The
Conspiracy”, the video game. The idea was to create an animated icons that could be mixed with some effects to show that the character
is getting stronger. While the original idea was a simple arm, our concept artist Sp00n advised to use a full torso that will read betterly and looked more impressive. It was then sculpted and retopologized by our character artist Antony Pico. He then applied one of our homemade smart material from Substance Painter and forward me the model. I generally ask him to
keep the topology flow as simple as possible, and I sometime add supporting loops while rigging. This allow me to make the model perfectly fit my rigging needs. Since the model won’t have more than two or three animation, I won’t be doing super advanced rig. I will use only forward
kinematics for the arm and I want to allow the full body to be stretchable. Finally, I want to add
secondary controllers for the pecs and the
biceps, to add secondary motion that will input
weight to these muscles. I always start my rig by creating the deformation skeletons, trying to align the bone with the different joint and keep their rotation consistent. One cool trick I use for arm that will allow me to
get better deformation but also get stylized animation by breaking the shape of
the arm is to subdivide the deformation bone inside the arm. I can then distribute the deformation along those bones, this is very handy for wrist twisting, for example. This is the kind of setup you can learn in my latest course, the Art of Effective Rigging in Blender. I also added some extra deformation bones for the biceps because
I want to animate them and give them some extra motion. I’ve also added a bone
for the pectoral muscle which will allow me to add some jiggling. I can then symmetrize the whole rig, then I will skin my mesh to the armature with automatic weight. Then, I will refine each deformation using weight painting. When I felt it was needed, I’ve also added some loop cuts on the fly, and to preserve my UVs I’ve just made sure that the Correct UVs checkbox
was enabled in the tool. To rig the torso I’ve
used my main workflow but I’ve moved the main controller a little lower in the
chain, just upon the hips. For the hips I will just
create a reversed bone that will drive the deformation bone and then I will just
unconnect the upper bone of the spine from the hips to avoid them to rotate when the hips are rotating. An additional bone is created that will allow me to whether used “stretch to” constraint
or not, so that I will be able to stretch the hips or the other parts of the torso. To rig the spine, I will
just isolate each bone of the spine and give them
a secondary controller that will be driven by
the main torso controller. The idea is to then input a falloff on each of those secondary controllers so that the spine will bend, or whatever, be stretched out, progressively. Each intermediate bone will be the parent of the next deformation bone in the chain, and will be constraining the previous bone in the chain with a “damped track” and “stretch to” constraint. This is the kind of thing you can use for a tail, or fingers,
for whatever you want. I will then create a
new intermediate bone, and by playing with their parenting and “copy transform” constraint
with different falloff, I will be able to increase or decrease the influence of the main controller. This will allow me to rotate or stretch the whole spine using only one controller. I’ve then created an option that allow me to isolate the rotation for the neck, and then worked on the falloff mechanism for the pectoral muscle, meaning that it will be parented both to the shoulder and the second bone will be parented to the spine, for example. Those will influence a third bone that has a “copy transform” from each of those separated bone
with different influences, and this will make this bone following both the spine and the
shoulder, but with a falloff. I’ve then created the
mechanism allowing me to isolate the rotation from the arm so that it will or will
not follow the rotation from the torso, which is very handy whenever you want to
input shoulder movement but keep the position of your arm. Then added a chain of tweakers for the arm as I did for the spine rig. I’ve rigged the palm bone,
kept the fingers simples, and then added some wrist falloff. I’ve also added a little
controller for the biceps. Created some bone groups and assigned some custom shapes for readability, then keyed all the
channels that I will use during the animation to create some kind of keying set, and
I was ready to start animating the torso. Once ready, I’ve enabled the auto-keying, set the keying to
available so that Blender will write a keyframe
only on an existing one, avoiding to add keyframes
on unused channel and keep my Dopesheet clean. I’ve then started blocking the animation, meaning that I will set all the keyframe to step interpolation so that there is no unwanted interpolation between the keyframes, and then
I have a good readability of the animation. Since I wasn’t pleased with the preview of the model I’ve just selected another texture channel in the shader, and then I’ve overlayed it upon the matcap so that I add those
shadows upon a base matcap, making the model easy to read, and so my work easier to read too. I knew I wanted the
animation to be very fast and snappy because it was going to be an animation that supports an information inside of the game, it’s not something that supports an action
or a character behavior. I’m just saying through this animation, “my character is now stronger”. So I can’t use a three
or four second animation to explain to the player
that his character has a bonus. Since the model is supposed to appear upon the head of the character I needed it to kind of inflate or
appear, and I didn’t want it to appear basically, I wanted it to be very small and then pop upon the head of the character and kind of make this flex animation. This is why I’ve started
with the first pose, where the character is bending on himself with his arm wrapping around him as if it was a closed box. Then the character open
and spread his arms before doing his flex action. And finally, in the last pose, he is like, set back into his origin, a bit as if it was some kind of genie from the lamp like in
“Aladdin” for example. During this stage I don’t really care about the timing, this is why I space all my poses by five frame. Here I’m just focusing on the position of the character, his shape, his gesture, and the more accurate and
detailed is your blocking the easier it will be
to position later on. Especially here, where there is no hanging equipment or hairs or tail or whatever kind of secondary motion that can be input into the character, only the biceps and the
muscle from the chest will have secondary movement and I will add them later on during the polishing. If I was to work onto
a full detail character I will not pose the
different part of equipment but mainly focus on body mechanics, then, regarding the equipment like clothes or everything that has a secondary or follow-through motion,
I would work on these during the polishing or
the splining at least. Once all the poses are blocked I will start working a bit on the timing by moving all of the
different poses in time. So I’m still using stepped interpolation, meaning that there is no easing into the different animation. This make it easier to read, and this is generally a moment where I’d like to add some intermediate pose that will help reading the animation and making it more appealing. I will also fix some position or input some overshoots and extreme poses. Here is how the animation look
after this blocking stage. I will then switch the interpolation mode to Bezier and start
splining the animation. Most of the time I start reworking the main torso controller
and this up and down motion. I was feeling that the animation was not super reactive and a bit slow, and this is because I’ve started working
in 24 frame per second while we generally work
in 30 frame per second in “Noara”, so it was a
bit visually disturbing and I’ve just spotted
this a little later on. Once I was happy with my main controller I’ve worked with the chest controller that allow me to bend the spine and make it jump up and down. I’ve then used space switching to polish the animation of this controller chest. I’ve baked it’s animation to an empty and then constraint it with the empty allowing me to control
the animation of the chest using the empty but in world space, making it way easier to animate and read the curve than to work
with a parented bone. This is one of the technique I’ve learned into Richard Lico “Animation Sherpa” courses and that I’ve covered
in my previous tutorial. The idea is to bring more
squashing and stretching to the chest so that it will look more contrasted and
even more fun to watch. Once I was happy with the result I’ve just baked back the empty onto the chest controller, and then we’ll bake the curves into a new action so you will have to go into this newly created action, copy all the animation
curve from the chest bone, and paste it into your current animation. This method will allow you to increase the quality of your
animation and to really, really greatly speed up your workflow. Since most of the pose of my character were symmetrized I’ve just polished the beginning of the
animation on both arms and when I reach frame nine or ten I’ve just been polishing one of the arm and then I will just
mirror all the animation by copying the curves
and then pasting them onto the other arm, selecting the bone and pressing Ctrl + Shift + V. For the pectoral muscle, instead of using any physics I’ve baked
an empty to the position of the chest muscle so that I can switch to world space and then constraint this pectoral muscle with the empty. I’ve then cleaned up my empty animation, getting rid of the Euler rotation and the scaling because I won’t use them. And then I’ve slightly
offset those keyframe in time by removing the “nearest frame” snapping and then polishing those frame by hand by just removing the unwanted keyframe and slightly moving them. Then you just need to
bake back the animation onto the pectoral muscle, as we did before for the torso. I’ve then repeated the process
for the biceps muscles, baking an empty to it,
then making the animation of the empty cycling
by pressing Shift + E, then getting rid of the frame snapping so that I can move those keyframes freely in time and really slightly offset them in time so that I don’t have to polish the curve by hand that much. This slight delay in
the motion will create this overlap animation for me, and then I just add slight jiggling, working on the Z axis of the curves. It was really tempting
to add a lot of jiggle, but the thing is that you
want a snappy animation because these are muscle, and if there is too much jiggle it
won’t look as the movement is controlled by the character nor it is a hard flexed muscle
driving the animation. On the finaL polishing pass I just worked on the different arm joint we’ve created during the rigging stage, allowing me to break the shape of the arm so that I have a smoother movement, especially on the very beginning and the very end of the animation where the arm movement
are very, very fast. And then I was done. So I can’t wait to see the results with a layer of effects in game. This is the end of this video, I hope you’ve enjoyed
it and I will see you in the next one. (relaxing music)

52 Comments

Add a Comment

Your email address will not be published. Required fields are marked *