Publicat per

R3 Media para videojuegos

Publicat per

R3 Media para videojuegos

Para la entrega del reto R3 se han creado los esqueletos necesarios de los 2 robots resultantes del reto R2. Pueden descargarse…
Para la entrega del reto R3 se han creado los esqueletos necesarios de los 2 robots resultantes del reto…

Para la entrega del reto R3 se han creado los esqueletos necesarios de los 2 robots resultantes del reto R2.

Pueden descargarse los robots.fbx en (drive compartido para la UOC): https://drive.google.com/drive/folders/19Eea0Z8B2gwiH8Tfq5uzE9X_aMmxDQR2?usp=sharing

Con el objetivo de dotar de capacidad de movimiento a los robots creados, se ha utilizado Maya para la creación de los esqueletos.

Siguiendo los tutoriales del aula, se han creado los esqueletos satisfactoriamente:

Se han tenido en cuenta el número y tipología de huesos necesario para una figura humanoide en Unity.

Para evitar la distorsión, producida por defecto, del resto de partes cercanas del cuerpo (al fusionar el skeleton y la skin), se ha decidido utilizar la técnica del peso de vértices en el menú de componentes. Esta forma me pareció mucho más “segura” y “controlable”, así podemos asegurarnos qué movimiento influye en qué pieza con un 100% de certeza.

Una vez creados los esqueletos, fusionado la skin y el skeleton, confirmado las dependencias de movimiento, se llevaron los .fbx de los robots a Unity para confirmar su funcionalidad correcta:

Teniendo en cuenta la jerarquía de los huesos, y los nombres para el mapeo automático en Unity, se ve que la exportación es satisfactoria a primera vista.

El siguiente paso fue confirmar la falta de distorsión con movimientos de distintas partes de los robots:

Como se aprecia en las imágenes, los movimientos son correctos y no causan distorsión alguna en otras partes del robot.

Mixamo y autorigger

Mixamo es una plataforma web que te permite realizar un autoriggin de los personajes humanoides que subas. En los casos de mi robot, ninguno de los 2 robots fueron aceptados por Mixamo en su plataforma, incluso probando con sus distintas opciones de configuración en relación a las manos. Razones posibles:

  • Falta de articulaciones o proporciones incorrectas. Se han hecho con forma bípeda y recordando a la humanoide, pero seguramente no fue suficiente para la herramienta automática de autorigger de mixamo.

Limitaciones de la herramienta:

  • Está clara. La limitación a una estructura clara y predeterminada, que es la que se asemeja con un ser humano.
  • Las herramientas automáticas estarán muy bien como manera de ahorrar tiempo, siempre y cuando se utilicen en su campo específico (como puede ser el caso de seres humanos y mixamo). Cuando sales un poco de ese molde, algo muy común en un entorno directamente relacionado con la imaginación como es el desarrollo de videojuegos, es necesario el desarrollo manual de estas características.

Debat0el R3 Media para videojuegos

No hi ha comentaris.

Publicat per

Reto 3

Publicat per

Reto 3

Para el desarrollo de este reto, he seguido paso a paso los tutoriales proporcionados en los recursos de la asignatura, modelando manualmente…
Para el desarrollo de este reto, he seguido paso a paso los tutoriales proporcionados en los recursos de la…

Para el desarrollo de este reto, he seguido paso a paso los tutoriales proporcionados en los recursos de la asignatura, modelando manualmente en Maya, y he usado por otro lado el auto-rigger de Mixamo.

En primer lugar, empecé creando los esqueletos manuales en Maya, creando los diferentes huesos. En primer lugar, comencé con el tronco, los brazos y las piernas de manera individual. Una vez los ajusté correctamente al modelo, dupliqué brazos y piernas, haciendo que el robot sea lo más simétrico posible. Una vez los creé. los fui ordenando correctamente en la jerarquía. De este modo, nos aseguramos que los huesos están cohesionados y siguen una estructura ‘humanoide’. Para más ayuda, he ido ajustando los huesos para Unity, teniendo más o menos una jerarquía similar. Una vez ya comprobé que en Unity la configuración era correcta, me puse a ajustar los vértices de cada parte del cuerpo, de modo que se adaptaran al hueso correcto y evitando que hubiese deformaciones no deseadas. Como los dos robots son diferentes entre sí, los huesos de los mismos también han variado. Por ejemplo, para el robot 1 no utilicé el hueso ‘shoulder’, pero sí usé ‘toes’, mientras que para el robot 2 fue al revés. Además, el robot 2 cuenta solo con hips, spine, chest y head como tronco principal, al contrario que el robot 1, donde añado el upper chest.

