El Morpher junto con el Wire Parameters

Imagen de encabezado para morpher y wire parameters

El Morpher junto con el Wire Parameters

En este artículo de 3D nos vamos a enfocar en una parte concreta que se encuentra en la animación, el morpher, veremos cómo se crean , sus restricciones y como usarlos. Además veremos cómo animar nuestros morphers mediante un panel, que nosotros mismos crearemos, que nos permitirá acceder a estos de una forma más interactiva y sencilla, aunque esto requerirá de una preparación previa. ¡Muy bien! Sin más dilaciones vamos a empezar.

Qué es el morpher?

Todo esto está muy bien, pero si sois nuevos en 3Ds Max seguramente os estaréis preguntando… ¿qué es el Morpher?

El Morpher es un modificador que aplicaremos a un objeto que queramos animar y deformar de alguna manera,  como  por  ejemplo deshinchar una pelota, hacer gestos faciales y muecas, o lo que a todos nos gusta… ¡Transformar nuestros personajes en Hulk!

Bueno quizás no todos buscaremos los mismos objetivos, pero es bien conocido por muchos como el modificador que es capaz de animar la cara de nuestro personaje sin usar el rigging facial, que es la técnica  más completa y compleja .

–  Y por qué no usar el rigging facial? – Os preguntaréis… Bueno, realmente es una cuestión de tiempo y calidad del producto. Todo dependerá de qué tan bien debemos hacerlo, cuánto paguen y muchos otros factores, pero en resumen el rigging facial nos llevará más tiempo que el morpher, aunque nos permitirá cosas que este modificador tiene más limitadas…

El objetivo de animar un morpher con Wire Parameters es para conseguir un resultado semejante a este:

Reglas

Antes de pasar al siguiente punto hay que tener en cuenta las reglas del Morpher, que son las siguientes:

  • El objeto deformado deberá tener la misma cantidad de vértices que el original
  • No se podrán añadir nuevas aristas, polígonos o vértices a nuestros objetos.
  • Siempre deformaremos una copia del original.
  • En caso de usar el modificador Skin, el morpher debe ir siempre antes

Esto es MUY IMPORTANTE ya que de ello depende que nuestro personaje no se desmonte en una maraña de puntos, o se deforme sin sentido alguno. Este modificador en verdad lo que hace es memorizar el número de identificación de cada vértice y a cada uno le aplicará la deformación en base al original. El problema viene si añadimos a posteriori nuevos vértices, ya que el orden de estos variará, por tanto, el vértice número 3.754 que se encontraba en el ojo ahora quizás está en los labios, ahora imaginaros eso con todos ellos, el resultado no es agradable. ¡Así que máxima atención a esto!

 

Procedimiento

Para deformar nuestro objeto tendremos que crear copias de este mismo, como clones, para deformarlos y entonces indicarle a nuestro original que haga lo mismo.

Como podéis comprobar en la siguiente imagen, aquí tengo unos cuantos modelos de la misma cara clonados y editados. Haciendo las formas de la boca para las vocales, unas pocas expresiones y cerrar los ojos. Con esto hecho ya podré usar el modificador Morpher en la cara original para que copie las deformaciones de las demás.

Distintos Morpher

Cuando añadimos el Morpher lo primero que vemos dentro de éste es un apartado que se llama Channel List en el que observaremos todo de botones que ponen empty, a lo que haréis clic izquierdo en uno de los vacíos, éste se iluminará y entonces haréis clic derecho para seleccionar la opción Pick from scene, sino siempre os queda la versión antigua que es moveros a la siguiente pestaña del menú del morpher, Channel Parameters y activar el botón Pick Object from Scene

Clicaréis en el clon modificado y ahora sí, podéis animar esa deformación mediante el valor numérico que se encuentra al lado del botón que anteriormente decía empty.

Boton sin morpher

Ahora ya tiene el nombre del clon modificado, así que es interesante que cambiéis el nombre a la copia modificada con la deformación que es…

Bóton con morpher

Un dato relevante es que ya podéis borrar los clones modificados si queréis, aunque yo no lo recomiendo ya que siempre tenemos la seguridad de tener ese clon como copia de seguridad. En caso de borrarlos veréis como dentro del morpher el color al lado del objeto que había cogido vuestro modificador se volverá azul y no verde como están las demás. Os avisará de esta manera de que en caso de sobrescribir esa deformación la perderéis completamente, ya que el programa no detecta la malla de donde se obtuvo.

Colores estado morpher

Conclusión

