mpfb_list_targets
List available MakeHuman modeling targets in Blender and report the exact shapekey_name needed to set each morph, without changing anything.
Instructions
Find the MakeHuman modeling targets available in this Blender - the
named morphs like nose-scale-depth-incr that shape a character - and
report each under the name that setting it will require. Changes
nothing.
The phenotype (gender, age, weight, muscle, height, proportions) is
not here: they are attributes on the basemesh
rather than target files, and are mpfb_get_macro_details /
mpfb_set_macro_details territory.
The answer is capped. Check truncated before concluding a target
does not exist; total_count says how many matched.
Arguments, all optional: section (a section name from target.json
or synthesized from a user target directory, matched exactly and
case-insensitively; omit it for the overview), name_contains
(case-insensitive substring, applied to category and target names
alike), and limit (default 200, max 1000) with offset, which page
over a section's categories when it has them and over user_targets
otherwise.
result carries:
sections: every section, each{name, label, source, category_count, target_count}. Around thirty entries, always present.sourceis"system","user", or"both"when a user directory shares a bundled section's name - common, and MPFB merges the two, so such a section returns both.categories: present whensectionnamed one with bundled categories, each{name, label, has_left_and_right, targets, opposites}fromtarget.json. These are whatmpfb_set_targets'modifiersentries address, andoppositesis thedecr/incrand left/right pairing behind MPFB's sliders.nullwhen no section was asked for, or the one asked for is only a user directory.user_targets: what the user data directories hold, filtered tosectionwhen one was given, each withname,shapekey_name,pathandlisted_in_mpfb_ui.target_json_path/target_json_existsandsystem_targets_dir: the bundled index is ~140 KB of JSON and is not returned here - a client that can read the Blender host's filesystem should parse it directly instead.unindexed_system_target_dirs: bundled target directories with notarget.jsonsection, each with a count. The index reads as the complete list of bundled targets and is not.user_target_dirs: the directories actually scanned, so a target that did not appear can be looked for where it was expected.requested_section/section_recognized/known_sections,count,total_count,truncated,offset,limit.
How to name a target when setting it. Use shapekey_name, never
name. name is the filename with its extension stripped, for
display; shapekey_name is what MPFB calls the shape key and the only
string it accepts. The two are equal for most targets and not above
60 characters, where MPFB encodes the name - and a caller using name
there addresses nothing at all, silently. Inside a category, targets
and opposites are already in that form.
Two differences from MPFB's own modeling panels, both real rather than
bugs here: this tool scans per call, so it reports a target installed
since Blender started, which the panels cannot show until it restarts;
and listed_in_mpfb_ui: false marks a *.target.gz outside the
custom section, loadable but skipped by MPFB's own scan.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| section | No | ||
| name_contains | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||