Página 1 de 1

'Sticky Points', o cómo combinar 'Skin' y 'Morpher'

Publicado: Dom Ago 15, 2010 11:31 pm
por ikerJ
En la sesión 9 de Preguntas y Respuestas surgió un tema muy interesante a raíz de la comparación entre el uso de 'Morpher' y 'Skin + Rig' para el facial de un personaje. Después de ver cómo el 'equipo Skin' empataba con el 'equipo Morpher', concluímos que hablaríamos un poco de cómo podíamos aprovechar ambas cosas para tener un comportamiento facial lo más completo posible, aunando ambas técnicas.

De partida, se han escrito ríos de tinta virtual sobre el tema... Bueno, va, soy un poco exagerado, pero sí recuerdo un par de hilos muy interesantes en CGTalk, y lo que voy a exponer aquí es básicamente una repetición de esto, pero en el lenguaje de Cervantes. Así que tanto si os defendéis con el inglés como si no merece la pena echar un vistazo a estos enlaces:

http://forums.cgsociety.org/showthread. ... 4&t=621463
http://forums.cgsociety.org/showthread. ... 4&t=693454

En resumen, lo que vamos a crear es una cabeza con sus 'morphs', y le pondremos encima unos puntos que, pesados a la malla, podrán deformarla para tener un poquito más de control sobre la forma final de la cabeza. Estos puntos se comportarán igual que los de la tarea de la lección 9, es decir, estarán 'flotando' en el espacio (pero vinculados a la cabeza de algún modo, claro). Hacer esto no requiere nada especial, pero resulta que existe un inconveniente: queremos que esos puntos se muevan con cada 'target', de manera que parezca que están pegados a un punto concreto de la cabeza, y a la vez pretendemos que deformen a la misma malla que los 'conduce'.

Eso es lo que tenemos que arreglar, porque si lo intentáis en plan 'mercenario' veréis que no podemos tener un objeto, A ('sticky point'), controlado por la deformación de otro, B (la malla de la cabeza), y que a su vez B se deforme por la acción de A.

Nuestra lista de la compra consiste en:

- 1 cabeza visible, que es la que veremos en el visor. Meteremos un 'Skin' encima de 'Morpher', sobre el que luego añadiremos los deformadores.
- 1 cabeza de referencia, idéntica a la visible, pero sin 'Skin'. Para que el sistema funcione, hay que emparentarla a la cabeza visible, tal cual.

La cabeza visible debe 'heredar' las deformaciones del 'Morph' de la cabeza de referencia. Se puede hacer mediante una copia-referencia, o usando un 'Morph' con un solo 'target' en la cabeza visible, y elegir como 'target' la cabeza de referencia. De ese modo, la relación entre ambas queda 'viva'. Uf, espero que se entienda esto, porque explicarlo tiene tela... :)

Cada 'sticky point' está compuesto de lo siguiente.El orden es del más 'hijo' a más 'padre' en la jerarquía. Atentos:

A) 1 huesecillo, que va pesado a la cabeza visible, así que éste es el objeto de deforma. Está vinculado a...
B) 1 control, que es el objeto que vamos a animar. Está vinculado a...
C) 1 punto con 'attachment constraint' a un vértice/polígono de la cabeza de referencia. Está vinculado a...
D) 1 ayudante, que está vinculado a la cabeza de referencia.

Estos cuatro objetos están en la misma posición. Podemos empezar creando los puntos 'attachados', y luego crear los tres objetos restantes.

El secreto de todo esto que estamos montando consiste en hacer que los huesecillos NO se muevan cuando los 'morphs' se disparen. De esa manera no hay doble transformación. Sólo se moverán cuando nosotros manipulemos los controles. ¿Cómo logramos esto? Hasta ahora habíamos trabajado con los controladores de posición, de rotación o de escala. Ahora, necesitamos una expresión que afecte a todas las transformaciones de un objeto a la vez, así que elegimos 'Transform Script' y hacemos lo siguiente:

variables:
nodeAttached --> corresponde a C)
nodeTransform --> corresponde a D)

expresión --> inverse (nodeAttached.transform * inverse nodeParent.transform)

Y, abracadabra, deberíamos tener ya nuestro punto funcionando. Si todo está correcto, los huesecillos-deformadores sólo se mueven/rotan/escalan cuando tocamos los controles, y no cuando se disparan los 'morphs'.

En cualquier caso, os dejo una escena de ejemplo con el sistema funcionando (y animado), con el mismo 'password' de siempre. No está muy allá pero os servirá para desmenuzar y estudiar el sistema.

¡A ver esos avances! ;)

Re: 'Sticky Points', o cómo combinar 'Skin' y 'Morpher'

Publicado: Vie Feb 21, 2014 9:43 pm
por htarrin
Hola,
Se que estoy rescatando un post del hace mas de 3 años, pero me tiene intrigado el password del winrar.

Iker por favor, podrías decirme cual es?

Soy Jaime, alumno de la ultima promoción de Rig de Animum y estoy muy interesado en esta técnica.


Me ayudaria mucho tener el archivo de ejemplo.

Mil Gracias!!!!