Tras estos pasos, conseguí finalizar los esqueletos de mis dos robots:

  • Robot 1:

 

 

 

 

 

 

  • Robot 2:

 

 

 

 

 

 

A continuación adjunto los esqueletos generados a través de Mixamo:

  • Robot 2:

 

 

 

 

 

Como se puede apreciar, no está el esqueleto del robot 1 generado por Mixamo. Esto se debe a que su algoritmo de auto-rigging no ha sido capaz de generar un esqueleto para mi robot:

 

 

 

Como vemos con el esqueleto que sí ha podido generar, el algoritmo no es del todo preciso. En la sección de los brazos, sobre todo, falla al crear el esqueleto siguiendo las figuras del modelo. Por tanto, podemos concluir que el algoritmo de auto-rigging de Mixamo es útil pero para situaciones en las que cuentas con un modelo sencillo y sin demasiada complejidad, pero puede fallar fácilmente. De hecho, me ha sorprendido que no haya podido generar el esqueleto del robot 1 pero sí el del robot 2, ya que consdero que el robot 1 es algo más típico y sencillo. Por otro lado, únicamente nos será útil en caso de estar tratando con modelos humanoides.

Finalmente, adjunto la carpeta a Drive con los modelos, tanto manuales como generados por Mixamo, en formato fbx00: Drive

 

Debat0el Reto 3

No hi ha comentaris.

Publicat per

Pokétron R3

Publicat per

Pokétron R3

Entrega R3 Robot Poliwhirl   Per desenvolupar l’esquelet del personatge, aquest l’he fet amb l’eina Rigify que té integrat Blender. En primer…
Entrega R3 Robot Poliwhirl   Per desenvolupar l’esquelet del personatge, aquest l’he fet amb l’eina Rigify que té integrat…

Entrega R3

Robot Poliwhirl

Poliwhirl Rig&Skin
Enllaç al model FBX

 

Per desenvolupar l’esquelet del personatge, aquest l’he fet amb l’eina Rigify que té integrat Blender. En primer lloc, cal crear un esquelet i he partit d’un os pare que l’he anomenat root. A partir d’aquí, he creat nous ossos. En el cas de Poliwhirl, he afegit un per a tot el cos perquè no vull que es faci cap plec, ja que es tracta d’un robot d’estructura metàl·lica i el resultat és un moviment robòtic. Per aquest motiu, he optat per afegir un os únic en les orelles, altre en els braços i un, finalment, en els peus.

Un cop ja s’ha creat l’esquelet, s’ha de vincular a la malla. Per fer-ho, ho he fet mitjançant la deformació d’esquelet perquè després amb l’eina de pintar els pesos, pogués seleccionar les zones que no feien bé el moviment. A l’hora de comprovar-ho, ho he fet des de l’espai del mode posa i mitjançant la rotació dels ossos he pogut comprovar moviments que no corresponent al ‘robotisme’ que haurà de traslladar posteriorment l’animació del personatge.

Pintar pesos - Poliwhirl

Com es pot veure, originalment se seleccionava més part de la malla que la que corresponia. Seleccionant l’eina de selecció i pintant a sobre reduint el pes, he aconseguit que les zones d’influència quedin limitades a cadascuna de les extremitats i les parts contigües parcialment.

 

Robot Doduo

Skin&Rig Doduo
Enllaç al model FBX

 

Per desenvolupar l’esquelet del personatge, aquest l’he fet amb l’eina Rigify que té integrat Blender. En primer lloc, cal crear un esquelet i he partit d’un os pare que l’he anomenat root. A partir d’aquí, he creat nous ossos. En el cas de Doduo, he afegit un os a la pelvis, un dos al maluc que controlen l’os de cada cama i el dels peus. En el centre, hi ha un os pel cos, ja que com el Poliwhirl, no vull que es plegui el personatge en ser de metall i unes ales amb dos ossos cadascuna. Finalment, he fet un cap que té un os i que va connectat a dos ossos corresponents al bec estant dividit en una part superior i una inferior. Aquest cap està connectat al seu torn a l’os del cos. Tot en si mateix, va connectat als ossos corresponents, simulant el moviment que tindria aquest tipus de robot en la vida real.

