Rigging Equipment - NitroxNova/humanizer GitHub Wiki

How to add Bones to Equipment

rigged_pony_down pony_tail_fly

Import to Blender

Once youve created the equipment with makeclothes or mpfb2, Import the generated .obj into Blender. Then go to the 'Scripting' tab and open (or paste) the python script at humanizer/scripts/blender_vertex_ids.py

Screenshot from 2024-10-16 13-59-51

Running the script will inject the .obj's vertex id into the uv data-field. This is necessary because you cant export bones in an .obj, so we have to use .glb but then all the vertices get duplicated and reordered. This allows us to reference the original make_human vertex ids from the new glb.

Add bones in Blender

Then you can add the bones and use 'weight painter' mode to assign them to each vertex. make sure your bone names are unique to the equipment, so they dont conflict with other rigged bone names. Any vertex with less than 100% total weight will automatically be assigned to the neutral_bone (so dont add any bones with this name), and the new weights will be combined with the existing ones. This allows the hair on top to be weighted to the head, and just the ponytail part is affected by the added bones.

ponytail_weights Screenshot from 2024-10-16 14-25-15

Now you'll want to export the project in the .glb format. Make sure you name it the same as the equipment obj, so 'ponytail01.obj' becomes 'ponytail01.glb'. You will need to keep both the obj and the glb for it to work.

Add root bone name to MHCLO file

Now using asset importer to define bones - select bone name from the drop down when doing manual import

You will need to look at the skeleton to determine which bone on the base skeleton to attach the equipment to. Each equipment will only be attached to one bone (so if you have detatched wings they will need to be left and right body parts). By default, most the retargeted skeletons will have the same bone names.