Blender: rigging de una pelota con “squash and stretch”

Recuerdo una animación que hice hace un tiempo sobre una pelota que saltaba…

En aquella ocasión me limité a crear una sucesión de keyframes manipulados desde lo que en la versión 2.5 se ha denominado el Editor Dopesheet

El trabajo estaba fundamentado en variar el escalado en uno o varios de los ejes locales de la figura. Sin embargo hay que admitir que es una técnica poco apropiada aunque sea interesante para ir iniciándose en la animación.
Ahora voy a realizar un rigging para una pelota de las mismas características pero con la posibilidad de controlar el efecto “squash and stretch” propio de las animaciones desde los inicios.

Con esto se consigue uno de los principios elementales de la animación: exagerar y deformar para que parezca realmente “vivo”.

Primero la teoría…
Nuestro objetivo es conseguir que al mover un tirador colocado en la parte final del hueso (tail) se produzca un estiramiento o un encogimiento elástico como si de una goma se tratara. Como esto no es una propiedad que tengan los huesos deberemos asociar la cola del hueso a otro objeto y darle a Blender la orden de que al mover ese objeto la cola del hueso le siga. Claro que esta restricción debe tener una serie de propiedades: por ejemplo algo que no queremos es que al moverse la cola se produzca un escalado glogal de todo el hueso afectando a los tres ejes X, Y, Z. Lo que necesitamos es un escalado que consiga el efecto de goma elástica. En ese sentido no nos tenemos que preocupar de nada porque Blender será el que haga el trabajo sucio.

Vamos allá.
Comenzamos por Add/Armature/Single Bone

Añadimos ahora un Empty cerca de la cabeza (head)

Para un trabajo más cómodo cambiamos la apariencia del Empty a Cube y le damos un tamaño moderado.

Aprovechando que lo tenemos seleccionado le ponemos un nombre como tirador_abajo.

Puestos a dar nombre a los objetos (esto es una buena costumbre) damos un nuevo nombre a la Armature y al Bone para llamarlos esqueleto y deformable respectivamente.
Creamos un nuevo empty en las mismas condiciones que el anterior. En esta ocasión lo llamamos tirador_arriba y lo colocamos cerda de la cola (tail) del hueso deformable.

Seleccionamos el hueso, pasamos a Pose Mode

y le añadimos una restricción (Constraint) de tipo Stretch to
El campo Stretch to se muestra rojo como indicación de que no puede surtir efecto… algo falla. En este caso el fallo viene por no estar designado el objeto Target. Cuando pongamos el nombre del empty tirador_arriba la cosa cambia.

Y por qué no, verificamos que si desplazamos el tirador el hueso deformable se estira/encoge.

Como la cabeza del hueso hace las veces de origen comprobamos que si seleccionamos el hueso (en Pose Mode) y lo movemos, la deformación se hace desde la cabeza y lo que se mantiene fijo es la cola.
Pero es control en esas condiciones es más bien desagradable. Lo más lógico sería que el cubito de abajo se usara de igual manera que el de arriba para deformar el hueso.
Como el hueso ya tiene aplicados el Stretch to basta con emparentar el hueso y el empty. Seleccionamos (en Object Mode es lo más sencillo) primero el hueso deformable (hijo) y después el empty inferior al que habremos llamado tirador_abajo, hacemos “Control C” y emparentamos.
Conseguido: cada uno de los tiradores tiene su función y lo hacen correctamente.

Para mover, rotar y escalar tendremos que seleccionar los dos cubitos. podemos crear un nuevo objeto padre de los dos cubitos si lo creemos conveniente. En mi caso he optado por un nuevo empty del mismo estilo que los tiradores pero escalado en el eje Z para que tenga aspecto plano.

Bueno. Ahora solo queda sacar a escena la UVsphere y hacer que sea hija del hueso deformable (Set Parent To/Bone)

Es una práctica habitual enviar el hueso deformable a otra capa (Object/Moveto to Layer) para que no interfiera en la elaboración de la animación.

No quiero cerrar el tutorial sin mencionar lo que sería el método más razonable y utilizado en esto de los riggings con stretch to. Por norma general los tiradores para deformar no se fabrica a base de emptys sino de huesos. Es decir, que se comienza el trabajo por una estructura de tres huesos: uno deformable y los otros dos para los tiradores.

El setup en este caso es igual pero deberán cumplirse los siguientes requisitos:

  • titador_arriba: no debe estar emparentado con deformable. Tiene que pertenecer a la misma armature pero sin que haya una relación de parentesco
  • tirador_abajo: tiene que ser padre de deformable. Y con eso ya cumplirá su función de tirador.

También es una práctica muy habitual sustituir estos huesos por figuras geométricas que faciliten el trabajo. Para eso es necesario crear en otra capa un objeto como puede ser un cubo y después en las propiedades del hueso (en Pose Mode)…
Y a partir de aquí poco puedo aportar. Con algo de imaginación se pueden aportar detalles al rig para que sea más manejable.

Ahora ya no hay excusa para no crear una bonita animación en la que a esta pelotita le pase algo gracioso. Yo espero volver pronto con una🙂
Si desea practicar con el .blend delante o usarlo directamente, aquí le dejo la descarga:

    • Init0
    • 6/03/11

    En primer lugar, megustaría comentarte que el tutorial está muy bien en general, como todo los que sueles realizar, ya que es sencillo y de fácil comprensión.

    Por otro lado, agradecerte el esfuerzo que estás realizando al compartir tus conocimientos con la comunidad mediante este gran blog.

    Lo que quiero comentarte ahora es parte de una suposición y no una crítica, ya que no puedo verificar este comentario, pero me da la impresión que compartimos ciertas fuentes de información y como dice el refran “es de bien nacido ser agradecido”.

    Si este tutorial está basado en el que realizó David Ward en BlenderCookie, no estaría de más nombrar la fuente a modo de agradecimiento.

    http://www.blendercookie.com/2010/09/29/creating-a-bouncing-ball-rig/

    En caso de que no esté basado en ese tutorial y hayas llegado tu sólo a la misma conclusión que comparten muchos especialistas dedicados exclusivamente al diseño y animación 3D, sólo puedo decirte que eres un crack (que por cierto, lo eres y lo has demostrado muchas veces con tu trabajo).

  1. @Inito:
    Realmente el parecido es asombroso. Sin embargo no veo la manera de que no sea así. Quiero decir: así es cómo se hace un “stretch to” para un solo hueso en Blender. Yo muestro dos modos, uno con emptyes y otro con esqueleto, Blendercookie sólo explica el de esqueleto pero aderezado con una edición extra que añade deformación al hueso con “stretch to” (que por cierto queda chulísimo).
    El hueso sólo se deforma si tiene un target y sólo se puede deformar desde abajo si es hijo de un padre (de otro hueso u otro objeto).
    Me encantaría ser un crack pero me temo que en este caso ni siquiera Blendercookie lo és. En ambos tutoriales se explica un recurso no una aplicación creativa del mismo. Ese fue el motivo por el que al BLEND ni siquiera le puse una licencia Creative Commons porque es tanto como ponerle licencia al cubo inicial.
    Se agradece la aportación y es bueno que quede el enlace que has puesto para que más de uno le saque provecho (incluido yo).

    Un saludo.

  2. en caso de tener que rota la pelota, como lo harías? estuve viendo por medio de un constraint sobre la malla de la pelota que copie la rotación de un hueso, pero de que otra formas se te ocurre?

  1. No trackbacks yet.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: