Skip to main content

Skinning in Mixamo

Mixamo is a free and easy-to-use tool for rigging and skinning human-like models. It provides very good results. The only drawback is that rig itself may variate a little depending on models geometry and selection of keypoints. For example, relative bone proportions are not necessary follow our base model (reference armature), position of shoulder bones may be different, head bone is not connected to neck. Models exported from Mixamo are compatible with the SDK out-of-the-box, but we recommend to tune PoseTuneParams as per their documentations to achieve better alignment of rig and the detected pose.

If you have separate apparel model, you need to add a body and align them to build full-body model compatible with Mixamo. In case you already have complete 3D full-body model you can skip the next steps:

Import models

  • Align the asset with the body model as accurately as possible using translation, rotation and scale. Make sure there're no intersections between meshes. Minor intersections that can be removed with further pose alignment are fine.

Align models

  • Bake transformations into the model's mesh: select your model in Object mode and use Object -> Apply -> All Transforms.

  • Some tips on how to optimize mesh for more accurate rigging/skinning:

    • Remove holes in the mesh - make sure all the vertices on your mesh are welded/merged together. You can use Merge By Distance tool available in Modeling mode (Mesh -> Merge -> By Distance).

    Remove holes

    • Recalculate normals. In Modeling mode, select all vertices and use Mesh -> Normals -> Recalculate Outside

    Recalculate normals

  • Fit body into the model adjusting the pose. In Pose mode rotate bones to align body with the model.

Rotate bones

  • Apply current pose modifiers to the body model:
    1. In Object mode select each mesh of the body object.
    2. Go to its modifiers and apply Armature.

Apply armature modifier

  • Now we can remove Armature as it doesn't influence any mesh and Mixamo will re-rig the whole model providing a new skeleton.

Rigging with Mixamo:

  • Mixamo works only with .fbx format. Export full-body model into .fbx.
  • Make sure model is export together with all textures: in export dialog select Path Mode: Copy and check Embed Textures switch.

Apply armature modifier

  • In Mixamo web app click Upload Character button.
  • Drag and drop model exported into .fbx file.
  • Follow the step-by-step auto-rigging instructions.

Apply armature modifier

  • Download rigged and skinned model.
  • Convert .fbx to .glb model:
    1. Import .fbx model in Blender.
    2. Export as .glb file.

Export gltf

  • In your app use one of body pose plugins to add model to a scene.

Models exported from Mixamo are compatible with the SDK out-of-the-box, but we recommend to tune PoseTuneParams as per their documentations to achieve better alignment of the rig and the detected pose.