MakeHuman

MakeHuman
MakeHuman
Developer(s) The MakeHuman team.
Stable release 1.0 alpha6 / April 1, 2011; 7 months ago (2011-04-01)
Written in Python, C
Operating system Windows, Linux, Mac OS X
Type 3D computer graphics
License GPL[1]
Website http://www.makehuman.org/

MakeHuman is an Open Source software application that generates 3D humanoids. Features that make this software unique include a new, highly intuitive GUI and a high quality mesh, optimized to work in subdivision surface mode (for example, Zbrush). Development effort is currently focused on the 1.0 Release, based on a new GUI and a 4th generation mesh. This release also incorporates considerable changes to the code base which now uses a small, efficient core application written in C, with most of the user functionality being implemented in Python. Because Python is an interpreted scripting language, this means that a wide range of scripts, plugins and utilities can be added without needing to rebuild the application. The MakeHuman team work towards correctness both in programming (using common file formats) and anatomy. MakeHuman makes extensive use of university research in accurately modelling the human form.

Contents

Features

The New GUI

The new GUI incorporates modelling controls based upon Ethnicity (Ethnic tool will be restored in alpha6), Gender, Age, Muscle Tone and Body Mass, Breast size, Breast firmness, Eyes slider, Mouth slider, Nose slider, Ear slider, Face age and much more. This GUI incorporates a small number of standardised 'intelligent' tools designed to minimise the learning curve for new users while providing powerful features to enable all users to rapidly model a character that meets their needs. Knowledge has been built into the tools so that, for example, if a female figure is being modelled (as defined by the Gender tool), then any body mass added to the model will accumulate fat in those areas of the body where a woman typically accumulates fat.

The mesh

All MakeHuman humanoid figures are based on a single, highly optimized, light and professional mesh. The main features of the human model (named "HoMunuculus") are:

  • Light and optimized for subdivision surfaces modelling (14638 verts, including teeth).
  • Quads only. The human mesh is completely triangles free (except the diamonds used as joints, but they are just markers for skeleton).
  • Optimized for animation, including all loops used by high level artists.

Modelling of the mesh is performed by deforming the mesh rather than altering its topology. The mesh has been through a series of iterations to improve the structure so that deformations can be realistically applied while maintaining a low polygon count to minimise processing overheads. The mesh supports subdivision to enable higher density, smoothed meshes to be exported for high quality rendering. The evolution of the mesh through successive iterations illustrates a number of interesting concepts that have been explored and the understanding that has been encapsulated into the current mesh.

  1. The first prototype of a universal mesh (head only) was done in 1999 in the makeHead script, and then adapted for the early MH (2000),
  2. The first professional model, HM01, was realized by Enrico Valenza in 2002.
  3. The second remarkable mesh (K-Mesh or HM02) was modelled by Kaushik Pal in 2005
  4. The third mesh was modelled by Manuel Bastioni upon the (z-mesh or HM03);
  5. The fourth mesh was modelled by Gianluca Miragoli (aka Yashugan) in 2007 and builds upon the experience gained on the preceding versions (Y-Mesh or HM04)
  6. The fifth mesh build upon the previous one by Gianluca Miragoli and Manuel Bastioni (HM05)
  7. The sixth mesh build upon the previous one by Gianluca Miragoli.
  8. Latest mesh, released in 2010, is actually the state of the art (artists: Waldemar Perez Jr., André Richard, Manuel Bastioni).

HM01 and HM02

Main edgeloops in makeHuman head model (Thanks to MHteam that give me the permission to publish this image under Creative Common license).
Modelling loops in makeHuman head model

