Publicat per

Actividad R3. Media

Publicat per

Actividad R3. Media

Robot 1 Proceso de generación del rig: Mixamo Para obtener el rig de Mixamo, he tenido que subir la versión del modelo…
Robot 1 Proceso de generación del rig: Mixamo Para obtener el rig de Mixamo, he tenido que subir la…

Robot 1

Proceso de generación del rig: Mixamo

Para obtener el rig de Mixamo, he tenido que subir la versión del modelo de la práctica anterior sin texturas. Al exportar con texturas me aparecía un error en Mixamo diciendo “Sorry, unable to map your existing skeleton” cuando no tiene esqueleto. Este es el resultado:

Como se puede ver en la imagen, la posición de los huesos es aceptable, pero al ser un modelo robótico, no respeta la rigidez de los materiales.

En algún momento conseguí subir el modelo con mi propio rig y sin texturas, pero no he conseguido replicarlo y solamente tengo una captura de pantalla:

Una vez riggeado si que respeta la rigidez, pero no los “constraints” de los huesos.

 

Proceso de generación del rig: Blender

Para el proceso de rigging he utilizado Blender. El primer paso es crear una “armature”. Una vez añadidos los huesos el modelo queda así:

He utilizado el sistema de nomenclatura de Unity para este modelo ya que se aproxima bastante a un humanoide.

El siguiente paso ha sido pintar los pesos de la influencia de los huesos en cada parte del cuerpo. La mayoría de objetos solamente es afectada por un hueso así que ha sido un proceso sencillo.

Para simplificar el proceso de animación de la siguiente práctica, he añadido constraints a los huesos para que se comporten de manera lógica.

Por último, para la exportación a Unity, he intentado hacer que las texturas estén dentro del fbx pero me ha sido imposible, al subir el modelo a sketchfab sí que se incluían, para solucionar el problema, dejo las texturas en el Drive y con añadirlas junto al modelo en Unity es suficiente. También he subido el proyecto de Blender.

Robot 2

Proceso de obtención del mapa UV

Con el segundo robot también me ha pasado algo similar:

Este autorigging es bastante peor, ya que no es suficientemente humanoide, la topología es demasiado low polly como para que haga un buen trabajo.

 

Proceso de generación del rig: Blender

Repitiendo los pasos del primer robot, he creado una armature y he creado los huesos que creía convenientes:

Mi intención es que los brazos y piernas sean muy flexibles, así que he puesto más huesos. Para poder añadirle el avatar de Unity he creado dos huesos que realmente no se utilizan en el modelo (spine y chin). Los nombres de los huesos de brazos y piernas no siguen la convención, pero están nombrados de forma lógica: brazos: b[1-4].[L|R], manos: m[1-4].[L|R], piernas: p[1-3].[L|R].

El proceso de skinning ha sido más complicado en este modelo, el modo automático de Blender no ha sido suficiente y he tenido que modificar las influencias de muchos objetos.

La exportación a Unity ha sido igual que el robot anterior

Comentarios

Mixamo es una muy buena herramienta para hacer auto-rigging y obtener animaciones online, pero, como se ha podido comprobar en esta práctica, no es muy útil con personajes no humanoides o de materiales rígidos. Pero no puedes editar nada en la aplicación, ni ajustar posiciones de huesos, pesos, o rehacer el rig.

Tampoco ayuda que el formato fbx no se comporta de la misma manera en Blender, maya, sketchfab y Unity. Esto es porque no es un formato abierto, es propiedad de Autodesk y solamente comparten el SDK. Unity solamente acepta fbx y collada.

 

 

Link a Drive:

Link a Folio:

Debat1el Actividad R3. Media

Publicat per

Actividad R2. Media

Publicat per

Actividad R2. Media

Robot 1 Proceso de obtención del mapa UV Como en la práctica anterior, se ha utilizado Blender como programa de modelado 3D.…
Robot 1 Proceso de obtención del mapa UV Como en la práctica anterior, se ha utilizado Blender como programa…

Robot 1

Proceso de obtención del mapa UV

Como en la práctica anterior, se ha utilizado Blender como programa de modelado 3D.

