Hello Blender Gurus, I am once again asking for your support…
It is my intention to add to the rig shown in the video, a face rig using rigify…
The character shown was rigged using mixamo, and the rig was generated using the mixamo blender plug in…
I have once added a rigify face rig by adding the faces.super rigify sample… But I’m not sure how to then parent and automatically weight a mesh already parented and weighted to the mixamo rig… Any ideas please?
I think this tutorial might be the solution I’m looking for but here’s what I’m wanting to do.
I want to rig this character, basically like a robot body, with a human head inside the helmet.
I’ve used Rigify but it’s a robot body. So, I don’t need to deform the metal segments. I also need to add bones/controls that rotate on only 1 axis, to provide the robotic mobility this suit should have.
I originally did a super simple “rig” by parenting controllers to the various parts, but since that wasn’t an Ik/Fk rig, it wasn’t very efficient for posing and animation.
Having an “organic” face rig would also be great.
Does Mixamo allow the addition of “joints” between, for instance, the shoulder and the elbow, the elbow and wrist? If so, I can follow this tutorial and achieve the rig I want for my character.
it’s possible.
you can start separate, take what ever you need from rigify (neck-head-face for example) and generate the rig.
making your own rig for the mechanical parts (a different armature object) after that join the two armature to one object (Ctrl+j). after that in edit mode you parent what every needs to be parented from both previously separated rig to each other.
i used this technique here where i created the limbs bones from scratch for the mechanical limbs parts. and used rigify for the organic parts (sorry didn’t record the rigging cause i was exactly trying to learn this by trail and error):
also if you you think you want some limbs from rigify but you don’t want to be a deform bone and just parent to bone. you can unchek the “Deform” for those bone in the edit/pose mode of rigify MetaRig before generating the rig:
simple, after joining the rigs, just re-parent with automatic weights. if you are very skeptical like me, i go and delete all the vertex groups already created from the previous parenting and maybe the armature modifier. and parent with auto-weight again.
edit: that what used to do before i learned from CG-dive re-weight by vertex selection done around time 15:00
Thank you so much for such a thorough and clear answer.
I had subdivided the upper_arm, forearm, thigh, and shin bones, hoping to get some controllers for those once I generated the rig with Rigify, but I kept getting “chain length” errors and was never able to generate a rig. I’ve learned a lot recently, but clearly, there’s more to learn.
As you understand, and to be super clear, unlike an organic hip for instance, I need mine to be articulated in 3 places, the hip pivots on the X, the next segment on the Y, and the next on the Z, and so forth.
Similar to turning off the Deform check box (THANK YOU) are there ways to have Rigify generate what I’m talking about?
Went back to the picture of your model (nice model BTW) and understood why the hip needs 3 parts. but now i’m wondering if mixamo is being able to understand that and you can get something of Mixamo like for that.
not sure but i think you need your own rig for that (the mechanical parts). i had the same issues with the project i showed you in the link above. even a simple IK chain i will have to constraint the rotation on one axes only since the design is hinge and not a ball join. the top of your legs and shoulder will have extra pieces since one part will be responsible for one axis and the second part for the other which is one ball join on an organic model.
after that use the tutorial above (CG-Dive) for merging the face rig.
if my suspitions are correct about this will break the Mixamo workflow (unless it’s AI is really smart) just make a simple version of your model with another rig (closer to human skelton) with the joints at the same positions that you will use for Mixamo and import back and figure out a re-targeting or manually follow the animation
@ToshiCG you’re CGDive!!! dude thanks a lot of those amazing tutorials!!!
been off the grid in recent months but before that i can proudly say that i watched ALL YOUR CHANNEL
for the tutorial you mentioned above i have a small addition: i was following it while trying to get something done on a crunch and not sure if i went back and commented it on Youtube like I planned to, so allow me here:
at around 20:25 when you said we lost the Rigify menu cause of the merge. i felt bad for that too and found a workaround (hope it still works with new blender versions).
what i did was the opposite of the selection order you mentioned at 12:54. in other words i joined the Mixamo rig to the Rigify rig.
this will keep the Rigify UI options intact but breaks the Mixamo ones.
with the rig still selected just click on the generate control rig of the Mixamo add-on. Mixamo will fix it’s stuff and leave Rigify options intact and you get the best of both worlds!
I remember i even added ghost bones for the limb groups of Rigify to have the whole Rigify menu. and after that i cleaned and moved the Mixamo limbs in those groups and was able to hide/unhide each Mixamo limbs from the Rigify menu in one place with the head and face
Why are you looking at Mixamo? Are you looking at it for the rig, or the actions?
I thought the thing with Mixamo is once you have the character rigged with their rig then you can use their animations. But it has been sometime since I looked at Mixamo, so maybe I’m wrong…
For your robot/character, you’ll need a custom built rig.
If your simple rig would work as FK, then adding in all the extra stuff to add IK to it shouldn’t be that hard, but it will be a bit of work…
Looking for a balance between features, ease, and final results. Rigify might be solving what I need but I’m not sure yet. The real question is will I be able to “add” the “hinge/pivot” joints on the arms and legs.
I did some more clean-up/redesign to the mesh and followed your tip to uncheck Deform. So the rig generated and I need to see if weight-painting will solve the rest of the issues.
But the “hinge/pivot” joints will be the ultimate question.
I’ll only need Mixamo if it can easily provide those hinge/pivot joints. Otherwise, I’ll have to learn exactly how to get Rigify to accept the additional bones.
@Melton_Cartes I don’t think the weight paint will solve the HINGE parts issues. that’s why the custom rig is what first comes to mind.
but I hear you!!! im not a guru rigger and rigify/mixamo spoiled me so much that i will be super lazy to rig from scratch and i will consider a way to adapt them.
after thinking about your issue i think you can add your custom bones on top of rigify. here is an example using the leg. i moved them to the right so you can see them but traced in red where i meant them to be:
what you see on the left is the original DEFORM bones of rigify. and the idea is to use the deform bones from rigify as control bones for your newly added ones with bone constrain.
since the ball joint of the thigh is meant to be done with 3 separate parts of your robot (one for each axis) i did a transformation constraint for each to get the rotation of one axis of the thigh to the corresponding bone/part. I tried to explain what i mean in the picture below: (maybe i should make a video tutorial )
and here is a result while animating the rigify IK control of the legs. the constraints are mapping the rotation of each axis to the corresponding newly created bones so no Hinge gets off axis. and as you can see on the right i modeled a cool robot like yours too
now you hide the rigify def bones. and just use the control bones for animation.
if it works for you as you can infer now this can be done to a Mixamo rig too (you want Mixamo not for the quality of rigging but to save time on animation). just trick Mixamo by Merging your mesh and rig it there (you will see ugly deformation of your mechianical parts) when you get back in blender try this solution (you can even tweak the rest pose of mixamo rig in blender to have a precise position of where you want the joing to be)
after that you parent your parts to the new created bones (or give them full weight to this bones for use with mixamo or other software that will not take blender parenting)
hope it will help.
Edit: i forgot to mention that the first bone of that chain was parented to the hip (1st spine bone) or the pelvis bone or what ever works for you
I’m in Blender 4.0 and I can’t find the DEF bones anymore (I saw them for a split second and don’t know what I did). I know that the “layers” UI has become the Bone Collections.
“what you see on the left is the original DEFORM bones of rigify. and the idea is to use the deform bones from rigify as control bones for your newly added ones with bone constrain.” So, am I duplicating the Deform bones to create the new 3 HINGES or…?
I see that you’re using the original Control bones and the new ones, thanks to the Bone Constraints, are just obeying the IK posing. Excellent.
Wait! They’re back (Root, ORG, MCH, DEF…). I’m in Pose Mode and have the hand control selected… Okay. So, the DEF bones are hidden in the Rig, not in the Metarig.
@Melton_Cartes yes all what i did was in the rig itself after generating it and not in the meta rig.
tweak your Metarig like it was a human kinda. and after generating the rig. do modification i did was in the rig itself.
yes the layers are gone and now collection. the last collection called DEF is what contains the deform bones. (maybe control bones can be used but i believe def bones are simpler to understand they are a pure representation of the anatomy and what really moves by the end of the day)
to add the bones to the rig you do it in Edit Mode (even the parenting). the constraints in pose mode.
to map the rotations, if it’s hard to guess, you can unable the AXIS in the display properties of the rig to see the axis of your bones. if a bone you added is rotated badly relative to the one on the rig. in edit mode you select the bone and in the Item section of the N panel of the 3d viewer adjust it’s ROLLS to have a nice rotation to start with (better have the axis look like the ones of the rig to have a straightforward maping).
there is no def bones in the meta rig. the meta rig is just a template (it just happen it uses bones too but they are a good representaiton of how the def bones will be) that you tweak to let rigify scripts know where to generate each bone in the rig. so all the bones in the metarig are a temporary tool and it’s a completely separate object usualy we hide it right after we create the rig (you maybe need it to tweak again and regenerate).
yes the DEF bones are hidden by default to not have a busy rig with bones you can’t move yourself anyway and they are all constrained to the control ones.
This is as far as I’ve gotten (with weight painting). My gun “arm” only generated one control, the turret (around the waist). The fingers are only obeying the thumbs.
The hip is still distorting, as is the ankle, etc.
I’ll review your notes and see if I can figure it out.
So, I add the bones in the metarig (Edit, etc.). But the constraints happen on the rig (controllers)?
No Messing with the meta rig is hard it will break easly and rigify script are not expecting this modification
edit: you can add them in the Meta rig yes and sorry with the supercopy tag so rigify will replicate them in the rig and maybe that’s good for regenerating in the future(you’re right i think), but that’s not what i did lol)
but you can add them too in the EDIT MODE of the Rig.
for the twist/disortions of the parts. yeah selecting your model and using automatic weight will not work for hard parts. you have two choices:
select you object (the part) => select the rig => switch to pose mode => select the bone you want that part to follow => Ctrl+p to part and choose Bone (so that specific bone will be the parent of that parts)
parent the part with weight to one bone. you can now just delete all the other vertex groups named after the other bones and leave just one group with the name of the bone you want and have full weight.
if you are just staying in blender i recommend the first (ease of use) but you said unreal at some point so maybe you need the second method.
as explained in the previous paragraph all the vertex of the hip should be 100% weighted to one bone!
for the knee is what we tried to solve with more than one bone. the lower leg is not supposed to turn like that without the orange part of the knee itself.
this is how i see every part should be responsible of one axis of the rotations for the lower leg:
the design of the robot is amazing and smart and there is a part for every movement needed. just the color coding of objects is a good indicator of where you need a different bone. now the complexity of the rigging this is every join can only do one axis. (which maybe as easy as to lock the rotation in the other axis) and for the solution of still using rigify i suggested will just split the rotation of one join to more than one based the parts design