One of most important steps in mesh development was the transition between HM01 and HM02. The first version had in fact begun to show its limitations as meshes that were too optimized (about 7000 vertex), did not succeed in covering all the required morphings, and was lacking in some fundamental edge loops for the facial and muscular animation. For this reason, a new modeler, Kaushik Pal, already author of exceptional[citation needed] humanoid models for Blender and Maya (CGtalk thread), created a new mesh. While not using an excessive number of vertices (about 11000), the model kept up with all the professional requirements which was the result of studies of more well-known meshes. Despite the fact that Kaushik's mesh were already high level, the MakeHuman team wanted to present the model also to the attention of famous modelers. Among these artists, of world-wide reputation Steven Stahlberg <http://www.androidblues.com> and expert subdivide modeling Tamàs Varga <http://maxrovat.sns.hu/subdiv> just to name a few. MHteam like to quote the words of Mr. Stahlberg, of which they are particularly proud, answering to their post (by Tom Musgrove): "Tom, that's a great resource for artists who want to study topology. No real crits, except maybe you could change the direction of edges down the cheek, to easier incorporate the infraorbital fold (which is one of those things that everyone has, although it's very subtle with some). To comment the face, I think the red and blue loops are really important, but the brown and green ones don't really need to be perfect loops. They can be, but there's no pressing need imo". (CGTalk - Body topology) Few words, but very gratifying for the team. Obviously[citation needed] then the infraorbital line has since been put into place, as well as the other suggestions that came out during the discussion.

Python scripting

The MakeHuman application has been structured to expose a great many of the program internals through the Python Application Programming Interface (API). This open structure has been documented and published to encourage the development of new scripts and plugin functionality that will help the application to develop and rapidly adapt to the needs of the user community.

Export

MakeHuman incorporates a range of plugins to export a modelled and posed figure in 3D graphics formats supported by a very wide range of external modellers and rendering engines. These export functions have been written as Python plugins that can easily be extended and can serve as examples to enable other interfaces to be readily constructed. Support for the Renderman format is built into the MakeHuman application. Aqsis is the officially supported Renderman format renderer, but export to other formats and other renderers is also provided. Formats actually supported:

History

  • 1999. Manuel Bastioni wrote MakeHead, the MakeHuman ancestor. It was a Blender script written in Python
  • 2000. Manuel Bastioni post, on kino3d Italian forum, a proposal to do something more flexible, which allowed modeling an entire character, from head to foot.
  • 2000. Filippo Di Natale and Mario Latronico liked the idea and join the MHteam created by Manuel. After about four months of development, the first alpha version was finished and immediately released under the GPL license.
  • 2001. Fabrizio Cali', Cicca and Lorenzo Daveri Join the team, BullX make the early logo.
  • 2002. Enrico Valenza model a new universal humanoid mesh (around 7000) verts.
  • 2003. The project was officially recognized by the Blender Foundation, by supplying important new tools, like a mailing list, a specific forum, bug tracker, and was included in Blender's project page
  • 2003. Version 1.5 released. Francesco Micozzi join the MH team as legal consulting.
  • 2003. Unfortunately, due to internal disagreements, the collaboration was reduced considerably, and the official site was moved to dedalo-3d.
  • 2004. 1.6 was released [2].
  • 2004. MH win the Suzanne Award as better python script.
  • 2004. Manuel write a new GUI.
  • 2004. New developers join the MHteam: Paolo Colombo (coder), Craig Smith (modeler), Olivier Saraja (coder), Michael Schardt (import-export of vertex groups), Andrew Kator (Skeleton).
  • 2004. Jump to version 1.8 (1,7 never released) [3]
  • 2004. At this point with version 1.8, the development of the python script substantially stopped. Two other versions had come out and was written almost entirely by Paolo Colombo, that introduced an innovative GUI, better than the previous one. But that unfortunately remained in the experimental phase due to some compatibility problems with Blender (Blender changes his API 2 times in few months), OpenGL, and video cards. These drawbacks caused severe delays that Paolo had to rewrite the GUI several times in order to adapt it to the changes of the python API of Blender and to avoid problems with the video cards.
  • 2005. Version 2.0 of the script was conceived in a new manner that was optimized for professional use and never succeeded in moving beyond the unstable phase. Even though it wasn't fully usable, it did have a very important new feature that retained after months of work: a new base mesh, modelled by Kaushik Pal, already author of exceptional humanoid models for Blender and Maya (CGtalk thread).
  • 2005, 3 November. Even with the new mesh, version 2.0 of the script was still limited by the problems described above. Finally the MHteam realised that the functions, performance, and stability we wanted to achieve weren't possible with MakeHuman as a Blender script. It was necessary to "move" it outside Blender, and to rewrite it from scratch in high-performance languages, such as C or C++. The first step of this major transformation was possible thanks to a major contribution from Paolo, who alone, and in very little time had written a new MakeHuman completely in C, multi-platform, and with an innovative interface. We'd like to mention in particular the "slider-images", a new button which auto zooms on mouse-overs (working as a preview of the target) which permits holding the mouse button to set the percentage of morphing. Since this was a completely different version from the python script and we had rewritten it from scratch, the standalone version had a lower version number: 0.8a.
  • 2005. Hosting of releases moved on SourceForge. In this way, the python version hosted by the Blender Foundation, remains separate from the version written in C.
  • 2005. Some additions and bug fixes due carried out by other programmers (OBJ exporter by Andreas Voltz, OSX porting by Tan Meng Yue).
  • 2006. Andreas Volz, a student of applied computer science at the University of Fulda in Germany developed a library in C++, called Animorph, for his bachelor thesis called "MeasureHuman". Andreas announcing that after receiving his degree, he would make his libraries available under the LGPL (but then GPL was used). This was great news; the libraries were well written, highly object oriented, and written to be easily extensible and modular. The C version on the other hand, was developed in a procedural style, and wasn't so easy to update and change. The passage from C to C++ meant offering the users a still better product, with a more standard and comprehensible code, written very professionally and incorporating all possible cautions to satisfy the rules of OOP programming. Certainly, this would have caused some delays because, once again, we should have rewritten the code from scratch. Though, it was worth the trouble since subsequent development of the application would have been more slender, professional and reliable.
  • 2006. Hans Peter Dusel, the maintainer of OSX version, join the team.
  • 2006. The third mesh was modelled by Manuel Bastioni upon the Kaushik's mesh.
  • 2006. Giovanni Lanza (blogosphere) and Alessandro Proglio (coder, 3d artist), join the MHteam.
  • 2006. Simone Re, Java and C++ coder,from Ninibelabs Laboratori Ninibe join the mesh. He was the main contributor for C++ version.
  • 2006, 1 November. MakeHuman 0.9, rewritten from scratch using C++ was released.
  • 2007, MH code was moved from cvs to svn.
  • 2007. The fourth mesh was modelled by Gianluca Miragoli (aka Yashugan)
  • 2007. The MakeHuman project turned another corner with a new website (Letizia Beriozza), a new logo (Laura Sclavi), better doc (Martin Mackinlay, Giovanni Lanza, Alex Proglio) and also a new release - 0.9.1 RC1.
  • 2007. Problems for the project. C++ developers have no time to develop a so big sw. Because Manuel and others are mainly python coders, MH development brutally stopped. The development of muscle engine (it was pallned a system with "real skeleton and real muscles, to be skinned), clothes and hair features is suspended.
  • 2008. Because the difficult to find reliable and constant C++ developers, after months of practically no activity, Manuel decide to back to python, but not as Blender plugin. The idea is to use a special python interpreter (openGL capable) to make a modular standalone.
  • 2008, 1 jen. MH "proto" ia announced.
  • 2008, 19 March. An experimental version of expression engine, based on MPEG4 layer and on Plutchick, Whissel and Ekman research, is added in svn, upon MH0.9. It was not perfect and never officially released.
  • 2008, 22 March. Working with university La Sapienza (Rome), in collaboration with openusability openusability, on a new concept of GUI. The base idea is simple: each widget is a 3D object and each vert groups is a sensor. The development of the new GUI will take 8 months.
  • 2008, 24 May. Gianluca Miragoli Untitled Document, a professional 3d artist and Manuel Bastioni, works on a new mesh refactoring.
  • 2008, December. Marc Flerackers, a skilled professional developer in almost all languages, join the team.
  • 2009, 1 March. MH 1.0 pre-alpha, completely rewritten in python with a small C core (python engine opengl capable), is released. Pre alpha is just a preview of current development. It's not really usable,due to the lack of load/save feature, but the ethnic mixer-macrodetails tool can be tried, in order to give us interesting feedback about usability. GUI is not completely stable: some elements can be moved, and the theme can be changed. Just a zip, no installer.
  • 2009. Antonella Cascitelli, C and python coder, join the team, and start to work on face reconstruction (for her master thesis, at Rome University)
  • 2009. Looxis donate 200 laser scans of human heads, to be used in face reconstruction tool.
  • 2009. Igor Kekeljevic, B.A in Painting and a Professor of Arts, design the new and definitive MH logo.
  • 2009, Hosting is moved on Google code [4].
  • 2009. Jose Capco: mathematician, python coder, join the team, starting to work on an advanced hair system
  • 2009. Thomas Larsson, coder, physicist, join the team, starting to work on mhx file format, and adding collada exporter.
  • 2009. Joel Palmius join the team, and provide nightly builds, Linux deb builds, documentation builds
  • 2009. Alexis Mignon, coder, researcher, join the MHteam and start to work on some advanced features using Singular Value Decomposition.
  • 2009, 15 May. 1.0 Alpha2 released. It is a more usable release, because now the character can be exported in wavefront obj file format.
  • 2009, Hosting is partially moved on Tuxfamily servers, because some serious issues of Google code about the nightly builds.
  • 2010, 7 Jen. 1.0 Alpha3.Basic Hair Tool, Installer, Special hair rendering, using renderman curves.
  • 2010, 1.0 Alpha4
  • 2010, 1.0 Alpha5
  • 2011, 1.0 Alpha6

See also

Notes

  1. ^ "Licensing (MakeHuman Docs)". http://sites.google.com/site/makehumandocs/licensing. Retrieved 2009-11-26. 
  2. ^ Blender Foundation: makehuman-1.6
  3. ^ Blender Foundation: makehuman-1.8-download
  4. ^ http://code.google.com/p/makehuman/

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • MakeHuman — Dernière version 1.0.0 Alpha 3b (11 juillet 2009) [ …   Wikipédia en Français

  • Edge loops — are a 3D modeling concept that allows relatively little geometry to convey relatively large amounts of spatial information in a given mesh object. This determines the “flow” of geometry over a surface, and usually has an influence over the… …   Wikipedia

  • Poser — Pour une définition du mot « poser », voir l’article poser du Wiktionnaire. Poser …   Wikipédia en Français

  • Poser — For the pejorative for a person who inauthentically adopts a certain subculture, see poseur. Poser Developer(s) Smith Micro Software Stable release Pro 2012 / September 2011 Operating system Mac OS X, Windows …   Wikipedia

  • DAZ Studio — User interface of DAZ Studio Version 1.7.1.5 Developer(s) DAZ 3D Stable release 4.0.0.335 / May 26, 2011 …   Wikipedia

  • 3D computer graphics software — 3D computer graphics Basics …   Wikipedia

  • Aqsis — Infobox Software name = Aqsis author = developer = Paul Gregory latest release version = 1.4.0 latest release date = July 22, 2008 latest preview version = latest preview date = operating system = Windows, Linux platform = genre = Raytracer… …   Wikipedia

  • Logiciel De Modélisation 3D — Image photoréaliste réalisée avec POV Ray, Rhino et Cinema 4D Un logiciel de modélisation 3D, ou modeleur 3D, est un logiciel qui sert à créer des scènes 3D, composées de formes complexes, ou objets, en trois dimensions à partir de… …   Wikipédia en Français

  • Logiciel de modelisation 3D — Logiciel de modélisation 3D Image photoréaliste réalisée avec POV Ray, Rhino et Cinema 4D Un logiciel de modélisation 3D, ou modeleur 3D, est un logiciel qui sert à créer des scènes 3D, composées de formes complexes, ou objets, en trois …   Wikipédia en Français

  • Logiciel de modélisation 3D — Image photoréaliste réalisée avec POV Ray, Rhino et Cinema 4D …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”