http://pad.constantvzw.org/p/possiblebodies.passau
MakeHuman is an Open Source software for modeling 3-dimensional humanoid characters [1]. Including a concrete software object into this glossary means to address specific entanglements of
technology, representation and normativity: a potent triangle that MakeHuman sits in the middle of. But MakeHuman does not only deserve our attention due to the technological power of self-
representation that it affords. As an Open Source project, it is shaped by the conditions of interrogation and transformability, guaranteed through its license. Like many other F/LOSS projects, MakeHuman is surrounded by a rich constellation of textual objects, expressed through publicly accessible source code, code-comments, bugtrackers, forums and documentation [2]. This porousness facilitated the shaping of a collective inquiry, activated through experiments, conversations and mediations [3]. In collaboration with architects, dancers, trans*-activists, design students, animators and others, we are turning MakeHuman into a thinking machine, a device to critically think along physical and virtual imaginaries. Software is culture and hence software-making is world-making. It is a means for relationalities, not a crystallized cultural end [4].
MakeHuman with Jara Rocha in: Rosi Braidotti (eds), The Posthuman Glossary (forthcoming)
http://snelting.domainepublic.net/files/MakeHuman_PostHuman.pdf
--------------------
09:00 Introduction: MakeHuman, ReMakeHuman and The Possible Bodies Inventory
10:00 Installing MakeHuman and getting familiar with it: interface, operations, files.
11:00 MakeYou: Generate a humanoid character based on measurements and observations of your
12:30 Break
13:30 MakeChange: Interface alterations
We divide over duos/groups and start a round of collective explorations of the MakeHuman software. Each duo documents their findings on-line. Some research might overlap as it touches each of the four research threads. Remember to link conceptual questions to technical and practical explorations, so dig into source code, try out features, make screenshots, be sensitive to terminologies/language and invent small experiments.
Based on these explorations, propose and implement a re-languaging of the MakeHuman interface (see below)
16:00 Presentations and collecting ideas for items to be added to the Possible Bodies Inventory.
17:00 End
--------------------
Software: http://www.makehuman.org
Code: https://bitbucket.org/MakeHuman/makehuman
Files: http://cloud.constantvzw.org/index.php/s/blWiSU3Bq0ebDf7
Possible Bodies Inventory: http://possiblebodies.constantvzw.org
Notes of collective software research
skin colours (path): data - skins - textures
is there a connection between measurment features? - e. g. certain arm length only allows a certain thickness, neck circum affects neck length etc.
relations of measurements to features of age/gender (baby cannot have certain arm length etc.)
what are the relations between clothes tags ('male', 'female') and applying them? is there a hierarchy between these tags (it seems male clothes are always on top of female clothes)
how do these clothings affect the body shape? male clothes on female bodies seem to change the body (breasts change place and even with the position slider cannot be put back where they were - changing clothes to female puts the shape back)
facial expressions: what kinds of emotions are represented? how are they selected? what different kinds of representation are there for one emotion? what is the hierarchy between them? differences in gender?
in human.py:
The gender of this human as a float between 0 and 1.
0 for completely female, 1 for fully male.
def getDominantGender(self):
"""
The dominant gender of this human as a string (male or female).
None if both genders are equally represented.
"""
if self.getGender() < 0.5:
return 'female'
elif self.getGender() > 0.5:
return 'male'
else:
return None
oppositions: underweight - heavy /
in humanmodifiers.py:
# We assume there to be only 3 ethnic modifiers
self._defaultValue = 1.0/3
in human.py:
#self.idealproportionsVal = max(0.0, self.bodyProportions * 2 - 1)
#self.uncommonproportionsVal = max(0.0, 1 - self.bodyProportions * 2)
# No pregnancy for male, too young or too old subjects
if "stomach/stomach-pregnant-decr|incr" in randomValues:
randomValues["stomach/stomach-pregnant-decr|incr"] = 0
seems to be unused but there is an issue with bra cups.. (here's the japanese example)
mod = int(underbust)%5
band = underbust - mod if mod < 2.5 else underbust - mod + 5
cup = min(max(0, int(round(((bust - underbust - 10) / 2)))), len(eucups)-1)
self.eu.setTextFormat('EU: %d%s', band, eucups[cup])
jpcups = ['AAA', 'AA', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']
Stefan: when measuring oneself precisely, the calculated height does not match necessarily.
http://www.makehumancommunity.org/poses.html
MakeChange
To locate programme files in Mac Os X, look for the .dmg and select 'show content of packet'
On Linux (Os X?), to search through multiple files, open a terminal/consola and use:
*$ grep -rnw '/usr/share/makehuman' -e "Asian"
On Windows: findstr?
CHANGE LANGUAGE + TERMINOLOGY
/usr/share/makehuman/data/languages
pick one of the languages, for example:
german_generic.json
open file
save as mylanguage.json
re-translate as you like
restart MakeHuman, switch language
CHANGE OUTPUT IN BAR BELOW FIGURE
/usr/share/makehuman/apps/gui/guimodifier.py
look for these lines:
if human.getGender() == 0.0:
gender = G.app.getLanguageString('Female')
elif human.getGender() == 1.0:
gender = G.app.getLanguageString('Male')
elif abs(human.getGender() - 0.5) < 0.01:
gender = G.app.getLanguageString('Neutral')
else:
gender = G.app.getLanguageString('%.2f%% female, %.2f%% male') % ((1.0 - human.getGender()) * 100, human.getGender() * 100)
Change texts between '...' and restart MakeHuman
CHANGE WARNING MESSAGE
/usr/share/makehumanoid/core/mhmain.py
look for these lines:
self.prompt('Warning', 'MakeHuman is a character creation suite. It is designed for making anatomically correct humans.\nParts of this program may contain nudity.\nDo you want to proceed?', 'Yes', 'No', None, self.stop, 'nudityWarning')
Make changes and restart MakeHuman
CHANGE SLIDERS
/usr/share/makehumanoid/data/modifiers/modeling_sliders.json
"Macro modelling": {
"label": "Main",
"saveName": "macro",
"sortOrder": 0,
"showMacroStats": true,
"modifiers": {
"Macro": [
{"mod": "macrodetails/Gender", "label": "Gender"},
{"mod": "macrodetails/Age", "label": "Age"},
{"mod": "macrodetails-universal/Muscle", "label": "Muscle"},
{"mod": "macrodetails-universal/Weight", "label": "Weight"},
{"mod": "macrodetails-height/Height", "label": "Height"},
{"mod": "macrodetails-proportions/BodyProportions", "label": "Proportions"},
{"mod": "macrodetails/African", "label": "African"},
{"mod": "macrodetails/Asian", "label": "Asian"},
{"mod": "macrodetails/Caucasian", "label": "Caucasian"}
]
}
}
change into (for example):
"Macro modelling": {
"label": "Main",
"saveName": "macro",
"sortOrder": 0,
"showMacroStats": true,
"modifiers": {
"Macro": [
{"mod": "macrodetails/Gender", "label": "Is gender on the left or on the right?"},
{"mod": "macrodetails/Age", "label": "Am I old or am I young?"},
{"mod": "macrodetails-universal/Muscle", "label": "Am I strong or maybe not"},
{"mod": "macrodetails-universal/Weight", "label": "Do you think I look fat?"},
{"mod": "macrodetails-height/Height", "label": "Am I larger than you?"},
{"mod": "macrodetails-proportions/BodyProportions", "label": "Not sure what this does"}
]
}
}
}
take out the sliders you do not want, change their labels ...
restart MakeHuman
CHANGE SPLASHSCREEN
replace file: makehumanoid/data/themes/default/images/splash.png
TRANSLATION_ in German, "breast" is translated into "Brüste", which is a notion for the female body parts. Better would be the translation into "Brust", which is the neutral parts
STARTING SHAPE: why not just a white ball? or another "neutral" shape?
Hardest thing in the operating software: coupling of e. g. color and body shape (you can edit the body in various ways afterwards; why not just pick a color first from the whole color range a computer can display, from pink to yellow?)