# Makehuman

Makehuman es una aplicación de gráficos 3D por computadora para prototipado de humanoides fotorealisticos para ser utilizados en gráficos por computador. Es desarrollado por una comunidad de programadores, artistas y académicos interesados en el modelado tridimensional de personajes.
El 3 de junio de 2017 se lanzó su versión 1.1.1. para los sistemas operativos Linux, Windows y Mac OS.

## Tecnología

Makehuman es desarrollado utilizando tecnología per-vertex animation. El modelo inicial es un humano estándar que puede irse modificando mediante controles intuitivos hacia un humano más masculino, femenino, cambiando la estatura, ancho, edad, etc.
Por ejemplo, desde los controles de edades (bebé, adolescente, joven y mayor), es posible obtener todos los estados intermedios.
Usando esta tecnología, con una larga base de datos de objetivos de morphing, es visualmente posible reproducir cualquier carácter. Makehuman presenta una interfaz gráfica de usuario simple para acceder fácilmente al manejo de cientos de morphings. El enfoque de Makehuman es usar controles con parámetros comunes como peso, edad, género, etnicidad y muscularidad. En orden para hacer esto disponible en todos los principales sistemas operativos, se comenzó desde una versión 1 alpha utilizando Python con OpenGl y Qt, con una arquitectura completamente realizada con plugins.
La herramienta esta especialmente diseñada para el modelado virtual de humanos, con un simple y completo sistema de poses que incluye simulación muscular de movimiento. La interface es mucho más fácil de utilizar, con un acceso rápido e intuitivo a los numerosos parámetros requeridos en el modelado de formas humanas.
El desarrollo de MaheHuman deriva de un estudio artístico y técnicamente detallado de las características morfológicas del cuerpo humano. El trabajo se maneja mediante morphing, usando interpolaciones lineales de traslación y rotación, con estos dos métodos combinados en un simple cálculo de una factor de formas y un algoritmo de relajación de mallas, es posible adquirir resultados como la simulación muscular de movimientos que acompaña la rotación de las extremidades.

## Historia del programa

El ancestro de Makehuman fue Makehead, un script de python para Blender, escrito en 1999 por Manuel Bastioni, artista y programador. Un año después creó el equipo de "passionate people" y liberó la primera versión de Makehuman para Blender. El proyecto evolucionó y en 2003 fue reconocido oficialmente por la fundación Blender y fue hospedado en http://projects.blender.org. En 2004 el desarrollo se detuvo porque era difícil escribir un script de python tan grande usando solo la Api de Blender.
En 2005 Makehuman fue movido fuera de Blender y hospedado en SourceForge y reescrito en C. A este punto, la versión comenzó a reescribirse desde cero. El programa fue migrando desde C hasta C++, pero fue demasiado complejo para desarrollar y mantener, por lo tanto en 2009 el equipo decidió volver a desarrollar Makehuman en lenguaje phyton (con un pequeño núcleo en C), y fue liberado como Makehuman 1 pre-alpha.

### Evolución hacia una topología de modelado universal

El objetivo del proyecto es desarrollar una aplicación capaz de modelar una amplia variedad de formas humanas en el rango completo de poses naturales desde una simple malla universal. Para este propósito, se diseña un modelo humanoide (malla poligonal) en 3D que pueda ser manipulada paramétricamente de forma fácil para representar los personajes anatómicos deseados, la malla incluye una estructura de esqueleto que permite cambiar las poses de los personajes.
El equipo de Makehuman ha desarrollado un modelo que combina diferentes parámetros anatómicos para hacer transiciones suavizadas desde un infante hasta un anciano, desde un hombre a una mujer, desde delgado hasta gordo.
El modelo ocupa un espacio central, sin ser ni masculino ni femenino, ni joven ni anciano, teniendo una definición muscular media, con una forma andrógina, el HoMunculus. La malla actual de Makehuman ha evolucionado mediante los pasos sucesivos del proyecto MakeHuman, incorporando las lecciones aprendidas, retroalimentación de la comunidad y los resultados de una considerable cantidad de estudios y experimentación.
Desde la primera publicación de Makehuman (2000) y la primera publicación de makeHead (1999), el reto ha sido construir una topología universal que mantenga todas estas capacidades pero añadiendo la habilidad de ajustar interactivamente el modelo para acomodar las variedades anatómicas encontradas en la población humana. Este reto pudo haberse enfrentado incrementando el número de vértices para los modelos, pero el resultado obtenido son mallas poligonales densas que habrían limitado el desempeño del programa en las máquinas.
El modelo de desarrollo de Makehuman ha sido:
* Ser liviano y optimizado para la subdivisión de modelado de superficies (15128 verts).
* Utilizar únicamente cuadriláteros. El modelo de Makehuman esta completamente libre de triángulos.
* Únicamente Polos E(5) y N(3), sin huecos y sin polos de 6 ejes.

