mpfb_get_object_info
Find what MakeHuman asset a Blender object came from and what belongs with it, without changing or selecting anything.
Instructions
Identify one Blender object, say what MakeHuman asset it was made from, and list what else belongs with it. Changes nothing, selects nothing.
name is a Blender object name, typically one from
mpfb_list_objects. Omit it to ask about the currently active
object - what the user just created or clicked. Not resolving a
subject is a normal answer: found is false and message says whether
no such object exists or nothing is active.
result always carries found, subject_resolved_by ("name" or
"active") and message. When found is true it also carries:
name: the resolved object's name. Carry this forward rather than re-deriving from the active object, which changes as the user clicks.in_current_scene: object names are unique across the whole .blend, so a name can resolve to an objectmpfb_list_objectsdoes not list. False here is not a contradiction between the two tools.object_type(MPFB's type, or null for a plain Blender object),blender_type,is_makehuman_object.rigify_role: "generated_rig", "metarig", or null - reported whatever the object's type, because MPFB tags the rig it generates through Rigify as aSkeleton.asset_info: what the object was made from, or null when it has no MPFB type. Its keys depend on the object type - a skeleton has no mhclo, so it has nomhclo_pathkey rather than a null one.Skeleton/Subrigcarryrig_identified_asandrig_definition_path; a mesh asset (Clothes,Eyes,Hair,Proxymeshes, ...) carriesasset_source,mhclo_path,material_identified_as,material_sourceandmhmat_path; aBasemeshcarries the last three. An unrecognized MakeHuman type gets an empty dict.related_objects: the MakeHuman objects among this one's parents, children and siblings - "what belongs with this character" - each with the same fields plus its ownasset_info, excluding the subject. A flat list, not a tree; call this tool again on a name to walk the structure.other_related_objects: relatives carrying no MPFB type, each with arigify_role. This is where a Rigify rig built outside MPFB shows up: it drives the character but appears in no other list this server returns.
Reading asset_info correctly: every *_path is an absolute path or
null, while the *_source fields beside them are MPFB's short
fragments and are not paths. The pair keeps two situations apart -
a null fragment means nothing was recorded, a fragment with a null path
means the asset is recorded but is not installed under any asset root
this Blender can see. A null material_source on a mesh asset is
ordinary: the object uses the default material named inside its mhclo,
deliberately not resolved here. The *_identified_as values are read
off the object as it is now, while the *_source fragments
record what was loaded and are never rewritten when the object is
edited by hand; where they disagree, the identified value describes
reality. And mhclo_path may point at a .proxy file, so do not
decide what something is from the suffix.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||