Si habéis tenido la oportunidad, o desgracia siendo muy tiquismiquis, de trabajar con el Morpher, habréis sentido ese malestar de tener que usar esos controles arcaicos para animar este modificador subiendo y bajando el valor numérico ya que para usarlo tendremos que colocar el cursor del tiempo en un fotograma, clicar en el objeto, dirigirnos al modificador en cuestión, grabar el valor numérico de uno de los morphers, digamos la “vocal A”, en 0… Dirigirnos al fotograma donde hace la deformación completa, cambiar el valor de ese morpher, “Vocal A” a 100, avanzar más en los fotogramas y volver a poner el valor 0… Y todo esto SOLO para que diga la vocal A, imaginaros si tenemos que hacer que hable, sería una tortura ¡¿Qué estamos en la edad de piedra?!

Así que, para no sufrir en vano, vamos a sacrificar un extra de tiempo para luego tener la comodidad de hacer todos estos morphers simplemente desde un panel de controles mucho más accesible e intuitivo…

Ya tenemos preparada la crema y la base… pero nos falta la guinda del pastel: el panel de controles.

El panel de controles después del Morpher

El panel de controles será una representación icónica de las partes a animar en una cara. No crearemos representaciones de cosas que no se animen ya que la idea es tener un panel de controles funcional no una versión mal hecha de cómic de nuestro personaje.

Procedimiento

Empecemos situándonos en una vista ortogonal, ya sea front o top, dibujando una cara con el apartado del menú de creación Shapes, podéis usar las que queráis mientras sepáis lo que es.

Muy bien, si observáis en mi panel de control, he hecho un recuadro exterior a forma de panel. La idea de esto no es que sea para verse bonito sino para limitar un área de trabajo, no importará el tamaño siempre y cuando no sea excesivo, en la que colocar todos nuestros iconos que representaran a cada morpher de forma icónica.

Conjunto de shapes

El problema es que ahora mismo si muevo una cosa se me desmontaría toda la estructura, así que voy a tener que crear relaciones entre ellos para que se sigan todos, como un bloque… la idea es la siguiente, quiero que al mover el recuadro delimitador del panel se mueva toda la estructura junta… así que vamos a usar la herramienta Link para generar estas relaciones llamadas jerarquías, que se encuentra en la parte superior izquierda de la barra de herramientas al lado de rehacer y deshacer.

Herramienta Link

Vamos a relacionar de detallado a general, o de pequeño a grande. De manera que si muevo un trozo del panel interno se mueva todo su conjunto. Por norma general también aprovecho a crearme un código de colores. Todo lo que solo es información es gris, los paneles más generales que mueven un conjunto de objetos verde, el panel exterior morado y las formas que me sirvan de control de color amarillo. Esta es mi estructura personal porque me siento cómodo con ella, pero podéis usar la que queráis. De este modo ya sé que si muevo una forma verde moveré el conjunto de objetos cercanos que tiene, y el morado es el que moverá toda la estructura.

Panel de control colores

Como detalle final y finalización de la creación del panel, vamos a crear una cámara desde nuestra vista Perspective, colocaros perpendiculares a vuestro panel, podéis usar el ViewCube para clicar en las caras front o top, y una vez ya estéis bien alineados usad las teclas Ctrl+C para crear una cámara desde vuestra vista actual. Sabréis que estáis en la visión de cámara porque en la parte superior izquierda del visor os saldrá el nombre por defecto que tienen las cámaras al crearse. Recordad que podéis usar las teclas “P” para cambiar a vista Perspective, “C” para Camera y otras más como “F” de front o “T” de top.

Muy bien, ahora sí empecemos con la segunda parte del título del artículo. El Wire Parameters.

Wire Parameters

El funcionamiento del Wire Parameters se basará en el enlace de valores de dos objetos… Por ejemplo, si un objeto es rotado en el eje X, el otro se verá obligado a moverse en el eje Y. Como veis por el ejemplo no tienen que ser el mismo tipo de parámetro ni semejantes, y esto es aplicable en todo. Podemos pedir el movimiento en Y de un objeto con el Morpher “A” de otro, dentro de estos parámetros enlazados también se podrá escoger si controlar desde ambos lados, es decir que, si muevo o roto un objeto u otro entre ellos se cambian los parámetros, o bien que el control sea unidireccional, por lo que un objeto tiene preferencia sobre el otro y por tanto solo se puede mover el valor desde un sitio, ambas opciones serán correctas según lo que se quiera hacer. Sin más dilación vamos a ver de forma práctica la aplicación de esta función.

Procedimiento

Voy a seleccionar lo que representa el parpado del ojo derecho en mi panel, para acto seguido usar el clic derecho del ratón sobre este, se abrirá el quadmenu del que seleccionaremos la opción Wire Parameters

Quadmenu wire parameters

