Mover modelo 3D usando huesos (skinning), Blender.

En este tutorial se explica cómo deformar o mover un modelo, mediante la armadura y los huesos en Blender, simulando un esqueleto, es eso se le conoce como skinning.

Cuando hablamos de armadura y huesos, nos referimos a la estructura que creamos para poder mover nuestro modelo 3D. Como se ve en la siguiente imagen.

Huesos modelo 3D, Blender

Para aprender más sobre la armadura y huesos, puedes ver el tutorial Armadura y huesos en Blender.

Una vez con la armadura y nuestro modelo listos, el siguiente paso es hacer que cuando movamos un hueso de la armadura, se mueva una parte del modelo 3D.

A este proceso se le conoce como Skinning.

Para agregar la armadura a nuestro modelo 3D, podemos hacer alguna de las siguientes opciones.

Todas las siguientes opciones se basan en agregar una relación Padre-hijo entre la armadura y el modelo 3D, donde la Armadura es el Padre.

Si la Armadura es el padre, entonces cuando el hueso se mueva, se modificará el modelo. Pero al modificar el modelo el hueso no debe sufrir cambios.

Para agregar la relación de padre e hijo y usar Skinning, se hace lo siguiente:

  1. Primero seleccionamos todos los objetos hijos, en este caso es el modelo 3D.
  2. Al final seleccionamos al objeto que será el padre, en este caso es la Armadura.
  3. Después presionamos CTR + P.
  4. Aquí nos aparece un menú en el que podemos seleccionar diferentes opciones:
Armature deform, Blender

Luego de elegir una opción (la más simple With Automatic Weights), ya podremos hacer lo siguiente en Pose Mode:

Skinning, Blender, Blender
Skinning, Blender

La imagen anterior muestra un ejemplo de Skinning en Blender, donde al modificar los huesos, se modifica el modelo 3D.

A continuación, te damos una breve explicación de cada una de las opciones que puedes usar:

Usando Armature Deform.

Con lo anterior ya se agregó la relación padre e hijo.

Usando Armature Deform, la armadura será el padre de todos los objetos. Cada objeto tendrá un Armature Modifier asociado con la armadura.

Ahora solo es cuestión de mover el hueso y veremos cómo se mueve el modelo 3D.

Usando With Empty Groups.

Cuando se usa esta opción, se crearán grupos de vértices vacíos (vertex groups, si aún no existen) en los objetos hijos.

Los grupos de vértices se crean para cada hueso, y se nombran en base al nombre del hueso. Si tenemos dos huesos: PiernaA y PiernaB, se crean 2 grupos de vértices con los mismos nombres: PiernaA y PiernaB.

Así no tendrás dificultades al momento de identificar a cual hueso pertenece cada grupo de vértices.

NOTA: Los grupos de vértices se crearán solo para huesos que se han designado para deformar. En caso de que no veas que se crean grupos de vértices, ve a las propiedades del hueso: Properties Editor -> Bone -> Deform Panel.

Asignar vértices a los grupos de vértices.

Los grupos de vértices nuevos son vacíos, es decir, no tienen alguna influencia asignada.

Así que tú puedes de manera manual asignar vértices a los grupos de vértices que quieras. Para que el hueso tenga influencia sobre ellos.

Hay otra herramienta que no crea vértices vacíos, sino calcula la influencia que tendrá cada hueso, esa herramienta es la siguiente.

Usando With Automatic Weights.

Esta opción es más sencilla de usar, de echo es muy es muy parecida a la anterior With Empty Groups.

La diferencia es que en esta opción no se crean vértices vacíos, sino Blender calcula la influencia que debería tener cada hueso sobre los vértices del objeto.

Para calcular la influencia de cada hueso, se basa en la distancia del hueso al objeto, esa influencia se asigna como un peso al grupo de vértices.

El problema con este método, es que como se calcula de manera automática. El objeto puede no moverse como lo esperamos.

Los huesos pueden tener influencia donde nuestro modelo tal vez no lo requiera. Y al moverlos en Pose Mode, podemos ver que se empalma el objeto, o se deforma de manera muy distinta a lo que necesitamos.

Aunque, podemos modificar la influencia de los huesos, hasta lograr que funcione como lo necesitamos.

Hay otra manera similar, que calcula automáticamente la influencia de los huesos. Pero lo hace basándose en la configuración de Bone Envelopes,

Usando With Envelope Weights.

En esta opción, Blender calculará la influencia que tiene cada hueso sobre el objeto, basándose en la configuración que tengamos en Bone Envelopes.

Bone Envelopes, es una configuración que tienen los huesos. La cual configura la influencia del hueso a su alrededor, es decir, es como un volumen alrededor del hueso que representa la zona en que tiene influencia.

Puedes ver el tutorial de Bone Envelope para mas información.

Básicamente se asignará la influencia de cada hueso, seleccionando los vértices que estén dentro del volumen del hueso que se configuró en Bone Envelope.

Dando un peso a cada grupo de vértices en base a la distancia del vértice al hueso.

Puedes ver la documentación de Blender, en este enlace.