El proceso de despliegue de texturas en Blender es el siguiente: Primero se selecciona el objeto, luego se marcan como “seams” (costuras) las aristas por las que se quiere separar el UV, se seleccionan todas las caras y se hace la acción “unwrap” (desplegar).

En este proceso he seleccionado automáticamente las aristas por ángulo y las he marcado como costuras. Después he ido quitando las costuras innecesarias y añadiendo otras necesarias. Por ejemplo: El torso (las líneas rojas son la costura):

Una vez añadidas todas las costuras de todo el objeto, y comprobado que quedan bien con una textura de referencia, se han seleccionado todos los objetos y se han desplegado, esto hace que los UVs de cada parte se distribuyan en un mismo mapa. En las opciones de desplegado se ha seleccionado una distancia entre las distintas islas para que el proceso de texturizado resulte más sencillo. El mapa UV resultante es el siguiente:

En Blender existen dos tipos de textura de referencia, la utilizada en los tutoriales de la asignatura (en color) y un patrón de tablero de ajedrez (en blanco y negro). Principalmente he utilizado la segunda:

Proceso de texturización

El proceso de texturización del primer robot se ha realizado completamente en Blender mediante materiales “baked” en texturas. Una de las fortalezas de Blender como programa de modelado 3D es el sistema de texturas basadas en nodos y he querido utilizar esto para texturizar el primer robot. He utilizado algunos componentes de materiales de www.blenderkit.com, que ofrece, entre otras cosas, materiales para Blender basados en texturas y nodos. Estos materiales tienen una licencia “Royalty Free”.

Por ejemplo, el torso tiene los siguientes nodos:

Y el plástico de los brazos tiene un sistema mucho mas complejo para detectar las aristas y aportar mas detalles:

Una vez asignados materiales a todos los objetos, se han “bakeado” a un mapa de texturas, quedanto como resultado las siguientes tres texturas (albedo, roughness y normales):

     

 

Robot 2

Proceso de obtención del mapa UV

El proceso de obtención del mapa UV en el segundo robot ha resultado mas sencillo, ya que sabía como hacerlo. Se ha realizado el mismo proceso que el anterior robot, pero intentando optimizar mejor el desplegado:

La imagen final del mapa UV:

Y con las texturas de referencia:

Proceso de texturización

Para este proceso de texturización he querido utilizar Gimp para modificar las texturas “bakeadas”. Esta imagen es con solamente materiales de Blender:

En Gimp he importado el mapa UV, la textura y una textura con la localización de los polígonos:

He añadido una textura, una imagen de dominio público (por Calipper en Wikipedia), de la parte trasera de una nevera:

Por último, he dibujado en el editor de texturas de Blender las separaciones objetos para dar una sensación de desgaste y suciedad. El resultado final es (con un mapa de roughness):

 

Dificultades encontradas

Una de las partes que mas me ha costado ha sido “bakear” las texturas, la opción se encuentra en un submenú muy escondido y el proceso no es nada intuitivo. Hay que tener un nodo de imagen seleccionado en cada uno de los materiales para que se renderice en esa textura. Esto estaba sobrescribiendo alguna textura de arañazos y no sabía por qué.

Otro problema ha sido, a la hora de subir el primer robot, se exportaba a fbx con 2 o 3 mapas UVs diferentes, lo que evitaba que se pusieran bien las texturas. Lo he conseguido solucionar dejando solamente un material por objeto y exportándolo.

Comentarios

Crear mapas UV es un proceso que lleva mucho tiempo, a lo largo de la práctica he notado que ganaba mas entendimiento de como se iba a comportar el mapa al añadir y quitar costuras. El primer modelo, ahora que he hecho el segundo, me parece que se puede mejorar en varias partes, la mayoría de los objetos rectangulares es mejorable, pero como tenía la intención de “bakear” al final y no editar la textura a mano los he dejado así (y falta de tiempo). Por último, comentar que el espacio entre las islas es necesario para que el proceso de “bake” funcione de manera correcta, además, pintar es más sencillo.

Links a sketchfab:

 

Debat0el Actividad R2. Media

No hi ha comentaris.