MakeHuman is a
free
Free may refer to:
Concept
* Freedom, having the ability to do something, without having to obey anyone/anything
* Freethought, a position that beliefs should be formed only on the basis of logic, reason, and empiricism
* Emancipate, to procur ...
and
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
3D computer graphics
3D computer graphics, or “3D graphics,” sometimes called CGI, 3D-CGI or three-dimensional computer graphics are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for t ...
middleware
Middleware is a type of computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue".
Middleware makes it easier for software developers to implement c ...
designed for the
prototyping
A prototype is an early sample, model, or release of a product built to test a concept or process. It is a term used in a variety of contexts, including semantics, design
A design is a plan or specification for the construction of an object o ...
of
photorealistic
Photorealism is a genre of art that encompasses painting, drawing and other graphic media, in which an artist studies a photograph and then attempts to reproduce the image as realistically as possible in another Medium (arts), medium. Although ...
humanoid
A humanoid (; from English ''human'' and '' -oid'' "resembling") is a non-human entity with human form or characteristics. The earliest recorded use of the term, in 1870, referred to indigenous peoples in areas colonized by Europeans. By the 20 ...
s. It is developed by a community of programmers, artists, and academics interested in
3D character modeling.
Technology
MakeHuman is developed using
3D morphing technology. Starting from a standard (unique)
androgynous
Androgyny is the possession of both masculine and feminine characteristics. Androgyny may be expressed with regard to biological sex, gender identity, or gender expression.
When ''androgyny'' refers to mixed biological sex characteristics in ...
human base mesh, it can be transformed into a great variety of characters (male and female), mixing them with
linear interpolation
In mathematics, linear interpolation is a method of curve fitting using linear polynomials to construct new data points within the range of a discrete set of known data points.
Linear interpolation between two known points
If the two known po ...
. For example, given the four main morphing ''targets'' (baby, teen, young, old), it is possible to obtain all the intermediate shapes.

Using this technology, with a large
database
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases spa ...
of morphing targets, it's virtually possible to reproduce any character. It uses a very simple
GUI in order to access and easily handle hundreds of morphings. The MakeHuman approach is to use
sliders with common parameters like height, weight, gender, ethnicity and muscularity. In order to make it available on all major
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s, beginning from 1.0 alpha 8 it's developed in
Python using
OpenGL
OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve ha ...
and
Qt, with an architecture fully realized with
plugins
Plug-in, plug in or plugin may refer to:
* Plug-in (computing) is a software component that adds a specific feature to an existing computer program.
** Audio plug-in, adds audio signal processing features
** Photoshop plugin, a piece of software t ...
.
The tool is specifically designed for the modeling of virtual 3D human models, with a simple and complete pose system that includes the simulation of muscular movement. The interface is easy to use, with fast and intuitive access to the numerous parameters required in modeling the human form.
The development of MakeHuman is derived from a detailed technical and artistic study of the
morphological characteristics of the human body. The work deals with ''morphing'', using
linear interpolation
In mathematics, linear interpolation is a method of curve fitting using linear polynomials to construct new data points within the range of a discrete set of known data points.
Linear interpolation between two known points
If the two known po ...
of both
translation
Translation is the communication of the Meaning (linguistic), meaning of a #Source and target languages, source-language text by means of an Dynamic and formal equivalence, equivalent #Source and target languages, target-language text. The ...
and
rotation
Rotation, or spin, is the circular movement of an object around a '' central axis''. A two-dimensional rotating object has only one possible central axis and can rotate in either a clockwise or counterclockwise direction. A three-dimensional ...
. With these two methods, together with a simple calculation of a form factor and an algorithm of mesh relaxing, it is possible to achieve results such as the simulation of muscular movement that accompanies the rotation of the limbs.
License
MakeHuman is
free
Free may refer to:
Concept
* Freedom, having the ability to do something, without having to obey anyone/anything
* Freethought, a position that beliefs should be formed only on the basis of logic, reason, and empiricism
* Emancipate, to procur ...
and
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
, with the
source code
In computing, source code, or simply code, is any collection of code, with or without comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
and database released under the
GNU Affero GPL. Models exported from an official version are released under an exception to this,
CC0, in order to be widely used in
free
Free may refer to:
Concept
* Freedom, having the ability to do something, without having to obey anyone/anything
* Freethought, a position that beliefs should be formed only on the basis of logic, reason, and empiricism
* Emancipate, to procur ...
and non-free projects. These projects may or may not be
commercialised.
Awards
In 2004, MakeHuman won the Suzanne Award as best
Blender
A blender (sometimes called a mixer or liquidiser in British English) is a kitchen and laboratory appliance used to mix, crush, purée or emulsify food and other substances. A stationary blender consists of a blender container with a rotating me ...
Python script.
Software history
The ancestor of MakeHuman was ''MakeHead'', a python script for Blender, written by Manuel Bastioni, artist and coder, in 1999. A year later, a team of developers had formed, and they released the first version of ''MakeHuman'' for Blender. The project evolved and, in 2003, it was officially recognized by the Blender Foundation and hosted on http://projects.blender.org. In 2004, the development stopped because it was difficult to write a Python script so big using only Blender API. In 2005, MH was moved outside Blender, hosted on SourceForge and rewritten from scratch in
C. At this point, version counting restarted from zero. During successive years, the software gradually transitioned from C to
C++.
While performant, it was too complex to develop and maintain. Hence, in 2009, the team decided to go back to the Python language (with a small C core) and to release MakeHuman as version 1.0 pre-alpha. Development continued at a pace of 2 releases per year. The stable version 1.0.0 was officially released March 14, 2014. MakeHuman 1.1.0 has been released May 14, 2016, around two years later. The most recent intermediate version is 1.1.1, as of March 5, 2017.
A community website was established June 2015 featuring a
forum
Forum or The Forum (plural forums or fora) may refer to:
Common uses
*Forum (legal), designated space for public expression in the United States
*Forum (Roman), open public space within a Roman city
**Roman Forum, most famous example
*Internet ...
section, a wiki, and a repository for user contributed content for the program.
Evolution towards a universal model topology

The aim of the project is to develop an application capable of modeling a wide variety of human forms in the full range of natural poses from a single, universal
mesh
A mesh is a barrier made of connected strands of metal, fiber, or other flexible or ductile materials. A mesh is similar to a web or a net in that it has many attached or woven strands.
Types
* A plastic mesh may be extruded, oriented, e ...
. For this purpose, the design of a 3D humanoid mesh that can readily be parametrically manipulated to represent anatomical characteristics has been pursued, the mesh includes a common skeleton structure that permits character posing. MakeHuman Team developed a model that combines different anatomical parameters to transition smoothly from the infant to the elderly, from man to woman and from fat to slim.
The initial
mesh
A mesh is a barrier made of connected strands of metal, fiber, or other flexible or ductile materials. A mesh is similar to a web or a net in that it has many attached or woven strands.
Types
* A plastic mesh may be extruded, oriented, e ...
occupies a middle ground, being neither pronounced masculine, nor pronounced feminine, neither young nor old and having a medium muscular definition. Goal was to depict a fair-built androgynous form, named the ''HoMunculus''.
The current MakeHuman mesh has evolved through successive steps of MakeHuman project, incorporating lessons learned, community feedback and the results of considerable amounts of studies and experimentation.
Evolution of the mesh for the human model:
* A first universal mesh prototype (head only), done in 1999 using makeHead script, was adapted for the early MakeHuman in 2000.
* The first professional mesh (HM01) for a human model was realized by Enrico Valenza in 2002.
* A second remarkable mesh (K-Mesh or HM02) was modelled by Kaushik Pal in 2003.
* The third model was created by Manuel Bastioni upon the Z-Mesh or HM03 in 2005.
* With experience from preceding versions, a fourth mesh (Y-Mesh or HM04) was done by Gianluca Miragoli (aka Yashugan) in 2007.
* The fifth mesh (HM05) was built on the previous one by Gianluca Miragoli and Manuel Bastioni in 2008.
* A sixth mesh (HM06) was also created by Gianluca Miragoli in 2010.
* Another mesh version was released in 2010 by Waldemar Perez Jr., André Richard, Manuel Bastioni.
* The latest and state-of-the-art mesh, released in 2013, was modeled by Manuel Bastioni.
Since the first release of makeHead (1999) and MakeHuman (2000), a challenge had been to construct a universal topology that retained all of the capabilities but added ability to interactively adjust the mesh to accommodate anatomical variety found in the human population. This could have been addressed by dramatically increasing the number of vertices for the mesh, but the resultant, dense mesh would have limited performance on processing computers. Technically, the model developed for MakeHuman is:
* Light and optimized for subdivision surfaces modelling (15,128
vertices).
*
Quads
The quadriceps femoris muscle (, also called the quadriceps extensor, quadriceps or quads) is a large muscle group that includes the four prevailing muscles on the front of the thigh. It is the sole extensor muscle of the knee, forming a large ...
only. The human mesh itself is ''triangles free'', using
Catmull-Clark subdivision for extra resolution to base meshes, see also
polygon mesh
In 3D computer graphics and solid modeling, a polygon mesh is a collection of , s and s that defines the shape of a polyhedral object. The faces usually consist of triangles ( triangle mesh), quadrilaterals (quads), or other simple convex ...
.
* Only E(5) Pole and the N(3) Pole, without holes and without 6-
edge poles.
Research usage
Because of the freedom of the license, MakeHuman software is widely used by researchers for scientific purposes:
MakeHuman mesh is used in
industrial design, to verify the
anthropometry
Anthropometry () refers to the measurement of the human individual. An early tool of physical anthropology, it has been used for identification, for the purposes of understanding human physical variation, in paleoanthropology and in various atte ...
of a project, and in
virtual reality
Virtual reality (VR) is a simulated experience that employs pose tracking and 3D near-eye displays to give the user an immersive feel of a virtual world. Applications of virtual reality include entertainment (particularly video games), e ...
research, to quickly produce
avatars from measures or camera views.
MakeHuman characters are used in
biomechanics
Biomechanics is the study of the structure, function and motion of the mechanical aspects of biological systems, at any level from whole organisms to organs, cells and cell organelles, using the methods of mechanics. Biomechanics is a branch ...
and
biomedical
Biomedicine (also referred to as Western medicine, mainstream medicine or conventional medicine) engineering, to simulate the behaviour of the human body under certain conditions or treatments. The human character model for a project of the construction of artificial
mirror neuron
A mirror neuron is a neuron that fires both when an animal acts and when the animal observes the same action performed by another. Thus, the neuron "mirrors" the behavior of the other, as though the observer were itself acting. Such neurons ha ...
systems was also generated by MakeHuman.
The software was used for
visuo-haptic surgical training system development. These simulations combine tactile sense with visual information and provide realistic training scenarios to gain, improve, and assess resident and expert surgeons' skills and knowledge.
Full-body 3D virtual reconstructions have been performed using MakeHuman, and 3D analysis of early Christian burials (archaeothanatology).
The tool has also been used to create characters to perform Sign Language movements.
MakeHuman can also be used for nonverbal behavior research, like facial expressions, which involve the use of Facial Action Coding System
See also
*
Facial Action Coding System
The Facial Action Coding System (FACS) is a system to taxonomize human facial movements by their appearance on the face, based on a system originally developed by a Swedish anatomist named Carl-Herman Hjortsjö. It was later adopted by Paul Ek ...
*
Blender software
Blender is a free and open-source 3D computer graphics software tool set used for creating animated films, visual effects, art, 3D-printed models, motion graphics, interactive 3D applications, virtual reality, and, formerly, video games. Blend ...
*
Poser
*
Daz Studio
*
FaceGen
*
ManuelbastioniLAB, a free and open source plug-in for Blender for the parametric 3D modeling of photorealistic humanoid characters
References and Related Papers
External links
*
{{Animation editors
Free 3D graphics software
3D modeling software for Linux
Anatomical simulation
Free software programmed in Python
3D graphics software that uses Qt
Windows graphics-related software
MacOS graphics software
Software using the GNU AGPL license