#### Evolución de los modelos de Makehuman

Los modelos humanoides o mallas poligonales en Makehuman han ido evolucionando con el tiempo, pasando de mallas con algunos triángulos hasta ser mallas poligonales libres de triángulos basadas completamente en cuadriláteros.
* El primer prototipo de una modelo (malla poligonal) universal (únicamente cabeza) fue hecho en 1999 en el script de makeHead y luego adaptado para Makehuman en el 2000. HM01 fue el primer modelo profesional, fue realizado por Enrico Valenza en 2002.
* El segundo modelo remarcable fue K-Mesh o HM02, modelado por Kaushlik Pal en 2005.
* El tercer modelo fue desarrollado por Manuel Bastioni bajo z-mesh o HM03.
* Con la experiencia ganada en versiones previas, el cuarto modelo fue desarrollado por Gianluca Miragoli (Yashugan) en 2007, llamada Y-Mesh o HM04.
* El quinto modelo HM05 fue construida sobre la versión HM04, fue desarrollada por Gianluca Miragoli y Manuel Bastioni.
* El sexto modelo fue desarrollada también por Gianluca Miragoli.
* En 2010 fue liberado el séptimo modelo o malla poligonal, creada por Waldemar Pérez Jr., André Richard y Manuel Bastioni).
* El modelo más reciente fue liberada en 2013, fue modelada por Manuel Bastioni.

## Licencia

Makehuman es completamente software libre. El personaje base de Makehuman es liberado como dominio público bajo la licencia Creative Commons 0, para su uso de proyectos comerciales y no comerciales. Las bases de datos y el código están liberados bajo una licencia GNU License Affero GPL.

## Premios

En 2004 Makehuman ganó el premio Suzanne como el mejor script Python para blender.

## Uso en investigación

Debido a la libertad de la licencia, Makehuman está siendo ampliamente utilizado por investigadores para propósitos científicos.
El modelo de Makehuman es utilizado en diseños industriales donde se necesita verificar la antropometría de un proyecto y en investigación en realidad virtual para producir rápidamente avatares para medidas o vistas de cámaras.
Los caracteres de Makehuman son utilizados a menudo en biomecánica y en ingeniería biomédica para simular el comportamiento del cuerpo humano bajo ciertas condiciones o tratamientos.
El programa fue usado para el desarrollo del sistema de entrenamiento quirúrgico visuo-haptic. Las simulaciones de Visuo-haptic combinan el sentido táctil con información visual y provee escenarios de entrenamiento realistas para ganar, mejorar o evaluar las habilidades y el conocimiento de cirujanos residentes y expertos.
Varias reconstrucciones virtuales de cuerpo completo en tres dimensiones también fueron realizadas con Makehuman.
Makehuman provee personajes para la creación de humanoides utilizados en el desarrollo de avatares para la comprensión del lenguaje de señas irlandés y como un agente conversacional tridimensional.
Los modelos humanos en tres dimensiones creados con Makehuman son adaptados para realizar movimientos para el lenguaje de señas, principalmente con el propósito de visualización de idioma de señas de Sudáfrica.
El personaje utilizado para el proyecto de construcción del sistemas de neuronas espejo artificiales fue generado con Makehuman.