Gracias Gracias:  1
Resultados 1 al 1 de 1

Tema: MakeHuman - Fabricando humanoides desde el 2000 - Blenderart Magazine 4

  1. #1
    Administrador y fundador. Avatar de 3dpoder
    Fecha de ingreso
    Apr 2002
    Mensajes
    15,459

    MakeHuman - Fabricando humanoides desde el 2000 - Blenderart Magazine 4

    MakeHuman ¡"Fabricando" humanoides desde el 2000!
    Manuel Bastioni (versión inglesa)
    Alessandro Proglio
    Antonio Di Cecca Giovanni
    Lanza Martin Mackinlay

    ¿Qué es MH?
    MakeHuman es un software escrito completamente en C++ y que esta disponible para todas las principales plataformas (Windows, OSX, Linux, etc.)Su objetivo es el modelado de humanoides en 3 dimensiones.Los usuarios pueden definir edad, peso, sexo, raza, tamaño de nariz, forma de cara, proporción de brazos y piernas, y toda una amplia serie de parámetros bien definidos, por lo que se puede decir que MH es una herramienta de modelar de forma artística y paramétrica al mismo tiempo. Cada detalle esta definido eligiendo un porcentaje, y todos los detalles se van añadiendo uno a otro para obtener una combinación infinita de formas. Ésto permite la creación, en unos pocos clics, de personajes extremadamente realistas, listos para ser utilizados en numerosas aplicaciones gráficas profesionales.

    Un poco de Historia

    El predecesor

    MakeHuman nació a finales del año 2000 en una comunidad italiana de programadores de software gráfico de código abierto. Anteriormente, Manuel Bastioni había desarrollado algo similar:
    una secuencia de comandos (script) en python para Blender, que sólo modelaba la cabeza de un personaje. Era una herramienta simple que se llamaba "MakeHead", y estaba basada en la utilización de las claves de vértices (Vertex Keys) de Blender, lo que puede ser considerado, a todos los efectos, el predecesor de MakeHuman.



    El primer script para Blender

    La nueva propuesta de Manuel debía ser algo más flexible, con capacidad para modelar un personaje entero, de la cabeza a los pies. A otros les encantó esta idea, y después de unos cuatro meses de desarrollo, gracias al primer grupo de programadores, en particular, Filippo di Natale y Mario Latronico, la primera versión alfa se terminó, e inmediatamente se distribuyó bajo licencia GPL.
    Otros fueron responsables de las traducciones (Fabrizio Cali', Lorenzo Daveri), los logotipos y otros aspectos relacionados con la publicación del material.



    El primer modelo
    Una vez que el interfaz gráfico (GUI) estuvo definido, y el código de las poses casi listo, apareció otro delicado e importante problema: la realización de la base humanoide, que tuviese todas las características necesarias para ser transformada en cualquier personaje, y que tuviese una malla optimizada, con la que se pudiese crear desde personajes para una película hasta personajes de baja resolución para videojuegos.

    Además la malla base, sólo para complicar un poco más las cosas, no debía tener características sexuales, de edad ni de raza. Después de muchas discusiones, fue finalmente modelado por Enrico Valenza. Fue la primera versión del modelo, que fue utilizada hasta hace 2 años, como pronto veremos. Después de algún tiempo, el proyecto fue oficialmente reconocido por la Fundación Blender, suministrando nuevas e importantes herramientas, como una lista de correo, un foro específico, seguimiento de errores, y fue incluido en las páginas del Proyecto Blender (http://projects.blender.org).



    Desafortunadamente, debido a desavenencias internas, la colaboración fue reducida considerablemente, y la página oficial fue movida a dedalo-3d. Después de un corto período de tiempo, MakeHuman tuvo una importante modificación. Finalmente se completó el paso de un viejo y complejo interfaz gráfico a otro más ligero, basado en la introducción desde una consola escrita en python por el administrador del proyecto. Ésto abrió el camino a la versión 1.6.



    Después de esta versión, la participación de los primeros desarrolladores, a excepción del administrador y algunos otros (Lorenzo Daveri y Cicca), fue drasticamente reducida, y el proyecto se vio seriamente ralentizado.

    Afortunadamente, ésto sólo fue un período de transición en el que MakeHuman tomó un aspecto más internacional gracias a la contribución de Craig Smith en el modelado, a las contribuciones de Olivier Saraja, a la de código de Michael Schardt (importación-exportación de grupos de vértices) y al sistema de huesos (bones) de Andrew Kator.
    Gracias a estas nuevas ayudas y a numerosas nuevas características, se realizó una nueva versión, lo que permitió saltar directamente de la versión 1.6 a la 1.8 en un corto período de tiempo.

    FACS

    Gracias al éxito de esta nueva versión así como a la mediación de Craig y Lorenzo, el proyecto recibió una importante donación:
    la documentación de 20 años de investigación del Doctor Paul Ekman conocida como FACS. La así llamada FACS (Facial Actions Coding System), permite un estudio de todo el sistema de codificación de las expresiones faciales. La donación provino del Dr. Paul Ekman, que era profesor de psicología en el Departamento de Psiquiatría de la Universidad de San Francisco.

    Versión 2.0 en python, inestable
    Llegados a este punto con la versión 1.8, el desarrollo del script python fue sustancialmente detenido. Otras dos versiones habían visto la luz y fueron escritas casi enteramente por un nuevo desarrollador, llamado Paolo Colombo, que introdujo un innovador interfaz gráfico, mejor que el anterior. Pero que, lamentablemente, se mantuvo en la fase experimental debido a algunos problemas de compatibilidad con Blender, OpenGL, y tarjetas gráficas. Estos inconvenientes causaron graves retrasos por lo que Paolo tuvo que reescribir el interfaz gráfico en varias ocasiones con el fin de adaptarlo a los cambios del API python de Blender y para evitar problemas con las tarjetas gráficas.

    La nueva malla (mesh)
    La versión 2.0 del script fue concebida con una nueva metodología optimizada para un uso profesional y nunca logró ir más allá de la fase inestable. Aunque no sea plenamente utilizable, tiene una nueva e importante característica que conserva después de meses de trabajo: una nueva malla base. La primera versión había empezado a mostrar sus limitaciones con mallas muy optimizadas (alrededor de 7000 vértices), no tuvo éxito para cubrir todas las poses que le eran requeridas, y carecía de algunos bucles de arista (edge loops) fundamentales para la animación facial y muscular.
    Por esta razón, un nuevo modelador, Kaushique Pal, autor de excepcionales modelos humanoides para Blender y Maya (véase los hilos de CGtalk), creó una nueva malla. Si bien no utiliza un número excesivo de vértices (unos 11000), el modelo posee todas las exigencias profesionales, que fueron el resultado de los estudios de más mallas bien conocidas. En las imágenes siguientes se ilustran las principales diferencias entre las dos mallas (los puntos “críticos” de la antigua malla están marcados en rojo).



    A pesar de que la malla de Kaushique ya era de alto nivel, el equipo de MakeHuman quiso presentar el modelo a modeladores famosos. Entre ellos se encontraba el mundialmente reconocido Steven Stahlberg (http://www.androidblues.com) y el experto en modelado por subdivisiones Tamas Varga (http://maxrovat.sns.hu/subdiv), por nombrar algunos.

    Aquí, citamos las palabras del Sr. Stahlberg, de las cuales estamos particularmente orgullosos, respondiendo a nuestro correo (de Tom Musgrove):

    "Tom, éste es un gran recurso para los artistas que quieren estudiar topología. Realmente no tengo críticas, salvo que quizás podríais cambiar la dirección de los bordes de la mejilla hacia abajo, para que fuera más fácil incorporar el pliegue infraorbital (que es una de esas cosas que toda persona tiene, aunque muy sutil en algunas). En cuanto a la cara, pienso que los bucles (loops) rojo y azul son verdaderamente importantes, pero los marrones y verdes no tienen porque ser bucles realmente perfectos. Pueden serlo, pero no es obligatorio."

    Texto original:
    http://forums.cgsociety.org/showthread.php?t=108412&page=74&pp=15

    Pocas palabras, pero muy gratificantes para el equipo. Lógicamente la línea infraorbital se puso en su sitio, así como las otras sugerencias que surgieron durante la discusión. Al final del trabajo, hemos recogido algunas imágenes explicativas, en particular las que tienen que ver con la topología facial, y en las que se han remarcado las líneas de acción.

    El punto de inflexión: la versión autónoma en C
    Sin embargo, incluso con la nueva malla, la versión 2.0 del script estaba todavía limitada por los problemas descritos anteriormente. Finalmente nos dimos cuenta de que las funciones, rendimiento y estabilidad que queríamos lograr no eran posibles con MakeHuman como un script python. Era necesario “moverlo” fuera de Blender, y reescribirlo desde cero en lenguajes de alto rendimiento, como C o C++. El primer paso de esta gran transformación fue posible gracias a una importante contribución de Paolo, quien solo, y en muy poco tiempo ha escrito un nuevo MakeHuman totalmente en C, multi-plataforma, y con una innovadora interfaz.

    Nos gustaría mencionar en particular el "slider-images", que hace zoom automáticamente cuando el ratón esta sobre el objetivo (funcionando como una pre-visualización del objetivo) lo que permite mantener el botón del ratón para ajustar el porcentaje de modificación. Dado que se trataba de una versión completamente diferente del script python y tuvimos que reescribirlo desde cero, la versión autónoma tiene un número inferior de versión: 0.8a.





    La versión autónoma de MakeHuman puede ser descargada gracias al alojamiento proporcionado por SourceForge.

    De esta manera, la versión python alojada en la Fundación Blender, quedaba separada de la versión escrita en C. La versión actualmente disponible en SourceForge es todavía la de Paul, pero con algunas mejoras y correcciones de errores llevados acabo por otros programadores (exportador OBJ por Andreas Voltz, portar a OSX por Tan Meng Yue). Los usuarios encuentran que el programa es bastante fácil de usar, pero los programadores trabajan continuamente para hacer avanzar el código, con la esperanza de mejorar significativamente la utilización por parte del usuario final. Entonces llegamos a una nueva versión que será liberada.

    Próxima versión: MakeHuman 1.0 (beta), en C++

    Animorphs

    Mientras estábamos trabajando en la versión 0.8 de MakeHuman, Andreas Voltz, un estudiante de Informática Aplicada de la Universidad de Fulda, en Alemania, estuvo desarrollando algunos conceptos de la versión python con el fin de construir una nueva biblioteca, más flexible, que fuese independiente de la plataforma y escrita enteramente en C++. Su intención era utilizarla en el programa que desarrollaba para su tesis llamado MeasureHuman". Quería no sólo modificar el aspecto de humanoides 3D basándose en objetivos, como hace MakeHuman, sino también introduciendo medidas por parte del usuario.

    Andreas contactó con el equipo de desarrollo, anunciando que en cuanto obtuviese su titulación, le gustaría dejar sus bibliotecas disponibles bajo licencia GPL. Éstas fueron buenas noticias; las bibliotecas estaban bien escritas, orientadas a objetos de alto nivel, y escritas para ser fácilmente extensibles y modulares. Por otra parte la versión C, se había desarrollado en un estilo que no era tan fácil de actualizar y modificar. El paso de C a C++ significaba ofrecer a los usuarios un producto aún mejor, con un código más estandarizado y comprensible, escrito de manera profesional e incluyendo todas las precauciones posibles para satisfacer las reglas de la programación orientada a objetos (OOP). Sin duda, ésto habría causado ciertos retrasos ya que, una vez más, tendríamos que haber reescrito el código desde cero. Aún así, valdría la pena ya que los futuros desarrollos de la aplicación serían más finos, profesionales y fiables.

    MHGUI (interfaz gráfico de MakeHuman)
    Una vez que se decidió utilizar la biblioteca de Andreas, que él denominó "Animorph", necesitábamos escribir una interfaz simple
    y estable.

    En línea con la filosofía del proyecto, hemos evitado el uso de grandes bibliotecas ya existentes. Queríamos que MakeHuman fuese una herramienta compacta y muy fiable con pocas dependencias, y con características bien definidas. Después de examinar un gran número de bibliotecas, finalmente se decidió que, para la interfaz concreta de MakeHuman, lo mejor era escribir nosotros mismos las clases necesarias. Simple = Fiable, Simple = Fácil de manejar y actualizar. Por estas razones, la interfaz sólo contiene aquello que nos es necesario y estamos haciendo lo posible para probarla a fondo. El núcleo se ha escrito con la ayuda de Ninibe Labs. Damos las gracias en particular a Simone Re y Manuel que han desarrollado juntos el primer boceto de la interfaz.
    Posteriormente, todo ha sido revisado por otro programador, Hans Peter Dusel, quien también ha trabajado en el paso a OSX.

    MakeHuman
    Ahora que finalmente Animorph y MHGUI han alcanzado un nivel satisfactorio (aún cuando nuestra intención es seguir perfeccionandolos), lo único que queda es combinarlos en una sola aplicación, MakeHuman 1.0. Ésta será una versión beta hasta que sea completamente estable y tenga las características necesarias para ser considerada “acabada”. Las siguientes imágenes muestran el trabajo que estamos llevando a cabo.



    La nueva interfaz, aunque utiliza las ideas de la versión 0.8, ha sido cuidadosamente planificada para que tenga un diseño simple e intuitivo. Cada elemento ha sido cuidadosamente estudiado para que sea fácil de comprender y usar.

    Aunque la interfaz siguiera siendo mejorada para ser aún más intuitiva, empezamos a preparar una documentación adecuada.
    Ésto es posible gracias a un equipo asignado exclusivamente a la producción de documentos, su traducción y organización lógica. Agradecemos especialmente a Alessandro Proglio por traducir la documentación y la administración de la Wiki (aún en fase de desarrollo), a Martin Mackinlay por la revisión final de la traducción italiano-inglés, y a Antonio Di Cecca y Giovanni Lanza, que contribuyen activamente a la traducción italiano-inglés.



    Lanzamiento
    MakeHuman pretende ser una herramienta muy específica, limitada a un ámbito preciso: modelar rápidamente personajes 3D profesionales con todas las características necesarias para su animación con el uso de un software adecuado (Maya, Max, Blender, etc.). Por lo tanto es una herramienta que encontrara su sitio en el ámbito profesional, y que no quiere ni tiene que ser un fin en si misma. Además, en cierta medida, queremos que makeHuman llegue a un nivel profesional con poses estáticas y que sea capaz de proporcionar renderizados fotografía-realistas del sujeto. Por una parte, puede servir como una vista previa de una posible pre-producción (de juegos, películas, etc.), pero por otra, puede ser utilizado por el artista para producir imágenes finales (carteles, galería, etc.). Se puede decir, en conclusión, que existen dos grandes áreas de aplicación para MakeHuman:

    1) La exportación en los formatos más comunes, compatibles con la más amplia gama de software.

    2) Renderizados fotografía-realistas (aunque estáticos) de los personajes, con pelo y ropa, en la posición deseada, para vista previa y producción de imágenes.

    Actualmente sólo esta soportada la exportación en formato OBJ, y aunque el formato OBJ se haya convertido en un estándar, tenemos intención de añadir más formatos. De muchas funcionalidades ya se ha hecho un prototipo en python, por ejemplo hair (sobre pelo), del cual sólo falta traducir el código a C++ e incorporarlo de manera adecuada a la interfaz. En lo que respecta al renderizado, estamos trabajando en un motor de sombreado de la piel conforme con Renderman. Aquí podéis ver
    algunas imágenes hechas con Pixie.



    Ayuda de la comunidad de usuarios
    Modeladores
    Cualquier modelador conocedor de las características básicas de Blender esta invitado a unirse a nosotros y a ayudarnos. La realización de una nueva pose es muy simple y no requiere ningún conocimiento de programación. Sólo es necesario si se desea exportar un fichero ".target". Por ejemplo, inténtelo directamente en MakeHuman. Se necesita un script para Blender, llamado "MakeTarget", que se puede descargar desde la página del proyecto Fundación Blender (http://projects.blender.org/projects/makeh). Es una herramienta muy interesante porque le permite también manipular los formatos ".bs". Una breve introducción a su utilización se puede descargar en los archivos adjuntos de este mensaje, un poco más abajo.

    Programadores
    La colaboración por parte de los programadores también es bienvenida aunque, obviamente, la participación esta sometida a reglas específicas y a la asignación de tareas por parte del administrador. En este momento, necesitamos un experto programador de Windows ya que la mayoría de los programadores trabaja con Linux, por lo que la versión de Windows requiere de alguien que mantenga monitorizadas las optimizaciones, conserve las bibliotecas, compruebe el instalador, etc.

    www.blenderart.org
    Archivos adjuntados Archivos adjuntados
    Última edición por 3dpoder; 04-05-2009 a las 14:29
    Si vas a subir un trabajo al foro, hazlo adjuntando la imagen, archivo, vídeo o lo que sea, no publicando enlaces de otros sitios. http://www.foro3d.com/f45/forma-correcta-de-insertar-imagenes-y-archivos-en-nuestro-mensaje-98930.html

    |Agradecer cuando alguien te ayuda es de ser agradecido|

Temas similares

  1. Blender Blenderart Magazine nº 26
    Por birckof en el foro Noticias
    Respuestas: 1
    Último mensaje: 16-03-2010, 18:42
  2. Blender Blenderart Magazine #24
    Por Neo_one en el foro Noticias
    Respuestas: 2
    Último mensaje: 07-11-2009, 19:27
  3. Blender MakeHuman: Making Humanoids Since 2000
    Por 3dpoder en el foro Blender Art Magazine nº4 (in English)
    Respuestas: 0
    Último mensaje: 02-06-2009, 23:29
  4. Blender Renderizando con Povray desde Blender - Blenderart Magazine 4
    Por 3dpoder en el foro Blender Art Magazine nº 4
    Respuestas: 0
    Último mensaje: 04-05-2009, 17:27
  5. Blenderart Magazine Nº1
    Por viriathus en el foro Noticias
    Respuestas: 6
    Último mensaje: 17-11-2005, 00:30

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •