Developer(s) | The MakeHuman team |
---|---|
Initial release | 2000 |
Stable release | |
Repository | |
Written in | Python |
Operating system | Linux, Mac OS X, Windows |
Type | 3D computer graphics |
License | AGPL [2] |
Website | www |
MakeHuman is a free and open source 3D computer graphics middleware designed for the prototyping of photorealistic humanoids. It is developed by a community of programmers, artists, and academics interested in 3D character modeling.
MakeHuman is developed using 3D morphing technology. Starting from a standard (unique) androgynous human base mesh, it can be transformed into a great variety of characters (male and female), mixing them with linear interpolation. 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 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 systems, beginning from 1.0 alpha 8 it's developed in Python using OpenGL and Qt, with an architecture fully realized with plugins.
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 of both translation and rotation. 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. [3]
MakeHuman is free and open-source, with the source code 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 and non-free projects. These projects may or may not be commercialised.
In 2004, MakeHuman won the Suzanne Award as best Blender Python script. [4]
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. [5] 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. [6]
A community website was established June 2015 featuring a forum section, a wiki, and a repository for user contributed content for the program. [7]
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. 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 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:
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:
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 of a project, [8] and in virtual reality research, to quickly produce avatars from measures or camera views. [9] [10] [11] [12] [13] [14]
MakeHuman characters are used in biomechanics and biomedical engineering, to simulate the behaviour of the human body under certain conditions or treatments. [15] [16] [17] [18] [19] The human character model for a project of the construction of artificial mirror neuron systems [20] was also generated by MakeHuman.
The software was used for visuo-haptic surgical training system development. [21] 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, [22] and 3D analysis of early Christian burials (archaeothanatology). [23]
The tool has also been used to create characters to perform Sign Language movements. [24] [25]
MakeHuman can also be used for nonverbal behavior research, like facial expressions, which involve the use of Facial Action Coding System [26]
{{cite book}}
: CS1 maint: multiple names: authors list (link) CS1 maint: numeric names: authors list (link){{cite book}}
: CS1 maint: multiple names: authors list (link) CS1 maint: numeric names: authors list (link){{cite web}}
: CS1 maint: numeric names: authors list (link){{cite web}}
: CS1 maint: multiple names: authors list (link) CS1 maint: numeric names: authors list (link){{cite journal}}
: CS1 maint: multiple names: authors list (link) CS1 maint: numeric names: authors list (link){{cite journal}}
: CS1 maint: multiple names: authors list (link) CS1 maint: numeric names: authors list (link){{cite book}}
: CS1 maint: multiple names: authors list (link) CS1 maint: numeric names: authors list (link){{cite journal}}
: CS1 maint: multiple names: authors list (link) CS1 maint: numeric names: authors list (link){{cite web}}
: CS1 maint: numeric names: authors list (link){{cite web}}
: CS1 maint: multiple names: authors list (link) CS1 maint: numeric names: authors list (link)Blender is a free and open-source 3D computer graphics software tool set that runs on Windows, MacOS, BSD, Haiku, and Linux. It is used for creating animated films, visual effects, art, 3D-printed models, motion graphics, interactive 3D applications, virtual reality, and, formerly, video games. Blender's features include 3D modelling, UV mapping, texturing, digital drawing, raster graphics editing, rigging and skinning, fluid and smoke simulation, particle simulation, soft body simulation, sculpting, animation, match moving, rendering, motion graphics, video editing, Python scripting, and compositing.
Autodesk 3ds Max, formerly 3D Studio and 3D Studio Max, is a professional 3D computer graphics program for making 3D animations, models, games and images. It is developed and produced by Autodesk Media and Entertainment. It has modeling capabilities and a flexible plugin architecture and must be used on the Microsoft Windows platform. It is frequently used by video game developers, many TV commercial studios, and architectural visualization studios. It is also used for movie effects and movie pre-visualization. 3ds Max features shaders, dynamic simulation, particle systems, radiosity, normal map creation and rendering, global illumination, a customizable user interface, and its own scripting language.
LightWave 3D is a 3D computer graphics program developed by LightWave Digital. It has been used in films, television, motion graphics, digital matte painting, visual effects, video game development, product design, architectural visualizations, virtual production, music videos, pre-visualizations and advertising.
Geologic modelling,geological modelling or geomodelling is the applied science of creating computerized representations of portions of the Earth's crust based on geophysical and geological observations made on and below the Earth surface. A geomodel is the numerical equivalent of a three-dimensional geological map complemented by a description of physical quantities in the domain of interest. Geomodelling is related to the concept of Shared Earth Model; which is a multidisciplinary, interoperable and updatable knowledge base about the subsurface.
Skeletal animation or rigging is a technique in computer animation in which a character is represented in two parts: a polygonal or parametric mesh representation of the surface of the object, and a hierarchical set of interconnected parts, a virtual armature used to animate the mesh. While this technique is often used to animate humans and other organic figures, it only serves to make the animation process more intuitive, and the same technique can be used to control the deformation of any object—such as a door, a spoon, a building, or a galaxy. When the animated object is more general than, for example, a humanoid character, the set of "bones" may not be hierarchical or interconnected, but simply represent a higher-level description of the motion of the part of mesh it is influencing.
Quake Army Knife (QuArK), is a free and open-source program for developing 3D assets for a large variety of first-person shooters, such as video games using the Quake engine by id Software or the Torque engine.
COLLADA is an interchange file format for interactive 3D applications. It is managed by the nonprofit technology consortium, the Khronos Group, and has been adopted by ISO as a publicly available specification, ISO/PAS 17506.
The C0 and C1 control code or control character sets define control codes for use in text by computer systems that use ASCII and derivatives of ASCII. The codes represent additional information about the text, such as the position of a cursor, an instruction to start a new line, or a message that the text has been received.
The Blender Game Engine was a free and open-source 3D production suite used for making real-time interactive content. It was previously embedded within Blender, but support for it was dropped in 2019, with the release of Blender 2.8. The game engine was written from scratch in C++ as a mostly independent component, and includes support for features such as Python scripting and OpenAL 3D sound.
Maxon ZBrush is a digital sculpting tool that combines 3D/2.5D modeling, texturing and painting. It uses a proprietary "pixol" technology which stores lighting, color, material, orientation and depth information for the points making up all objects on the screen. ZBrush shares some similarities with traditional sculpting.
The Portable, Extensible Toolkit for Scientific Computation, is a suite of data structures and routines developed by Argonne National Laboratory for the scalable (parallel) solution of scientific applications modeled by partial differential equations. It employs the Message Passing Interface (MPI) standard for all message-passing communication. PETSc is the world’s most widely used parallel numerical software library for partial differential equations and sparse matrix computations. PETSc received an R&D 100 Award in 2009. The PETSc Core Development Group won the SIAM/ACM Prize in Computational Science and Engineering for 2015.
Soft-body dynamics is a field of computer graphics that focuses on visually realistic physical simulations of the motion and properties of deformable objects. The applications are mostly in video games and films. Unlike in simulation of rigid bodies, the shape of soft bodies can change, meaning that the relative distance of two points on the object is not fixed. While the relative distances of points are not fixed, the body is expected to retain its shape to some degree. The scope of soft body dynamics is quite broad, including simulation of soft organic materials such as muscle, fat, hair and vegetation, as well as other deformable materials such as clothing and fabric. Generally, these methods only provide visually plausible emulations rather than accurate scientific/engineering simulations, though there is some crossover with scientific methods, particularly in the case of finite element simulations. Several physics engines currently provide software for soft-body simulation.
Interactive skeleton-driven simulation is a scientific computer simulation technique used to approximate realistic physical deformations of dynamic bodies in real-time. It involves using elastic dynamics and mathematical optimizations to decide the body-shapes during motion and interaction with forces. It has various applications within realistic simulations for medicine, 3D computer animation and virtual reality.
WSJT-X is a computer program used for weak-signal radio communication between amateur radio operators. The program was initially written by Joe Taylor, K1JT, but is now open source and is developed by a small team. The digital signal processing techniques in WSJT-X make it substantially easier for amateur radio operators to employ esoteric propagation modes, such as high-speed meteor scatter and moonbounce. Additionally WSJT is able to send signal reports to spotting networks such as PSK Reporter.
Daz Productions, Inc. is a 3D-content and software company specialized in providing rigged 3D human models, associated accessory content, and software to hobbyists as well as the prosumer market.
PowerUP boards were dual-processor accelerator boards designed by Phase5 Digital Products for Amiga computers. They had two different processors, a Motorola 68000 series (68k) and a PowerPC, working in parallel, sharing the complete address space of the Amiga computer system.
KIVA is a family of Fortran-based computational fluid dynamics software developed by Los Alamos National Laboratory (LANL). The software predicts complex fuel and air flows as well as ignition, combustion, and pollutant-formation processes in engines. The KIVA models have been used to understand combustion chemistry processes, such as auto-ignition of fuels, and to optimize diesel engines for high efficiency and low emissions. General Motors has used KIVA in the development of direct-injection, stratified charge gasoline engines as well as the fast burn, homogeneous-charge gasoline engine. Cummins reduced development time and cost by 10%–15% using KIVA to develop its high-efficiency 2007 ISB 6.7-L diesel engine that was able to meet 2010 emission standards in 2007. At the same time, the company realized a more robust design and improved fuel economy while meeting all environmental and customer constraints.
Simcenter Amesim is a commercial simulation software for the modeling and analysis of multi-domain systems. It is part of systems engineering domain and falls into the mechatronic engineering field.
MB-Lab is a free and open-source plug-in for Blender for the parametric 3D modeling of photorealistic humanoid characters.