facial rig 3ds max - · pdf filejaime3d.info página 1 facial rig 3ds max hay que tener...
TRANSCRIPT
JAIME3D.INFO Página 1
FACIAL RIG 3DS MAX
Hay que tener una cofiguración parecida a la de la captura.
En la que linkamos los ojos y parte de arriba de la boca a la
cabeza , y la parte de abajo junto a la lengua se linka con el
hueso de la mandibula.
Es importante que la cabeza del personaje no forme parte
de la malla del resto del personaje, es decir, que tiene que
estar aparte para poder crear los morph.Debes convertirla a
Editable Poly.Esto es importantisisisimo!
El hueso de la cabeza y del cuello los he hecho pequeños
para poder ver bien el resto de huesos. Una vez creemos todos los vinculos y hayamos
acabado con el pesado de la malla, ya podremos darle otra forma si
queremos.
Vamos a crear un nuevo conjunto de seleccion con los huesos que van a
influenciar el pesado de la malla de la cabeza.
Seleccionamos la cabeza y agregamos
el modificador skin.
Agregaremos huesos dandole al
boton Add dentro del modificador.
A continuación iremos al Selection Set y buscaremos
nuestra selección de huesos de la cabeza y clicaremos sobre
select para agregarlos.
Con la malla de la cabeza seleccionada, haremos Alt+X para
hacerlo transparente y clic derecho para hacer un Freeze Selection.
Con esto podremos
manipular los huesos para
crear una animacion en la
que el primer hueso de la
mandibula rota hacia
abajo.De esta manera
podremos pesar la malla
moviendo la mandibula con
la barra de animación.
Para eso debemos tener una
capa de animacion nueva Abs.
JAIME3D.INFO Página 2
Como vemos en la captura,la malla se deforma fatal, pero de eso se trata, de que ahora
desfreezamos la cabeza y le damos a Alt+X de nuevo para dejar de ser transparente y vamos al
modificador skinEnvelope.
Seleccionamos las lineas grises con puntitos al final, que se utilizan para seleccionar los huesos
y darles peso. El Paint Weights nos servirá para ir con el pincelillo pintando la superficie de la
cara del personaje.Yo suelo empezar con un Max Strenght y un Max Size de 0,1.
Al Painter Options se accede con el boton de al lado del Paint Weights que pone puntos
suspensivos.
Para crear los morpher necesitamos hacer
copias de la cabeza del personaje.
La seleccionamos y en ToolsSnapshot
clicamos sobre la opcion Single y en el
metodo de clonacion en Mesh.
Esta es la mejor manera de copiar la
cabeza, ya que al contener el modificador
skin, si la copiamos pueden pasar cosas
raras al aplicar el morpher, como que se
mueva arriba o abajo o de repente la
cabeza desaparezca por arte de magia.
Ahora a la cabeza original le
podemos aplicar el modificador
Morpher, pero debe colocarse
debajo del Skin en el Stack.
Ya podemos empezar a modificar
JAIME3D.INFO Página 3
la malla de las copias.
Al aplicar el morpher vamos a tener en cuenta varias cosas.
La primera es que el automatically reload targets esta bien
activarlo porque veremos en tiempo real la modificacion en la
malla original.
El primer slot vacio de los morphs debe ser la malla original, es
decir la cabeza sin modificar. Para eso clicaremos en el primer slot
y luego en Capture Current State.
Los siguientes slots se crearan con copias de la cabeza que
seleccionaremos dandole al Pick Object From Scene.
Hay que saber que el Progressive Morph es para crear una
transicion entre un moprh y otro a traves de otros intermedios.
Por ejemplo para crear el blink de los ojos, cerrar o abrir un ojo.
Podemos hacer pasos intermedios en el que el parpado se adapta a
la forma del ojo, porque si solo hacemos el del princio y el del final,
es posible que en la interpolación , el parpado atravesase el ojo.
VINCULAR LA ROTACION DE LA MANDIBULA A UN MOPRH
Se trata de que cuando se abre la boca,la cara se deforme hundiendo un poco
los pómulos, por poner un ejemplo.Esto se puede aplicar a cualquier moprh.
Necesitamos crear un ayudante llamado ExposeTransformHelper.
Lo encontraremos en CreateHelpersExposeTm
Lo alinearemos al primer hueso de la mandibula y lo linkaremos a el.(link
desde el helper al hueso,para hacerlo hijo de este).
Abrimos el Reaction Manager que lo encontraremos en el desplegable Animation.
Con el helper seleccionado clicamos sobre la cruz verde y clicamos en el helper con boton
izquierdo. Se nos abre la ventana de dialogo y
elegimos el World EULER Z( en este ejemplo).
Clicamos sobre la cruz de al lado, y
en la cabeza del personaje, donde
buscaremos el Morpher que toque.
En este caso es el Head002,pero podria ser otro morpher que hayamos creado.
JAIME3D.INFO Página 4
Ahora debemos rotar la mandibula desde el primer hueso. Luego en el Reaction Manager
clicamos sobre Create Node y seleccionando la cabeza nos vamos al Morpher y aumentamos el
valor del slot Head002 a 100.
Le damos a la flechita hacia abajo dentro del Reaction manager para agrear el nuevo estado , y
ya podemos deseleccionar el Create Mode.
Cuando rotemos la mandibula de nuevo, veremos como se activa el morpher.
En este caso el morpher consiste en hundir los mofletes para que se vea un poco chuclao
cuando abre la boca.Es por poner un ejemplo.
SIMETRIA A UN MORPH
En un principio el Morpher no deja asignar la simetria de un objeto, porque es mu listo y
entiende que es una copia volteada. En este punto hay que ingeniarselas para engañarlo.
Supongamos que tenemos una copia de la
cabeza de nuestro personaje y otra copia
con la modificacion de sus vertices en uno
de los costados. Las dos copias deben ser
Editable Poly.
A la primera la llamamos base y a la segunda
“cabeza deformada”, por ejemplo.
Hacemos una copia de la cabeza deformada
y le hacemos Mirror, No clone.
JAIME3D.INFO Página 5
Copiamos la cabeza Base(la llamamos
Base001 por ejemplo).
Seleccionamos la cabeza deformada001.
Vamos a añadir un modificador
Morpher a esta ultima y colocamos la
cabeza base en el primer Slot.
Ahora creamos una pequeña animacion
en la que en el Frame 0 ,el Slot 1 del
Morpher esta a 0 y por ejemplo en el
Frame 10 esta en 100.
Veremos que en el frame 10 el chichón que tenia en la cabeza se le ha quitado(o la
deformación que le hayas hecho al personaje).Dejamos la barra de animación en el Frame 10.
Ahora es cuando debemos alinear la cabeza Base001 a la cabeza deformada001.
A la cabeza Base001 le agregamos un modificador Skin Wrap y en el Add agregamos la cabeza
deformada001.
Movemos la barra de animación del Frame 10 al Frame 0, y la malla de la cabeza base001
deberia tener la deformación, igual que la cabeza deformada001.
De no ser así, habria que tocar los valores de Falloff a 10, variar el Distance Infl y el Face Limit.
Una vez la malla base001 se ha deformado, ya podemos
colapsar el stack haciendo un Collapse, o boton derecho
convert to editable poly.
Ahora ya tenemos la simetria válida para ser incluida en el
morpher de la cabeza original.
La cabeza deformada001 puede ser eliminada sin compasión.
CONTROLADOR DE LA MANDÍBULA
Vamos a crear un controlador para abrir y cerrar la boca, ladearla y
levantarla, y aprovecharemos para crear otro para colocarla hacia
adelante y hacia atrás.
Lo primero de todo es crear un rectangulo y acercarlo a la cara. Con el
Shift y escalar , lo seleccionamos y copiamos haciendolo mas
pequeño.
Linkamos del pequeño al grande, para que el
pequeño sea el hijo del grande.
JAIME3D.INFO Página 6
El cuadradito que quede en el centro , con Alt apretado y boton derecho del raton , Freeze
Transform.
Con esto le daremos valor cero a todas sus variables de
transformación para que en cualquier momento lo podamos
resetear y vuelva al sitio.
Para comprobarlo podemos moverlo a cualquier lugar y Alt +
boton derecho del raton para hacer Transform to Zero.
Vamos ahora al panel motionAssign Controller.
Allí picamos sobre el Z position del Zero
Pos XYZ y luego en el librillo que tiene
una V verde elegiremos el Float Limit.
Se nos abre una nueva ventana con los
limites del eje Z.
Moveremos el cuadradito hacia arriba
mientras miramos las coordenadas que
aparecen en la parte de abajo y
miramos el valor que alcanza en Z
cuando el cuadradito esta sobre la linea de arriba del cuadrado grande.
En mi caso es 1,4 asi que coloco en el Upper ese valor y en el Lower -1,4.
Si hay que cambiarlo pues se ajusta a lo que nos de la gana.
Haremos lo mismo para el eje Z.Para el eje Y colocamos todo en valor
0,para evitar el desplazamiento en la profundidad.
Es posible que las coordenadas locales varien segun como se haya creado
el rectangulo, asi que lo importante es saber que el eje de profundidad
debe quedar a 0 y los demas tener valores como para que no se salga del
rectangulo grande.Los valores dependerán del tamaño del rectangulo al
que se vincule.
Vale, ya tenemos el rectangulo en el medio haciendole Transform to Zero.
Vamos a jugar con el Reaction Manager dentro del
desplegable Animation.
Le damos al Add Master y clic con el ratón sobre el rectangulo
pequeño.Veremos como se despliegan menus. Debemos
llegar al Y position(en este caso)que indica la posicion arriba/abajo de
JAIME3D.INFO Página 7
nuestro controlador.
En Reactions ha aparecido nuestro rectangulo pequeño junto al
controlador que le hemos indicado.
Añadiremos el objeto esclavo , en este caso el primer hueso de
la mandibula.
Para saber en que coordenadas vamos a
rotarla, pondremos el sistema de
referencia de coordenadas en Parent y
rotaremos en el eje Z(en este caso) para
ver como abre la boca el personaje y nos
fijaremos que el valor de las coordenadas
Z se mueve en la parte baja del programa.
Ahora que ya sabemos que eje rotar
volvemos a dejar el personaje con la boca
cerrada. Esto es importante!.
Vamos al Reaction Manager y clicamos
sobre Add Slave.
Acto seguido clicamos sobre el
hueso de la mandibula que
controla la apertura de la boca y
se nos abrirá un desplegable.
Hay que llegar hasta el ZRotation como indica la captura.
Al hacer esto, Reaction Manager muestra los valores que
tiene el Master en el State001, es decir, en el inicial y el valor
de Master y Slave en el siguiente estado creado,
State003(sale el valor 003 porque he hecho pruebas y el
valor 002 me lo he cargao,pero debe salirte 002), en el que el valor de Master sigue siendo 0,
porque el rectangulo no lo hemos movido y el valor de rotacion en Z de la mandibula, que por
defecto es 0,425.Este valor no tiene que preocuparnos porque es simplemente el valor que
tiene la mandibula con la boca cerrada. Es posible que 0,425 suponga que la boca no esté
cerrada del todo, pero como digo, no es importante.
Ahora lo que nos queda es mover el rectangulo pequeño hacia abajo
y darle al Create Mode.
Lo siguiente es rotar la mandibula hacia abajo y darle al boton de la
flechita hacia abajo que tiene como un asteriscpo de color amarillo.
Eso creará un nuevo estado En el que vemos el valor de State o Master a -1 (en este caso) y el
valor de la rotación en Z de la mandibula en 20,425.Quiere decir que cuando el Rectangulo se
ha movido hacia abajo , la mandibula a rotado incrementalmente 20 unidades.
JAIME3D.INFO Página 8
Ya podemos desactivar el Create Mode y mover el rectangulo , viendo que hemos conseguido
que este, guie la rotación de la mandibula.
Lo que debemos hacer a partir de aquí, es añadir otro Master, que en este caso seria la
posición en X del rectangulo y añadir otro Slave, que podria ser la rotacion en X de la
mandibula, de manera que cuando el rectangulo se moviese de izquierda a derecha , la
mandibula se moviese tambien en esa dirección.
Dejo la captura para que te hagas una idea de como seria añadir otro Master y Slave.Los States
de abajo estan relacionados con el Master que seleccionemos arriba.
Podemos crear controladores para los Morpher de la misma manera, ya que cuando eligieses
la cabeza del personaje te dejaria escoger para controlar los morpher que contiene.
Aquí pongo un ejemplo de que nos deja escoger los moprher, aunque solo tengo creados 2 en
este personaje.Si tuviese 40 pues los podriamos ir linkando a cada posición del rectangulillo
controlador.
JAIME3D.INFO Página 9
ATTRIBUTE HOLDER AL CONTROLADOR
Para no añadir controladores adicionales en el panel de rigging, se me ha ocurrido que se
podria crear un attribute holder al cuadradito pequeño que controla la mandibula, de manera
que no solo tenemos control sobre la posicion arriba/abajo , derecha/izquierda , sino tambien
a la hora de sacar/meter la
mandibula hacia adelante o
hacia atras.
Para esto seleccionamos el
controlador o rectangulo
pequeño y en el stack de
modificadores agregamos el
Attribute Holder .
En AnimationParameter Editor
tenemos el editor para agregar
el nuevo controlador. Viene mejor explicado en el manual Huesos y Vinculos entre objetos de
mi blog.
La cuestion es que vinculo el slider al movimiento adelante/atras de la mandibula.
Con esto tengo todas las posiciones que necesito de la mandibula con un mismo controlador.
CONTROLADORES POR SCRIPT
Son controladores creados para directamente asociar moprhers a las posiciones
predeterminadas.
El que yo voy a usar se llama Morph UI Creator y se puede encontrar en este blog :
http://rauquenrol.over-blog.com/pages/maxscripts-3995278.html
Una vez descargado el Script, nos vamos a Maxscript en 3ds Max y clicamos en
Run Script.
En la carpeta que se abre podemos arrastrar el script descargado y
directamente clicar sobre el para abrirlo.
Nos aparece una nueva ventana que pone RIG HUNTER.
Ponemos el nombre de nuestro nuevo controlador, le damos a Create y lo
buscamos en el viewport.
Para cambiar su tamaño vamos a la pestaña que pone 10,0 que es el tamaño
por defecto.
JAIME3D.INFO Página 10
Es importante que si lo quisieramos borrar, no le demos a suprimir en el teclado, sino que
vayamos a la pestaña delete que aparece en el script.
Si esto no funciona y aparecen mensajes de error, lo mejor es borrarlo ,ahora si, con la tecla
suprimir, e incluso cerrar y volver a abrir el script.
Para borrar las palabras que van junto al controlador, hay que hacer un Unfreeze All con boton
derecho del raton.
Este Script a veces da algun problemilla, pero como da muchos beneficios, pues a mi manera
de ver, se le permiten ciertos fallos.
Hay varios tipos de controladores a elegir.
El primero permite 4 moprhs , uno en cada esquina del cuadrado.
El segundo solo permite un moprh a cada lado.
El tercero permite 2 moprh, pero esta vez uno arriba y otro abajo.
El cuarto y ultimo permite 3 moprh , 2 a los lados y uno abajo.
Hay que saber que podemos asignar varios morph a una misma posicion del controlador.
Pero que si asignamos muchos morph a una misma posición puede petar el script.
Para hacerlo funcionar debemos clicar sobre Pick Mesh, para indicarle al controlador, cual va a
ser la cabeza que vamos a deformar y que es la que debe contener todos los moprh.
Una vez hemos seleccionado la cabeza nos aparecerán todos los Moprh en la lista de la
izquierda.
Lo unico que debemos
hacer es asignar a cada
posicion , el morph a
utilizar,clicanos primero
en el morph y luego en
los botones que pone
CL , CR o BC, por
ejemplo.
En la pagina del autor tienes una especie de videotutorial de como usar el script,junto a un
ejemplo de facial rigging.
JAIME3D.INFO Página 11
ACABAR EL PANEL
Una de las cosas que nos pueden dar problemas, es tener el panel por ahí tirado, y tener que
estar yendo a su ubicación cada vez que queremos cambiar la expresión del personaje.
Una cosa que podemos hacer de una manera sencilla, es crear un rectangulo donde agrupar
todos los controladores, linkarlos a este rectangulo , y a su vez linkar este ultimo a una camara
que los mire de frente. Esta camara a su vez puede estar vinculada por ejemplo al hueso de la
cabeza del personaje, para que el panel y la camara acompañen siempre al personaje.
Tambien se puede linkar la camara a cualquier otra parte del cuerpo que consideremos mas
estable, eso ya iria a gustos.
Entonces para visualizar el panel
,solo debemos activarlo en uno de
los viewport.
Otra cosa interesante que podemos hacer es tener un grupo de selección con todos los
controladores, en este caso los circulos y rectangulos verdes , para resetearlos a la vez.
Para eso el sistema de coordenadas de referencia deberia estar en parent, hacemos clic
derecho sobre el Select and Move y pondriamos a 0 los valores del Absolute Parent.
JAIME3D.INFO Página 12
AÑADIR AUDIO PARA LA SINCRONIZACIÓN
Cuando tengamos todo preparado para la
sincronizacion labial, abrimos el Curve Editor
Y en Editor clicamos en Dope Sheet.
En Sound clicamos boton derecho y Properties.Se nos abrirá una ventana nueva en la que le
damos a Add para añadir nuestro archivo de audio. Este archivo debe ser Wav o AVI.
Nos tenemos que fijar en el End Frame, ya que deberia ser por lo menos un numero menor del
numero de frames que tenemos en Max, porque sino se verá cortado.
Entonces lo que tenemos que hacer es ampliar nuestro rango de
Frames con clic derecho sobre los botones de video en max, el play o
el tirar palante o patras.
Se te abrirá el Time Configuration, y ahí es donde tienes
que ajustar la longitud en frames de la animación.
Una vez haces esto, cierras las ventanucas, y haces clic
derecho sobre el Curve Editor y das a DockButton.
Con esto podemos trabajar mejor sobre el personaje
,con la ventana del curve editor anclada en la parte
inferior.
Vamos al Key Filters y seleccionamos Modifiers, ya que
solo vamos a crear Keys que
tengan que ver con los
modificadores morpher.
Clicamos sobre Set Key y
movemos el cursor, cambiando los
valores del
morpher y
dandole a la llave cada vez
que queramos agregar una
animación al variar el
sonido.