mpfb_get_material_settings
Read a MakeHuman character's procedural material settings to inspect eyes, skin, and color adjustments before changing them. Reports linked sockets and shared materials; changes nothing.
Instructions
Read a MakeHuman character's procedural material settings - exactly
what mpfb_save_preset saves for them - for
mpfb_set_material_settings to change. Changes nothing.
result has three sections: eyes (procedural eyes), skin (the
LAYERED skin) and color_adjustments (one record per mesh asset, for
the MakeSkin node on its Base Color). One that does not apply says
applies: false and a reason. section ("eyes", "skin" or
"color_adjustments") reads one and reports the others as null; a
full answer can pass 20 KB.
Per node - the eyes, each group in skin.groups (keyed color,
body, face, ... as the preset keys them), each colour adjustment -
keyed by MPFB's own socket names:
settings: each value as the preset holds it, a float or a colour as four scene-linear RGBA numbers. A write takes these as is.srgb_hex:#rrggbbper colour socket, derived for reading only.ranges:[min, max]where a float declares one,nullfor an open end;values_outside_rangenames any value already outside.linked: sockets driven by another node (from_node,from_socket), which a write cannot change. Most layered region colours are linked from thecolorgroup.material_shared_with: other objects a write would change too.
A colour adjustment record also has object_name, object_type,
uuid (the preset's key) and node_name: diffuseIntensity, or on
an asset with an AO map aoMix, whose only writable socket is the AO
strength - MPFB saves that node, and the tint is out of reach. The
eyes never keep one. An unresolved subject is found: false.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| section | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||