Un cop ja s’ha creat l’esquelet, s’ha de vincular a la malla. Per fer-ho, ho he fet mitjançant la deformació d’esquelet perquè després amb l’eina de pintar els pesos, pogués seleccionar les zones que no feien bé el moviment. A l’hora de comprovar-ho, ho he fet des de l’espai del mode posa i mitjançant la rotació dels ossos he pogut comprovar moviments que no corresponent al ‘robotisme’ que haurà de traslladar posteriorment l’animació del personatge.

Pintar pesos - Poliwhirl

Debat0el Pokétron R3

No hi ha comentaris.

Publicat per

R3 – Rigging 3D – Robots – Angel Palazon

Publicat per

R3 – Rigging 3D – Robots – Angel Palazon

Para esta tercera tarea de la asignatura Media para Videojuegos se nos ha pedido que añadamos un esqueleto a los modelos creados en la primera práctica de cara a que sean usables por el equipo de programadores y hacer animaciones con ellos. 1. Creación del Esqueleto Utilizando la opción Armature de blender, puedes crear una serie de huesos y asignar relaciones de parentesco entre ellos, con ello generé un hueso raíz del cuál salen el resto de huesos que representan…
Para esta tercera tarea de la asignatura Media para Videojuegos se nos ha pedido que añadamos un esqueleto a…

Para esta tercera tarea de la asignatura Media para Videojuegos se nos ha pedido que añadamos un esqueleto a los modelos creados en la primera práctica de cara a que sean usables por el equipo de programadores y hacer animaciones con ellos.

1. Creación del Esqueleto

Utilizando la opción Armature de blender, puedes crear una serie de huesos y asignar relaciones de parentesco entre ellos, con ello generé un hueso raíz del cuál salen el resto de huesos que representan la columna, cabeza, brazos y piernas (divididos por articulaciones).

En mi caso el panda no tiene manos ni pies como tal así que tiene 4 huesos menos que el leopardo al igual que huesos de conexión (se agrega un parentesco con un “offset”).

Carregant...

2. Pintado de Pesos

Una vez preparado el esqueleto, hay una opción en blender que te permite generar los pesos de manera automática. Por lo general funciona bien, pero hay veces que hay que retocar para añadir más influencia en ciertas partes del modelo.

Un problema que encontré fue la falta de topología, así que tuve que añadir más subdivisiones a mi modelo.

Carregant...

3. Cinemática Inversa

Por otro lado, decidí crear una serie de huesos extra en mi esqueleto (sin parentesco con los demás) para luego convertirlos en “targets” y “poles” de las extremidades. Esto nos permitirá luego hacer animaciones de manera más sencilla. En blender hay un modificador que nos permite establecer esta configuración así como elegir la cadena de huesos a los que afecta y la influencia que tiene sobre la pose en general.

Carregant...

4. Comparativa con generador de Rig de Mixamo

La principal diferencia de hacer un rig a mano o usar la web de mixamo es la diferencia de tiempo que se tarda en cada uno de los métodos. Mixamo te permite crear rigs humanoides solamente subiendo tu modelo e indicando mediante una interfaz visual donde se encuentra la barbilla, codos, manos, rodillas y el centro de la cadera; y lo hace en apenas minutos, mientras que un rig manual requiere de tiempo de creación de esqueleto y aplicado de pesos.

Sin embargo, los resultados de Mixamo no siempre son ideales, hay veces que debido al modelo, hay deformaciones que perjudican la calidad visual o estropean el modelo. En un rig manual tu tienes el control absoluto y puedes ajustar todos los huesos y pesos al detalle.

5. Enlace a los Modelos

Panda: https://skfb.ly/p8Py9

Leopardo: https://skfb.ly/p8QY8

 

Debat0el R3 – Rigging 3D – Robots – Angel Palazon

No hi ha comentaris.

Publicat per

R4 – Animación

Publicat per

R4 – Animación

Introducción Trabajo de animación para la asignatura Media para Videojuegos. En mi caso he utilizado el software Cascadeur y Blender. Desarrollo El…
Introducción Trabajo de animación para la asignatura Media para Videojuegos. En mi caso he utilizado el software Cascadeur y…

Introducción

Trabajo de animación para la asignatura Media para Videojuegos. En mi caso he utilizado el software Cascadeur y Blender.

Desarrollo

El primer paso al importar un modelo con rig en Cascadeur es asignar los diferentes esqueletos a un esquema humanoide con el “Quick Rigging Tool”. Si tuviéramos un modelo estandarizado lo detectaría automáticamente, pero difícilmente vamos a cumplir esos requisitos con un modelo hecho a mano.

