Logo   Home Table of Contents    News  Dev Blogs  Gallery  Timeline  Legend  Tags 
Join us on... 
Banner

Current: Month Day, Year

9.3.6 Base JSON file

The base.json file defines all attributes of a certain base mesh. It provides a structured way to organize different features of MakeHuman2 which should be flexible. It is used to e.g. configure the randomizer or the availability of asset-menus for a certain base.

File Locations and loading order

Each basemesh has its own base.json file, which can be in two different locations: <UserDir>/data/base/<basename>/base.json <SystemDir>/data/base/<basename>/base.json

Property Reference

equipment

array of strings, optional

An array of tools which are presented as assets. If it is not set it is only "clothes". It is used to show different menus and can avoid empty menus. E.g. a robot has no "tongue". Example: [ "clothes", "hair", "eyes", "eyebrows", "eyelashes", "teeth", "tongue", "proxy" ]
head-pattern

array of strings, optional

An array of patterns used for all morphs which can be used for head. It is used for loading only head-targets. Example: ["face|", "user|cheek", "user|chin", "user|ear", "user|eye", "user|mouth", "user|nose", "user|teeth" ]
measure

dict, optional

Dictionary used by character measurement to create entries from slider-values of certain morphs. Example: { "gender":"macrodetails/Gender", "age": "macrodetails/Age", "size": "none", "chest": "measure/measure-bust-circ-decr|incr", "waist": "measure/measure-waist-circ-decr|incr", "hips": "measure/measure-hips-circ-decr|incr", "underbust": "measure/measure-underbust-circ-decr|incr" }
mhm

string, required

Name of the mhm file, which is used to display default character. It is found in same folder and usually "base.mhm" Example: "base.mhm"
modifier-presets

dict, optional

Dictionary to change the modifiers to certain values used as default for startup or reset. Example: { "macrodetails/Gender": 0.5, "macrodetails/Age": 0.5, "macrodetails-universal/Muscle": 0.5, "macrodetails-universal/Weight": 0.5, "macrodetails-height/Height": 0.5, "macrodetails-proportions/BodyProportions": 0.5, "macrodetails/Asian": 0.33, "macrodetails/Caucasian": 0.33, "macrodetails/African": 0.33, "breast/BreastSize": 0.5, }
numverts

int, required

An integer which represents the number of vertices. It is used in the mesh-compiler. Example: 19158
parentmesh

string, optional

Allows to e.g. import assets for the parent mesh, so fantasy allow the import of hm08 assets. Example: "hm08"
pose-skeleton

string, optional

Name of the mhskel-file used as pose-skeleton. Should be there, otherwise no posing is possible. Example: "default.mhskel"
target-opposites

dict, required

A dictionary which creates the opposites for sliders, like "decr" versus "incr". It is used to build pairs for the morphs. Example: "target-opposites": { "decr": "incr", "down": "up", "in": "out", "backward":"forward", "concave": "convex", "compress": "uncompress", "pointed": "triangle", "square": "round" }
visible groups

array of strings, required

Name of vertex groups which are displayed on screen, the other groups are hidden (e.g. helper for clothes). It will be normally just one group, but can be used to e.g. display helpers for debugging. Example: [ "body", "wings"]

Property Reference Random

The random block is used to configure the randomizer, it is encapsulated like this: Example: "random": { "nonsym": ["trans-in", "trans-out"], ... }
gender

string, optional

Name of the gender item. Example: "Gender"
groups

dictionary, required

Dictionary of the selectable random groups with preselection when tool is started. Example: { "main": true, "face": true, "torso": true, "arms": true, "legs": true, "gender|breast": false, "shapes|female shapes": false, "shapes|female hormonal": false, "shapes|male shapes": false, "shapes|fale hormonal": false }
ideal

string, optional

Name of the ideal item. Example: "Proportions"
nonsym

array of strings, optional

non-symmetrical morphs. Here the suffixes of non-symmetrical morphs (targets) are mentioned. Example: ["trans-in", "trans-out"]
rules

dictionary of rules, optional

Special item to build a logic to avoid certain random combinations. The rules for each key are also a dictionary, each rule must be true for a certain morph. The rule will be evaluated using eval(), parameter is 'x'. Example: { "Stomach Pregnant": {"Gender": "x < 0.5", "Age": "0.2 < x < 0.75" } } This means: the character must be female and of a certain age.