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.