La propia guía de YouTube de Cascadeur ha sido muy útil para conocer los procesos de importación.

Aquí llega un momento gracioso, pues me doy cuenta de que en la actividad anterior no apliqué la escala de los objetos del modelo y al generar el rig todo sale disparado. Así que tuve que iterar y cambiar algunos valores del ejercicio anterior para que aquí todo funcionara correctamente.

Llega el momento de animar. Cuesta un poco acostumbrarse a los controles viniendo de Blender pero los resultados valen la pena. Primero seleccionamos los puntos que vamos a manejar en nuestro esqueleto y los colocamos en la posición que queramos comenzar. Automáticamente, se marcarán en azul (se pueden desactivar con Shift + Z).

Seguidamente, nos movemos en la timeline a la siguiente keypose que queramos hacer y así progresivamente (se pueden mover los keyframes utilizando el botón central del ratón y duplicarlos manteniendo Shift).

Por último, al seleccionarlos todos podemos crear una interpolación asistida por IA que nos dará el resultado final de la animación apretando el botón correspondiente y seleccionando el tipo de curva de animación (en mi caso bezier clamped).

IMPORTANTE: durante el proceso de exportación me he encontrado que las últimas versiones de Cascadeur no permiten exportar en .FBX con el plan gratuïto. Por lo tanto, si queremos trabajar gratis habrá que descargar una versión anterior (en mi caso la v2023.2.1)

La primera animación que he decidido hacer ha sido la de caminar (walking). Recomiendo especialmente seguir el tutorial de Cascadeur dedicado a este tema para empezar a acostumbrarse a las herramientas de este programa. Además, da algunos consejos para generar un loop más natural.

En mi caso busco unas animaciones que representen el peso y tamaño de mis robots, ya que la idea es que en la vida real serían unos modelos de unos 20 metros de altura. Por ello me he inspirado en el fantástico trabajo de animación que realizó ILM en la película Pacific Rim.

El resto de animaciones ha sido pura creatividad espontánea y jugar con las herramientas del programa. Un shortcut muy recomendable para hacer keyframes es F, y Alt+F para intervalos. La pantalla dividida es útil para tener en un lado el modelo limpio y en el otro los controles del rig (en esta versión se activa con la barra espaciadora y con la “X” le das play a la animación).

Respecto a las dos versiones de robots distintas, he dado prioridad a que tengan la misma cantidad de frames para que así al combatir no se generen delays entre los combates.

Para acabar, he juntado todas las animaciones exportadas como .fbx de Cascadeur en un único documento de Blender. Para que todas se muestren en el mismo modelo, he convertido todas las animaciones en acciones en la pantalla de “Nonlinear Animation”. De esta manera también se pueden visualizar y seleccionar en SketchFAB.

Entregables

Video resumen

Robot V1 en Sketchfab: https://sketchfab.com/3d-models/v1-robot-animations-cb11a3bf072a46b7bc69b1518d2b04b3

Robot V2 en Sketchfab: https://sketchfab.com/3d-models/v2-robot-animations-7cfddf43d3624f28be4772a1d0a4b51b

Conclusiones

Lo cierto es que estoy muy orgulloso del resultado; traer a la vida modelos 3D siguiendo todo el proceso es una gran experiencia. Considero que hay muchísimas herramientas que nos facilitan la vida (como Mixamo o Acurrig), pero hacer las cosas por uno mismo da muchísima más precisión en los detalles.

Cascadeur es una herramienta superpoderosa para tener control sobre la animación pero automatizar muchísimos aspectos que le dan más realismo. La realidad es que las animaciones han quedado poco pulidas para mi gusto, especialmente debido a que no les he podido aplicar simulación de físicas debido a un problema de escala con Cascadeur que no he podido solucionar en el margen tan estrecho de tiempo que teníamos para tantas animaciones.

La animación es un arte en sí misma y no he ni rascado la superficie, pero he disfrutado mucho del proceso y todo lo aprendido para futuros proyectos.

Debat0el R4 – Animación

No hi ha comentaris.

Publicat per

R3 – Media parar videojuegos

Publicat per

R3 – Media parar videojuegos

Como herramienta, he vuelto a elegir Blender. Enlace a drive: https://drive.google.com/drive/folders/1JH2-5JIFNmh5V2nheBtm2WhkSvpUUCj1?usp=sharing Rigging Antes de ponerme con el esqueleto, revisé y edité la…
Como herramienta, he vuelto a elegir Blender. Enlace a drive: https://drive.google.com/drive/folders/1JH2-5JIFNmh5V2nheBtm2WhkSvpUUCj1?usp=sharing Rigging Antes de ponerme con el esqueleto, revisé…