En el momento de seleccionar Wire Parameters se abre un menú que nos está pidiendo qué parámetro queremos enlazar de nuestra forma de párpado, en mi caso al crear el panel desde la vista top será el eje Y, si lo tenéis creado en Front posiblemente sea el eje Z, en todo caso tenéis que tener en cuenta que esto trata los ejes locales del objeto, no los mundiales, de manera que os recomiendo ya poneros con la herramienta mover y pedirle que os muestre el eje local del objeto seleccionado, es tan fácil como en la parte superior de la barra de herramientas seleccionar View y cambiarlo a Local.

wire parameters relaciones

Después de seleccionar el eje podemos apreciar como desaparece el menú y nos aparece una línea punteada que sigue el puntero del ratón, ahora clicaremos sobre el objeto con los morphers, se nos abrirá una ventana, en la izquierda veremos el parpado con el parámetro que le hemos pedido pero en la derecha es posible que no esté el objeto seleccionado, en caso de que os pase esto, seleccionad el objeto con morphers y en la ventana que os ha aparecido de Wire Parameters, en la parte superior del lado derecho tendréis dos flechas dando vueltas, lo que se conoce como refresh y ahora sí os debería cargar el objeto seleccionado, deberéis ir en busca del parámetro que queréis que siga. En la parte central tenéis lo que os había comentado sobre los tipos de conexiones, por orden descendente tenemos… Los dos se controlan por igual, el objeto de la derecha prevalece sobre la izquierda y el objeto de la izquierda tiene prioridad sobre el derecho. Este último es el que queremos ahora… Solo nos quedará pulsar el botón Connect. No cerréis la ventana aún porque posiblemente tendremos que editar un poco la línea de “código” …

wire parameters connect

Ahora podéis comprobar que tal se mueve vuestro morpher al usar el panel de control, posiblemente tengáis que mover tanto el controlador que se saldrá del panel e incluso puede que funcione al revés de cómo lo teníais planeado, de modo que tenemos que ajustar eso en la ventana de Wire Parameters donde debería ser visible una línea de texto que pone…Y_Position u otro eje, dependiendo de los ejes de vuestro objeto. Básicamente lo que pone ahora es… si muevo mi control en el eje Y positivo, el morpher se activará, en mi caso se mueve del revés a lo que tenía pensado, cuando ahora bajo el parpado en mi panel no pasa nada, porque el morpher ya está a 0, pero cuando lo subo es cuando se activa el morpher que es cuando parece que lo estoy abriendo… para ello en mi línea de texto de voy a poner un signo negativo, o guion, para corregir ese error… pero sigue necesitando demasiado movimiento para cerrar completamente el ojo, es por eso que voy a multiplicar también por 100 y ver qué tal queda pulsando el botón Update.

Wire parameters update

Ahora si ya me queda de forma más correcta. Esto es lo que haremos con todos nuestros controles, en el caso de las 4 vocales simplemente cada uno usara un eje de ese control. De modo que, Y_Position será para el morpher AI ya que nuestro controlador deberá subir para que se active, –Y_Position será para la Vocal E, X_position para la vocal O y –X_Position para la vocal U. Los estados de ánimo funcionaran exactamente de la misma forma.

Consideraciones posteriores al Wire Parameters

Aunque está bastante bien el procedimiento que hemos hecho hasta ahora podríamos considerar mejoras cuantiosas, aunque algunas de ellas nos harán repetir el proceso del Wire Parameters, nos permitirá un grado de control y comodidad mayor.

Extras de mejora

  • Podríamos congelar cosas de nuestro panel que no usaremos nunca, como las letras del panel que solo son informativas, de esta forma no podremos seleccionar objetos que no interesen.
  • Otra cosa que sería interesante de hacer sería limitar el movimiento de nuestros controles funcionales a las áreas designadas mediante Float Limits en el panel de animación, esto funcionará como un rango de valores de forma que no podrá salir el controlador de un área designada como puede ser en el caso del control de vocales…
  • Bloquear directamente ejes de rotación y movimiento que no usamos, ya no nos tendríamos que preocupar de coger solo el eje X o Y de nuestra herramienta Mover. Esto se hace mediante el apartado Hierarchy y Link info.
  • Cuando movemos nuestros controles no tenemos una forma de volverlos exactamente al punto cero… Tenéis dos formas, o aprovecháis ahora que los tenéis en el origen y dibujáis alguna otra forma para dejaros congelada como el punto cero para luego usar alinear, o bien seleccionáis los controles móviles y con la tecla Alt pulsada + botón derecho del ratón os aparecerá un quadmenu distinto en donde podréis seleccionar la opción Freeze Transform. Esta 2ª opción os borrará vuestro Wire Parameters actual.

De esta forma cuando queráis devolverlo a su punto inicial lo seleccionaréis de nuevo y con la misma combinación de teclas os dirigiréis a la opción Transform To Zero.

Escribe un comentario