Robot rigging

Introduction

In this entry I make the rigging of the textured models of the two robots from the previous activities . It is proposed to use Mixamo (although I finally used accuRIG) and create the skeleton manually in our software, in my case Blender.

Workflow

Mixamo

In the statement of the activity Mixamo is proposed as a tool to automatically rig our model. However, the website of this service does not let me upload the .fbx files of my textured models (most likely due to the size of the textures). For that reason I was only able to do the test with the model without texturing:

AccuRIG

AccuRIG works in a similar way to Mixamo but locally and giving us more control, since we can move between the different phases of the rigging freely. This way we can work with more detailed models.

For some reason, the software does not display the textures correctly in this model (in the V1 it does), but it is not a concern because the export is correct. In this phase we put indicators at the points of flexion.

I also recommend placing them correctly in the side view (left sidebar) and deactivating the “Midpoint Placement” box (right panel) because if the points are not centered and we lose the work of the front view.

In Hand Rig I have selected 0 fingers because my robot does not have them modeled individually, as it has them in the shape of a fist.

Finally, we can visualize the rigged model with example animations and go back in the workflow if any adjustment does not convince us.

UPDATE:  It turns out that the error happened because in Blender I accidentally exported the model with more than one UV map and accuRIG made a mess. Fortunately, we can load the .fbx with the corrected maps and load the previous rigging data with the “Load AutoRIG Data” option.

UPDATE: And for some reason the textures exported with AutoRIG are not correct, but importing the .fbx in Blender and copying the material I created in the previous activity solves the problem.

Hand Rigging in Blender

As in the last activity to export the models together all the meshes, the first step to make rigging is to select the object in editing mode and separate “By Loose Parts” to have all the objects individually in the editor. I have downloaded a Mixamo frame to have the same number of goodies and thus facilitate retargeting.

In the flexion zones I select the faces that mark the center of union and place the center of the object in that zone.

Later, I move the cursor to that point and finally I bring the head of the bone where the cursor is.

Now I erase half of the skeleton and use Blender’s symetrize function to duplicate them and not have to do twice as much work. Important to include .L (or R) at the end of the number of each bonus for the function to take effect.

Now, to have the bones properly numbered, I have asked ChatGPT to write a script to rename all the bones that have been created with symmetry, so that the number changes from, for example, “mixamorig:LeftHand.L” to “mixamorig:RightHand.R”

Now I use the Addon Parent to nearest bone to parent the objects to the armature. Minus the part of the torso that I do with Automatic Weights so that it has flexibility with respect to the spine.

Finally, here we have the models imported into Unity with the bones shown thanks to the Animation Rigging “Bone Renderer Setup” package.

Results

Time-lapse workflow:

Final ratings

On the one hand, I think that the results with automation tools are much better than I expected, especially considering that my models are hard surface. I think they are a very useful tool because it leaves a skeleton ready to use in any engine eliminating incompatibilities (as long as, of course, it is a humanoid figure).

On the other hand, rigging “by hand” in Blender is comfortable and efficient for me. Above all, it leaves much more control over the movements, since constraints can be applied to the bones so that they move in a certain way. On the other hand, the compatibility of the skeleton that we design in Blender may not be the best for standardized software such as Mixamo or Unity animations, so it will be necessary to investigate which method is more practical to animate in the next phase of development.

es_ESSpanish