Como herramienta, he vuelto a elegir Blender.

Enlace a drive: https://drive.google.com/drive/folders/1JH2-5JIFNmh5V2nheBtm2WhkSvpUUCj1?usp=sharing

Rigging

Antes de ponerme con el esqueleto, revisé y edité la geometría de los robots para separar las partes móviles de las estáticas (los tubos de hombro y antebrazo del codo y hombro) y así evitar deformaciones innecesarias con la intención de conseguir el movimiento esperado para los robots. Tras eso, procedí a construir los esqueletos, siendo casi humanoides al no tener piernas. Pese a ello, al robot azul le añadí un hueso en la esfera con la que se desplaza con tal de animar su rotación. Al robot verde le añadí un hueso para animar el taladro con el que se mueve y también las gafas.

 

 

 

 

 

 

Pesos

Tras tener los esqueletos y asignarlos a los objetos, lo siguiente fue añadir los pesos para cada hueso. En un principio, opté por una asignación automática, pero el tener que borrar y reajustar los pesos llevaba demasiado tiempo, por lo que opté por generar los pesos a cero e ir pintando únicamente las partes deseadas para cada articulación.

Durante el pintado de pesos, me di cuenta de que había zonas imposibles de pintar, lo que me llevó a una segunda revisión de la geometría. Como resultado eliminé caras internas y junte vértices duplicados. Después pinté las zonas completamente a rojo o azul, ya que no buscaba ninguna deformación en la maya, ya que parecería que son seres orgánicos.

Robot 1

Robot 2

Reflexión mixamo

Dadas las características de mis modelos, no he podido aprovechar las funcionalidades de mixamo. Sin embargo, es evidente que en desarrollos, es una herramienta que puede ayudar a acelerar procesos y comprobar en una etapa temprana como se verían y comportan nuestros objetos, pudiendo presentarlos en un entorno jugable o una etapa temprana del desarrollo con animaciones básicas. Sin embargo, y como es evidente, no es útil para personajes fuera de lo humanoide, cosa bastante común en los videojuegos, siendo imposible aprovecharse de esto para animaciones de objetos del entorno como lavadoras u hornos si optamos, por ejemplo, de un estilo cartoon.

 

 

Debat0el R3 – Media parar videojuegos

No hi ha comentaris.

Publicat per

Rigging dels dos robots 3D

Publicat per

Rigging dels dos robots 3D

Procès de rigging El procès de rigging dels dos robots ha sigut molt similar, ya que els dos acaben compartint una estructura…
Procès de rigging El procès de rigging dels dos robots ha sigut molt similar, ya que els dos acaben…

Procès de rigging

El procès de rigging dels dos robots ha sigut molt similar, ya que els dos acaben compartint una estructura òsea similar, malgrat les diferències que s’aprecien en els dos models. El model d’un sol ull és el que més es distancia de la complexió humana, però agurpant adequadament les joint en Maya, es pot obtenir un funcionalitat adequada.

A continuació es veuen els esquelets de les dues figures en Maya:

I a Unity:

Les connexions fetes són totes centralitzades a la cintura dels dos robots. D’aquí sorgeixen dues branques, una cap a dalt i les seves extremitats i una altra cap abaix les cames. La jerarquía utilitzada ha sigut la següent:

Rotacions i distorsió

Pel que fa a les rotacions i els efecte de distorsió, cap objecte distosiona a un altre, excepte per l’hombro ( que afecta a upper chest ), el colze ( que afecta a a l’hombro ) i la cama ( que afecta a hips ). Això fa que es vegi una rotació en la qual el cilindre de l’extremitat es mou sobre la juntura sense que resulti extrany.

Mixamo 

En aquest cas, Mixamo no ha aconseguit un rig gaire realista en cap dels dos robots. En el robot més humanoide, es veu que la mà i l’arma sòlides, es tranformen en dos gelatines amorfes. Segurament, això es així degut a que l’algoritme dedueix que just després de señalar-li on es troba el canell, intenta dibuixar un mà ja que, en teoria, s’introdueixen figures humanes al programa. Per la resta d’extremitats, el tronc i el cap no hi ha problema i provant algunes animacions predefinides, semblen realistes en aquest aspecte.

En el cas de l’altre robot, el problema és encara més crític ja que s’afegeixen males interpretacions del cap i el tronc i sorgeix una figura extraña gelatinosa. El motiu és el mateix, l’algoritme està preparat per figures completament humanes.

