Publicat per

Actividad R3. Media para Videojuegos

Publicat per

Actividad R3. Media para Videojuegos

Introducción En esta tercera práctica había que crear el rig de los robots modelados anteriormente. El objetivo era generar dos versiones diferentes:…
Introducción En esta tercera práctica había que crear el rig de los robots modelados anteriormente. El objetivo era generar…

Introducción

En esta tercera práctica había que crear el rig de los robots modelados anteriormente. El objetivo era generar dos versiones diferentes: una creada manualmente en Maya (en mi caso utilicé Blender para realizarla mediante el add-on de rig humano) y otra utilizando el sistema automático de Mixamo. A lo largo del proceso encontré varios desafíos técnicos que me permitieron comprender mejor cómo funciona la relación entre esqueleto, pesos y deformación de la malla.

Drive: 

https://drive.google.com/drive/folders/1HEFsW46dQojQpPvkppn2On5CRNctHvfS?usp=sharing

Rig manual en Blender

Para comenzar el rig manual, habilité el add-on Rigify, ya que proporciona una estructura inicial de esqueleto humano que sirve como base para colocar los huesos principales de forma más organizada. Tras añadir el esqueleto, el siguiente paso fue emparejar cada hueso con la parte del cuerpo correspondiente del robot. Una vez colocados todos los huesos, procedí a vincular la armature y la mesh utilizando el método de “Automatic Weights” como punto de partida. Como es habitual con este tipo de automatización, algunas zonas se deformaban de manera incorrecta al rotar ciertos huesos. Para solucionar esto utilicé la herramienta “Weight Paint” para ajustar manualmente la influencia de cada hueso sobre la malla. Finalmente, probé diferentes posiciones, exporté el resultado a FBX y verifiqué en Unity que la estructura se importaba correctamente.

Rig en Mixamo

Después de terminar el rig manual, decidí probar con Mixamo para comparar. Subí el robot en FBX con las texturas ya aplicadas esperando que el proceso fuera más rápido. Sin embargo, me encontré con que el rig automático deformaba partes del modelo de forma extraña, especialmente en las articulaciones.

Comparando ambos enfoques, el rig manual consume bastante más tiempo y requiere paciencia, pero a cambio se tiene más control sobre cada hueso y cómo afecta a la malla. Además, se puede adaptar a cualquier personaje, sin importar lo alejado que esté de la anatomía humana. Mixamo,por otro lado, es increíblemente rápara modelos que tienen proporciones humanoides, pero se complica cuando te sales un poco de ese molde.

Debat0el Actividad R3. Media para Videojuegos

No hi ha comentaris.

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 R3 – Media para videojuegos

Publicat per

Actividad R3 – Media para videojuegos

1. Enlaces de drive: Drive: Enlace   2. Resumen: 2.1. Proceso para generar el Rig El procedimiento de la creación del Rig se…
1. Enlaces de drive: Drive: Enlace   2. Resumen: 2.1. Proceso para generar el Rig El procedimiento de la creación…

1. Enlaces de drive:

Drive: Enlace

 

2. Resumen:

2.1. Proceso para generar el Rig

El procedimiento de la creación del Rig se realizó siguiendo los videos tutoriales proporcionados. Duplique el archivo en maya para tener un backup y procedí a generar los huesos con la herramienta Create Joints, además de apoyarme con la visualización del esqueleto en Unity.

Al generar cada hueso correspondiente y agruparlos en jerarquía, uní los huesos al cuerpo del robot usando Bind Skin.

Para una mejor precisión preferí usar la opción Smooth Skin, para que no se deformara y se apreciara los movimientos como debería de verse en un robot

 

2.2. Capturas de pantallas

Robot A – Pose T (Maya)
Robot B – Pose T (Maya)

Robot B – Pose de lucha (Maya)

 

Robot A – Mixamo(Deformación)

 

Robot B – Mixamo(Deformación)

 

Robot A – Maya & Mixamo

 

Robot B – Maya & Mixamo 

 

2.3. Comparativa entre los métodos de rigging

Al usar la generación automática de Mixamo el modelo presente algunos errores como en las capturas anteriores, donde el guante del Robot A y el mazo del Robot B se deforma y el mismo cuerpo del robot se siente menos realista, en cambio al generar el rig de forma manual se tuvo mayor libertad y precisión; pero a mayor esfuerzo. Además hubo una dificultad de generar por Mixamo el modelo del Robot B debido a que las articulaciones son pequeñas y no se detectan, teniendo que tomar los puntos un poco antes de la articulación, generando mayor deformación en las extremidades del robot.

Aunque despues intente también combinar ambos primero generar el esqueleto en Maya y posteriormente mandar el archivo a Mixamo para unirlo con animaciones, dando lugar a unas animaciones más acordes al Robot y no deformando los guantes, ni el mazo.

Debat0el Actividad R3 – Media para videojuegos

No hi ha comentaris.