Create Assets

May 18, 2026 · View on GitHub

Source: src/mpfb/ui/create_assets/makeweight/

Parent panel: MPFB_PT_Create_Panel ("Create assets")

Overview

MakeWeight is the tool for managing vertex weight files independently of any specific rig-attachment workflow. In the MakeHuman ecosystem, vertex weights describe how much each bone of a skeleton influences each vertex of the base mesh. These weights are stored as JSON files and are loaded alongside rig definitions when a rig is attached to a character.

MakeWeight lets you:

  • Import an existing weight JSON file onto the active mesh, restoring the vertex groups it defines.
  • Export the current vertex groups as a weight JSON file for redistribution or library storage.
  • Truncate the weights in a selected vertex group, clamping small values to zero to clean up noisy weight paint data.
  • Symmetrize weights from one side of the mesh to the other.

The panel is only drawn (poll passes) when the active object is a basemesh, a skeleton, or any object whose nearest relative in the scene hierarchy is a skeleton.

Panel

MPFB_PT_MakeWeight_Panel ("MakeWeight")

AttributeValue
bl_label"MakeWeight"
bl_categoryMODELCATEGORY
bl_parent_idMPFB_PT_Create_Panel
bl_optionsDEFAULT_CLOSED
Base classAbstract_Panel
Properties prefix"MW_"

The panel draws three collapsible boxes:

  • Load and save — buttons to import a weight JSON file and to save the current vertex groups as a weight JSON file.
  • Vertex groups — a dropdown listing all non-joint vertex groups on the active object, and a "Truncate" button to clean up the selected group.
  • Symmetrize — buttons to mirror weight values from the +X side to the -X side or vice versa.

Operators

MPFB_OT_ImportWeightsOperator

AttributeValue
bl_idnamempfb.import_makeweight_weight
bl_label"Import weights"
PollActive object must be a basemesh or skeleton

Opens a file browser filtered to .json files and imports the chosen weight file onto the active mesh. The weight file defines vertex group names and per-vertex weight values; the operator creates or updates the corresponding vertex groups on the mesh.


MPFB_OT_SaveWeightsOperator (makeweight)

AttributeValue
bl_idnamempfb.save_makeweight_weight
bl_label"Save weights"
PollActive object must be a basemesh or skeleton

Opens a file browser and exports the current vertex groups of the active mesh to a .json weight file. All non-joint vertex groups are included.


MPFB_OT_TruncateWeightsOperator

AttributeValue
bl_idnamempfb.truncate_weights
bl_label"Truncate"

Cleans up the vertex group selected by the vertex_group property by removing or zeroing out weight values that fall below a threshold. This is useful after painting weights manually, where small stray values can cause unwanted bone influences.


MPFB_OT_SymmetrizeWeightLeftOperator

AttributeValue
bl_idnamempfb.symmetrize_makeweight_left
bl_label"Copy +x to -x"

Mirrors weight values from the positive-X side of the mesh to the corresponding mirrored vertices on the negative-X side. Vertex matching uses the base mesh's built-in symmetry table.


MPFB_OT_SymmetrizeWeightRightOperator

AttributeValue
bl_idnamempfb.symmetrize_makeweight_right
bl_label"Copy -x to +x"

Mirrors weight values from the negative-X side of the mesh to the corresponding mirrored vertices on the positive-X side.

Properties

Scene properties (prefix "MW_")

PropertyTypeDescription
vertex_groupenum (dynamic)Vertex groups currently present on the active object, excluding groups whose names begin with joint-. Populated at draw time. Used to select which group the "Truncate" operation acts on.
overwritebooleanIf false, refuse to overwrite an existing weight file when saving.
  • MakeRig — load/save rig and weight files as part of the rig authoring workflow
  • Rigging — Standard rig — attaches a standard rig and its associated weight file to a character