Enllaç al drive

Aquí es troben els arxius fbx requerits, tant del rig en Maya com en Mixamo. El rig de Mixamo ha sortit molt extrany.

https://drive.google.com/drive/folders/1CBkFiBNdjHXqTNF3r4TvhZpcabQMKuoe?usp=drive_link

Debat0el Rigging dels dos robots 3D

No hi ha comentaris.

Publicat per

PEC3 Media para Videojuegos

Publicat per

PEC3 Media para Videojuegos

Proceso de creación del Esqueleto y Riggeo Mixamo Primero he probado a llevarme ambos modelos a Mixamo y no funcionan bien. El…
Proceso de creación del Esqueleto y Riggeo Mixamo Primero he probado a llevarme ambos modelos a Mixamo y no…

Proceso de creación del Esqueleto y Riggeo

Mixamo

Primero he probado a llevarme ambos modelos a Mixamo y no funcionan bien. El problema es que Mixamo riggea los modelos como si fueran personas o personajes orgánicos y por ello las riggea de manera que los polígonos se deformen en codos, rodillas, cuello, etc. Los robots, al menos los mios, no tienen partes orgánicas de ningún tipo y se han diseñado desde el principio para que en todo el modelo no se deforme nada. También hay problemas en las cabezas. En mis robots, la cabeza y el torso actúan como una sola pieza rígida y Mixamo está diseñado para personajes con una cabeza normal, con su cuello entre esta y el torso. Otro error son las piernas del segundo robot. El segundo robot tiene “dos rodillas” ya que sus piernas simulan las patas traseras de un animal cuadrúpedo como un perro y Mixamo está diseñado para personajes con rodillas humanas.

Creación esqueleto

Para crear el esqueleto he usado 3ds Max. En 3ds Max se pueden utilizar muchas cosas a la hora de crear un esqueleto debido a su modificador “Skin”. El modificador “Skin” permite usar cualquier objeto o elemento como “hueso” para los modelos. De esta manera, podrás utilizar un dummie o una spline por ejemplo para riggear a un personaje. Para crear el esqueleto he utilizado el CAT ya implementado en el programa.

El CAT permite utilizar varias plantillas de esqueletos como humanoides y animales cuadrúpedos. CAT es una herramienta muy cómoda debido a que facilita mucho crear esqueletos cuyos modelos van a ser simétricos ya que al crear una extremidad de un brazo una pierna por ejemplo, con un simple botón nos creará una copia invertida al otro lado.

Al crear un CATParent vacío, se ve representado únicamente con un triángulo y una flecha. Para empezar hay que elegir una plantilla. Yo he escogido la de “Base Human” ya que es la más estándar al fin al cabo los robots son humanoides hasta cierto punto.

Para continuar he eliminado la cabeza y he ajustado el tamaño y la posición de cada hueso para que sean lo más parecido a la forma de los robots. He quitado las vértebras para que quede un hueso más rígido y en el caso del segundo robot he añadido un hueso extra para la articulación extra. Los brazos, al ser iguales en los dos robots, han sido duplicados para ahorrar tiempo.

Esqueletos

Rigging

Para hacer el rig he utilizado el modificador “Skin”. Es un modificador que me permite indicar al programa que objetos voy a utilizar como huesos y que geometría va a deformar esos huesos. No me he complicado mucho a la hora de riggear. He hecho que una pieza entera como puede ser la parte del antebrazo y el puño esté totalmente vinculada a un hueso sin crear puntos medios en las articulaciones.

Comparativa

Mixamo en realidad es una buena herramienta a la hora de riggear y animar personajes, especialmente cuando no hay muchos recursos ni tiempo. Riggear y posteriormente animar un personaje manualmente, sin utilizar Mixamo, es mucho más laborioso y en ocasiones puede ser muy tedioso si se planea riggear un personaje orgánico con muchas articulaciones, como pueden ser los dedos de las manos, pero también es mejor de cara a un proyecto más complejo, ya que permite crear tus animaciones en lugar de utilizar unas ya predeterminadas que a lo mejor no encajan con la personalidad y carácter de tu personaje.

Algo que se me había ocurrido justo después de acabar esta tarea era utilizar el esqueleto del Mixamo, llevarlo a 3ds Max, rehacer el rigg pero sin modificar el esqueleto y asi poder usar las animaciones de Mixamo para la próxima tarea debido a que usan los mismos huesos.

Link de Drive con los modelos riggeados

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

Debat0el PEC3 Media para Videojuegos

No hi ha comentaris.

Publicat per

R3 – Rigging

Publicat per

R3 – Rigging

Introducción En esta entrada hago el rigging de los modelos texturizados de los dos robots de las actividades anteriores. Se nos propone…
Introducción En esta entrada hago el rigging de los modelos texturizados de los dos robots de las actividades anteriores.…

Introducción

En esta entrada hago el rigging de los modelos texturizados de los dos robots de las actividades anteriores. Se nos propone utilizar Mixamo (aunque finalmente yo he utilizado accuRIG) y realizar el esqueleto manualmente en nuestro sofware, en mi caso Blender.

Flujo de trabajo

Mixamo

En el enunciado de la actividad se nos propone Mixamo como herramienta para riggear nuestro modelo automáticamente. No obstante, la web de este servicio no me deja subir los archivos .fbx de mis modelos texturizados (muy probablemente debido al tamaño de las texturas). Por ese motivo únicamente he podido hacer la prueba con el modelo sin texturizar:

AccuRIG

AccuRIG funciona de manera similar a Mixamo pero en local y dejándonos más control, ya que podemos movernos entre las distintas fases del rigging libremente. De esta manera podemos trabajar con modelos más detallados.

Por algún motivo el software no muestra correctamente las texturas en este modelo (en el V1 sí), pero no es preocupante porque la exportación es correcta. En esta fase ponemos indicadores en los puntos de flexión.

Recomiendo también ubicarlos correctamente en la vista lateral (barra lateral izquierda) y desactivar la casilla “Midpoint Placement” (panel derecho) porque si no se nos centran los puntos y perdemos el trabajo de la vista frontal.

En Hand Rig he seleccionado 0 dedos porque mi robot no los tiene modelados individualmente, ya que los tiene en forma de puño.

Finalmente, podemos visualizar con animaciones de ejemplo el modelo riggeado con ejemplos y retroceder en el flujo de trabajo si no nos convence cualquier ajuste.

UPDATE: Resulta que el error sucedía porque en Blender exporté sin querer el modelo con más de un mapa de UVs y accuRIG se hacía un lío. Por suerte podemos cargar el .fbx con los mapas corregidos y cargar los datos del rigging anterior con la opción de “Load AutoRIG Data”.

UPDATE: Y por algún motivo más las texturas exportadas con AutoRIG no son correctas, pero importando el .fbx en Blender y copiando el material que creé en la actividad anterior se resuelve el problema.

Rigging a  mano en Blender

Como en la última actividad para exportar los modelos junté todas las mayas, el primer paso para hacer rigging va a ser seleccionar el objeto en modo edición y separar “By Loose Parts” para tener todos los objetos individualmente en el editor. Me he descargado un armature de Mixamo para tener el mismo número de bones y así facilitar el retargeting.

En las zonas de flexión selecciono las caras que marcan el centro de unión y ubico el centro del objeto en esa zona.

Posteriormente, muevo el cursor a ese punto y por último traigo la cabeza del bone a donde está el cursor.

Ahora borro la mitad del esqueleto y utilizo la función symetrize de Blender para duplicarlos y no tener que hacer el doble de trabajo. Importante incluir .L (o R) al final del nombre de cada bone para que la función haga efecto.

Ahora, para tener los huesos bien numerados, le he pedido a ChatGPT que escriba un script para renombrar todos los bones que se han creado con la simetria, de manera que cambia el nombre de, por ejemplo, “mixamorig:LeftHand.L” a “mixamorig:RightHand.R”

Ahora utilizio el Addon Parent to nearest bone para parentar los objetos a la armature. Menos la parte del torso que la hago con Automatic Weights para que tenga flexibilidad respecto a la spine.

Finalmente aquí tenemos los modelos importados en Unity con los huesos mostrados gracias al package Animation Rigging “Bone Renderer Setup”.

Resultados

Time-lapse workflow: https://youtu.be/3PXBWwFq4Xo

Podéis ver los archivos si sois miembros de la UOC en la siguiente carpeta de Google Drive: https://drive.google.com/drive/folders/1WeB18sHIAXxtb-lJtBhdWBLydxLz7d9s?usp=sharing

Valoraciones finales

Por un lado, opino que los resultados con herramientas de automatización son muchísimo mejores de lo que esperaba sobre todo teniendo en cuenta que mis modelos son hard surface. Creo que son una herramienta muy útil porque deja un esqueleto listo para usar en cualquier motor eliminando incompatibilidades (siempre y cuando, claro está, sea una figura humanoide).

Por otro lado, hacer rigging “a mano” en Blender a mí me resulta cómodo y eficiente. Sobre todo deja muchísimo más control sobre los movimientos, ya que se pueden aplicar constraints a los huesos para que se muevan de una manera determinada. Por contrapartida, la compatibilidad del esqueleto que diseñemos en Blender puede no ser la mejor para softwares estandarizados como animaciones de Mixamo o Unity, de modo que hará falta investigar cuál método es más práctico de cara a animar en la siguiente fase del desarrollo.

 

Debat0el R3 – Rigging

No hi ha comentaris.

Publicat per

Entrega R3

Publicat per

Entrega R3

Modelos de 3D FBX Este es el enlace a los modelos FBX creados, en su versión manual y con mixamo. El robot…
Modelos de 3D FBX Este es el enlace a los modelos FBX creados, en su versión manual y con…

Modelos de 3D FBX

Este es el enlace a los modelos FBX creados, en su versión manual y con mixamo. El robot 2 no se ha podido crear el rig automático por mixamo al no ser humanoide:

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

Proceso de creación del rig

Para ambos robots, el proceso ha sido parecido. Primero se crea todo el esqueleto con cuidado de que quede en el centro de los objetos, posteriormente se orientan todos los huesos de forma correcta y por último se gestiona la influencia de los huesos en los vértices del modelo de manera meticulosa. Para el robot 1 hubo un último paso, al contar con dos piernas humanoides que el robot 2 no tiene, y fue crear un controlador IK para cada pierna para optimizar el futuro proceso de animación. De esta manera al agachar el cuerpo del robot 1, las piernas se flexionan automáticamente y los pies quedan rectos en el suelo.

 

Esqueletos finales

 

 

 

 

Unity

Comparativa métodos de rigging

Mi experiencia con Mixamo en relación a estos modelos de robot ha sido positiva en cuanto a su rig automático, siempre y cuando se trate de modelos muy humanoides. Sin embargo, he encontrado limitaciones significativas al trabajar con modelos más complejos.

Por ejemplo, en el caso del robot 2, que tiene una pecera en la cabeza y cuatro brazos, Mixamo no ha logrado reconocer correctamente la geometría. Debido a que este modelo posee cuatro brazos y solo una pierna, la herramienta no pudo procesarlo adecuadamente, por lo que Mixamo no está preparado para manejar esta variedad de morfologías en los modelos.

En cuanto al robot 1, este sí que ha conseguido reconocerlo y ha creado un rig parecido al que he hecho yo manualmente en cuanto a forma. No obstante, al importalo en maya y probarlo he observado que el modelo contaba con una flexibilidad indeseada en sus extremidades, por lo que a pesar de crear automáticamente los huesos y el esqueleto, todavía habría que pulir el modelo para que fuera funcional. Por otro lado, al rig del robot que creé manualmente añadí los controladores IK, los cuales son muy necesarios de cara a sus futuras animaciones. Estos elementos no son creados por Mixamo, por lo que habría que adaptar este esqueleto automático. Además de esto, utilizando este modelo las animaciones prefabricadas que ofrece Mixamo no ean una opción, ya que están preparadas únicamente para modelos muy humanoides. Al tener el nacimiento de las piernas situadas en los laterales del cuerpo, y brazos rígidos con ausencia de codos, las animaciones generaban problemas de flexibilidad innecesaria y atravesamiento de sus extremidades.

En conclusión, en mi experiencia Mixamo (al igual que muchas otras herramientas automáticas) es una muy buena herramienta de generación de rig automático con la condición de que los modelos utilizados sean muy humanoides. El proceso de cración del rig y de la selección adicional de animaciones dura apenas unos minutos, por lo que resulta extremadamente útil y rápido para los animadores. Sin embargo ofrece muy poca flexibilidad al estar automatizada. La creación manual del rig, aun siendo bastante más laboriosa, permite adaptar el esqueleto y las articulaciones a cualquier tipo de personaje indistintamente de su morfología y establecer la rigidez que se desee. En el caso de mis modelos, podría haber partido desde el esqueleto generado automáticamente ahorrándome el primer paso de la generación de los huesos y su orientación. Sin embargo, dado que uno de los robots no lo reconocía y el otro necesitaba bastante más trabajo, no merecía demasiado la pena utilizarlo.

 

Debat0el Entrega R3

No hi ha comentaris.