You are on page 1of 38

Representaciones

de fsicas
complejas

Llogari Casas

PID_00168431
CC-BY-NC-ND PID_00168431 Representaciones de fsicas complejas
Los textos e imgenes publicados en esta obra estn sujetos excepto que se indique lo contrario a una licencia de
Reconocimiento-NoComercial-SinObraDerivada (BY-NC-ND) v.3.0 Espaa de Creative Commons. Podis copiarlos,
distribuirlos y transmitirlos pblicamente siempre que citis el autor y la fuente (FUOC. Fundacin para la Universitat
Oberta de Catalunya), no hagis de ellos un uso comercial y ni obra derivada. La licencia completa se puede consultar en
http://creativecommons.org/licenses/by-nc-nd/3.0/es/legalcode.es
CC-BY-NC-ND PID_00168431 Representaciones de fsicas complejas
ndice
1. Sistemas de partculas...................................................................... 5
1.1. Concepto de sistemas de partculas ............................................ 5
1.2. Deflectores ................................................................................... 10
1.2.1. Parmetros de un deflector ........................................... 10
1.2.2. Uso de deflectores en animacin .................................. 11

2. Reactor.................................................................................................. 18
2.1. Animaciones complejas de cuerpos rgidos ................................ 18
2.2. Animaciones complejas de cuerpos deformables ....................... 27
2.3. Animaciones complejas de superficies lquidas .......................... 33
CC-BY-NC-ND PID_00168431 5 Representaciones de fsicas complejas
1. Sistemas de partculas
1.1. Concepto de sistemas de partculas
Las representaciones de elementos como la lluvia, la nieve o el humo significan
un punto y aparte en las animaciones. De no ser por los sistemas de partculas,
sera imposible trabajar con estos elementos en MAX.
Un sistema de partculas es un objeto que crea pequeos subobjetos, que en
su conjunto funcionan como si de un nico objeto se tratara aunque permiten
tener una cierta independencia entre s. Las partculas que creamos nacen a
partir de un emisor y se comportan segn los parmetros establecidos. Una
gran diferencia entre estos elementos y cualquier otro objeto de MAX es que
las partculas nacen en el emisor pero desaparecen pasados unos fotogramas.
MAX dispone de herramientas para determinar el tiempo de vida de las part-
culas y, por tanto, su visibilidad.
Hay dos tipos de sistemas de partculas, los que no responden a eventos y
los que s que lo hacen. El primer tipo es un sistema que trabaja de manera
continua y no depende de ningn suceso. El segundo tipo, identificado en
MAX bajo el nombre de PF Source, permite definir aspectos que afectarn a las
partculas de diferentes maneras en funcin de lo ocurrido en la escena. Estas
ltimas partculas se denominan sistemas de partculas y son especialmente
tiles si queremos que dichas partculas vayan cambiando de aspecto a lo largo
de la animacin.
Un ejemplo de ello podra ser el de un cohete espacial: cuando las partculas salen de ste
tienen aspecto rojizo, a imitacin del fuego, para poco a poco irse convirtiendo en humo
hasta que llega su desaparicin de la escena.
Dentro del grupo de sistemas de partculas que no responden a eventos, po-
demos crear seis tipos de sistemas: Snow (nieve), Blizzard (ventisca), Spray,
Super Spray, PArray (matriz de partculas) y PCloud (nube de partculas).
Los usos principales de estos sistemas de partculas son los siguientes:
Snow: se usa para simular nieve, arena y otros elementos donde la part-
cula emitida tenga un aspecto esfrico.
Blizzard: es similar al anterior pero, a diferencia de ste, admite ms pa-
rmetros. Como en el caso anterior, el emisor est basado en un plano.
Sirve para representar efectos de lluvia irregular y de polvo levantado por
CC-BY-NC-ND PID_00168431 6 Representaciones de fsicas complejas
el viento. Ofrece la posibilidad de incorporar como partculas elementos
que se hayan creado previamente.
Un ejemplo de ello podra ser una hoja de modo que simule el movimiento de sta cuan-
do sopla viento.
Spray: a diferencia de los dos anteriores, el emisor est basado en un pun-
to. Esto provoca que su uso se limite a partculas que son emitidas desde
objetos como pueden ser grifos, mangueras o chimeneas.
Super Spray: es muy parecido al anterior pero admite muchos ms par-
metros que aqul. Al igual que sucediera con Blizzard, tiene tambin la
posibilidad de emitir objetos previamente creados.
PArray: tiene multitud de parmetros que permiten ajustar tanto el tipo
de partculas como su disposicin espacial y la fuente a partir de la que se
generarn. Uno de sus usos ms habituales es la de crear efectos de espar-
cido de metralla en las explosiones.
PCloud: ste es un sistema de partculas un poco especial, ya que permite
crear partculas para rellenar un determinado volumen siguiendo un pa-
trn.
As, por ejemplo, podramos modelar un pjaro y generar una bandada de los mismos
pjaros a partir de ese nico pjaro modelado.
Consejo: aunque resulta evidente que en muchas ocasiones usando sistemas
de partculas complejos podemos llegar a obtener los mismos resultados que si
usamos sistemas de partculas sencillos, usar sistemas de partculas avanzados
requiere muchos ms clculos de ordenador que usar sistemas simples como
pueden ser Snow o Spray. Para agilizar el trabajo y como norma, es aconsejable
usar el sistema de partculas ms adecuado a aquello que queremos obtener.
Abrid el archivo hoja01.max. Este archivo contiene la malla de una hoja que
ya tiene movimiento de rotacin incorporado.
Id al panel Create y elegid Blizzard del apartado Particle Systems. En el visor
izquierdo cread un emisor de este tipo de partculas.
CC-BY-NC-ND PID_00168431 7 Representaciones de fsicas complejas
De las caractersticas del emisor, elegid el apartado Particle Type y seleccionad
Instanced Geometry.
Esto activar el apartado Instancing Parameters. Activad el botn Pick Ob-
ject y seleccionad la hoja.
Para poder ver cmo ser el resultado final, activad Mesh en el apartado View-
port Display.
CC-BY-NC-ND PID_00168431 8 Representaciones de fsicas complejas
Podis probar a modificar diferentes parmetros y observar as diferentes re-
sultados.
Consejo: cuando se trabaja con sistemas de partculas suele ser necesario usar
deformadores de superficie. Los deformadores son elementos que modifican
la apariencia de un objeto por efectos de campos de fuerza. Algunos de ellos
estn pensados para trabajar con mallas de cualquier tipo. Sin embargo, hay
algunos especialmente indicados para ser usados con sistemas de partculas;
es el caso de los deflectores, que permiten crear campos de fuerza de manera
que, cuando las partculas chocan contra ellos, las hacen rebotar en diferentes
direcciones segn sean las caractersticas del deflector.
Podemos acceder a la creacin de deformadores de espacio por medio del bo-
tn Space Warps del panel Create.
Hasta ahora hemos visto cmo funciona un sistema de partculas simple, no
sujeto a eventos.
Como ya se ha mencionado anteriormente, existen en MAX otro tipo de par-
tculas, los flujos de partculas o PF Sources. Este tipo de partculas son los
usados habitualmente en la creacin de juegos, ya que permiten crear sofisti-
cados efectos que responden a acciones de otros elementos de la escena. Pa-
ra enlazar o conectar los eventos que suceden en la escena, MAX utiliza una
CC-BY-NC-ND PID_00168431 9 Representaciones de fsicas complejas
interfaz similar a un diagrama de flujo conocida con el nombre de vista de
partculas. Esta ventana permite, de forma grfica, gestionar cmo actuarn las
partculas a lo largo del tiempo que dura la animacin.
La vista de los flujos de partculas se divide en cuatro partes. Una primera zona
corresponde a la presentacin de eventos; esta zona es la que se usa para co-
nectar los eventos entre s y para gestionar el comportamiento que tendrn las
partculas pertenecientes al flujo. La segunda zona es la correspondiente al pa-
nel de parmetros y en ella es posible modificar los parmetros de cada apar-
tado. La tercera zona acta a modo de almacn; en esta parte se encuentran
todas las acciones disponibles para poder construir los eventos. Finalmente,
existe una cuarta zona de informacin, en la que se explica al usuario la fun-
cin de cualquier accin seleccionada en la zona del almacn.
CC-BY-NC-ND PID_00168431 10 Representaciones de fsicas complejas
El modo de construir eventos es cambiar o aadir operadores y pruebas. Cada
operador es el responsable de efectuar una accin diferente: variar la velocidad,
modificar el ngulo, cambiar el color, etc.
Las pruebas permiten verificar condiciones y, en funcin de los resultados,
permitir el paso de una partcula de un estado a otro.
1.2. Deflectores
1.2.1. Parmetros de un deflector
Los deflectores actan como escudos que se usan para repeler las partculas ge-
neradas por un sistema de partculas. Pueden servir, por ejemplo, para simular
la accin de la lluvia sobre el suelo, que es lo que haremos en este ejercicio, o
crear efectos de cascadas y chorros de agua de una fuente impactando contra
una superficie.
El efecto del deflector est controlado, bsicamente, por tres factores: el prime-
ro es su tamao, el segundo es la orientacin en la que se encuentra en escena
en relacin con el sistema de partculas al que est enlazado y, por ltimo, a
la fuerza con que hace rebotar las partculas que impactan sobre l.
CC-BY-NC-ND PID_00168431 11 Representaciones de fsicas complejas
Cuando situamos un deflector en el escenario, se visualiza en modo de repre-
sentacin almbrica, como si estuviramos viendo el visor en modo Wirefra-
me, y sus parmetros bsicos son:
Bounce Controla la velocidad con la que las partculas rebotan en el deflector. Con un
valor de 1, las partculas saldrn del deflector a la misma velocidad con la que
hayan chocado. Cuanto menor sea el valor, ms alta ser la prdida de veloci-
dad y menor ser el rebote.
Variation Indica la cantidad de partculas que variarn su velocidad de forma aleatoria
respecto al valor especificado en Bounce.
Chaos Indica la cantidad de dispersin que se producir respecto a lo que sera un
rebote de un reflejo perfecto, es decir, de ngulos de incidencia y reflexin
completamente iguales, como es el caso del que producira un rayo de luz so-
bre un espejo. Un valor de 100 variar el ngulo de este reflejo considerable-
mente.
Friction Indica el valor al que se ralentizarn las partculas a medida que se vayan des-
plazando sobre la superficie del deflector. Un valor de 0 indicar a Max que
no debe haber friccin y, por consiguiente, no frenar las partculas. Un valor
de 100 implicar que se detengan cuando entren en contacto con la superfi-
cie del deflector.
Inherit Vel Si su valor es superior a 0, el movimiento que pueda tener el deflector afecta-
r tanto a las propias partculas como a los valores introducidos hasta el mo-
mento. Un ejemplo en el que deberamos aplicar un valor distinto a 0 podra
ser el de un paraguas en manos de un personaje que lo hace girar, al tiempo
que el paraguas recibe impactos producido por un sistema de partculas que
genera lluvia.
1.2.2. Uso de deflectores en animacin
Abrid el archivo deflector.max que encontraris en la carpeta de recursos. Ob-
servad que, en la escena, se encuentran lo que ser una gota de agua en forma
de esfera deformada, una salpicadura en forma de esfera y un plano que har
las veces del suelo. Podis resituar las gotas de agua de modo que queden fuera
de la ventana de perspectiva en un lugar en el que no molesten. Hecho esto,
desplazaos al apartado Space Warps y escoged Forces.
CC-BY-NC-ND PID_00168431 12 Representaciones de fsicas complejas
Insertad en la escena, mediante el visor lateral, una fuerza del tipo Gravity. La
posicin en que coloquis dicha fuerza en la escena es poco significativa, ya
que lo nico que nos interesa es que est presente y que apunte hacia abajo;
ms adelante usaremos esta fuerza para hacer que, cuando las gotas de agua
reboten sobre el suelo, vuelvan a l.
A continuacin, desde el mismo panel Space Warps, aadid un deflector. Los
deflectores tienen su propio apartado en este panel. Creadlo de forma que
tenga una medida igual o similar a la del plano y situadlo en el mismo lugar
que ocupa dicho plano.
Con lo que en este momento tenemos en escena, ya podemos iniciar el sistema
de partculas que generar la lluvia. A lo largo del proceso, aprenderemos a
enlazar todos estos elementos entre s.
Desplazaros hasta el panel Create > Particle Systems > PF Source. Cread un
emisor de partculas en el visor superior. A continuacin, cambiadle el nombre
que MAX pone por defecto y llamadle "emisor"; de esta forma nos ser ms fcil
identificarlo. Hecho esto, desde el visor lateral o desde el frontal, seleccionad
el emisor que acabis de crear y resituadlo en un lugar ms elevado que el que
ocupa la fuerza del viento.
Con el emisor seleccionado, acudid ahora al men Graph Editors > Particle
View. Esto os abrir la ventana especfica de creacin de sistemas de partculas.
Fijaos en que el emisor que habis colocado en la escena est presente en esta
ventana de construccin.
CC-BY-NC-ND PID_00168431 13 Representaciones de fsicas complejas
Haced clic en Birth (origen) y podris ver que, al lado, os aparecen las carac-
tersticas que tendr el emisor que acabis de incorporar. Variad el valor del
final de emisin hasta 130 y el de inicio situadlo en ?30. As, cuando se inicie
y finalice la escena, la lluvia estar cayendo. Luego, aumentad la cantidad de
gotas (Amount) hasta 750. Observad que los parmetros que habis introdu-
cido son ahora visibles al lado del propio generador (Birth).
Observad que, en el apartado Display01 que tenis en la ventana, se indica
que el emisor generar puntos (Ticks). Nosotros, sin embargo, queremos que
incorpore la gota que simboliza la lluvia. Esto significar que debemos cambiar
Ticks por Geometry en el panel de las propiedades que aparece en el lateral
cuando seleccionamos el elemento Display01.
CC-BY-NC-ND PID_00168431 14 Representaciones de fsicas complejas
Como podris comprobar en el escenario, el hecho de seleccionar Geometry
no es garanta de que se incorporen las gotas de lluvia que tenamos en el
escenario, ya que no se lo hemos indicado a MAX en ningn momento. As
pues, ser necesario modificar el elemento Shape (Tetra) por un elemento
de instancia de forma (Shape Instance). Mediante esta instancia de forma,
podremos seleccionar directamente en el escenario la gota que queremos que
se represente en el sistema que estamos creando. As pues, seleccionad Shape
(Tetra) y haced clic en la tecla de suprimir. A continuacin, arrastrad hasta la
posicin que ocupaba Shape (Tetra) un elemento del tipo Shape Instance.
Al seleccionarla, aparecern sus propiedades. En el primer apartado de ellas,
Shape Instance, encontraris un botn por el que podris seleccionar la geo-
metra de la gota directamente en el escenario. Su funcionamiento es muy
simple. Haced clic para activar, desplazaos al escenario y haced clic encima de
la gota. Automticamente, quedar incorporada como elemento de represen-
tacin, y el botn None cambiar su nombre por el del elemento seleccionado.
Observad el escenario y veris que las gotas son enormes. En este mismo apar-
tado, encontraris dos formas de variar dicho tamao. El apartado Scale os
permitir hacer las gotas ms pequeas o ms grandes, si fuese el caso. Desde
el apartado Variation, podris hacer que tengan tamaos distintos entre ellas.
Un valor igual a 0 implica que todas sern iguales, mientras que un valor de
100 har que unas puedan tener las medidas originales y otras ser impercep-
tibles.
CC-BY-NC-ND PID_00168431 15 Representaciones de fsicas complejas
Ahora que ya tenemos las gotas en la escena podris observar que su posicin
no es muy correcta, ya que algunas tienen la punta de deformacin hacia aba-
jo. Haced clic en el apartado Rotation01 y, en sus parmetros, indicad que
queris que se orienten segn las coordenadas del mundo, World Space.
Ha llegado el momento de aadir el deflector que habamos creado al inicio.
Para ello, en la ventana de construccin, arrastrad un icono del tipo Collision
al evento en el que estamos trabajando. Haced clic sobre l para que aparezcan
sus propiedades y haced clic en el botn By List. Seleccionad, como elemento
de choque, el deflector que habais incorporado en la escena. Si movis el
deslizador de la lnea de tiempo, veris que ahora las gotas ya no atraviesan
el plano que hace las veces de suelo.
Observad que esta accin tiene un elemento que sobresale de la forma rectan-
gular. Este elemento indica que es posible crear una conexin con otro evento.
En nuestro caso, este nuevo evento ser el rebote, la salpicadura, de la gota de
agua en el suelo. Para empezar a crear el evento, arrastraremos un elemento
indispensable del mismo a la ventana de construccin. Dicho elemento indis-
pensable ser la velocidad que queramos imprimir a las salpicaduras. As pues,
arrastrad una instancia de Speed a una zona libre de la ventana de construc-
CC-BY-NC-ND PID_00168431 16 Representaciones de fsicas complejas
cin. Haced clic en uno de los dos enlazadores (el de la colisin o el que se ha
creado cuando habis incorporado Speed) y arrastradlo con el ratn hasta el
otro enlazador. Se crear una lnea de conexin entre ambos elementos.
Deberis, ahora, incluir en este nuevo evento una Shape Instance y, actuan-
do de la misma forma a como ya hicisteis anteriormente, cambiar Ticks por
Geometry, para que nos permita escoger y escalar la esfera sin deformar, que
tenemos en el escenario. En el apartado Display de este nuevo evento deberis
cambiar tambin Ticks por Geometry.
Si vais al escenario observaris un detalle: el cambio de forma se realiza correc-
tamente cuando la gota que cae toca al deflector, pero la salpicadura, en lugar
de cambiar de sentido, sigue la misma trayectoria que la gota. Para solucionar
este problema, debis seleccionar Speed y, en sus propiedades, activar la casilla
de verificacin Reverse.
Si pensamos en la realidad, la salpicadura deja de existir desde el momento en
que vuelve a entrar en contacto con el suelo. Si observamos la escena, veremos
que eso an no es as. Para que tal cosa se realice correctamente, deberemos
aadir varias cosas.
Por un lado, la fuerza de gravedad que hemos incorporado a la escena. Por
medio de ella, conseguiremos que las salpicaduras retornen al suelo. Por otro
lado, un elemento que nos permita enlazar a otro evento. Este nuevo evento
ser, simplemente, la orden de borrar la salpicadura. As pues, aadid ambas
cosas y enlazadlas con el evento de borrado de la forma que podis ver en la
imagen siguiente.
CC-BY-NC-ND PID_00168431 17 Representaciones de fsicas complejas
Si todo ha funcionado correctamente deberais ver, conforme movis el cursor
por encima de la lnea de tiempo, la lluvia cayendo y el rebote de las salpica-
duras en el suelo. Recordad que, si las salpicaduras os parecen poco naturales,
siempre podis, desde el panel Modify, variar los parmetros propios del de-
flector hasta que encajen con el efecto que creis ms conveniente.
CC-BY-NC-ND PID_00168431 18 Representaciones de fsicas complejas
2. Reactor
2.1. Animaciones complejas de cuerpos rgidos
Uno de los apartados ms potentes de MAX, por lo que a animacin de corte
realista se refiere, es reactor. Este plugin incluido en MAX, ya desde hace al-
gunas versiones, contiene un conjunto de herramientas que permite simular
escenas basadas tanto en cuerpos rgidos como en cuerpos blandos, fluidos o
gases, evitando as pasar innumerables horas para definir movimientos que,
de otro modo, resultan bastante complicados de simular.
Reactor permite trabajar con diferentes tipos de colecciones de objetos de dis-
tintas caractersticas:
Rigid Body Collection: permite determinar las caractersticas de cuerpos
rgidos que no se deforman bajo un impacto.
Cloth Collection: son objetos capaces de sufrir deformacin, los cuales
permiten interactuar con otros objetos de la escena.
Rope Collection: son elementos con comportamientos libres como, por
ejemplo, cortinas, cuerdas, redes, etc. Pueden ser asignados a otros objetos
de la escena, que sern los responsables de su movimiento.
Abrid el archivo dado01.max que se encuentra en la carpeta recursos_MAX. Este
archivo contiene la malla ya coloreada de un dado a la que le aplicaremos,
desde reactor, un comportamiento para que el propio programa genere la ani-
macin de cada de ste, la colisin y los rebotes que pueda haber contra lo que
sera el tablero de juego. Para ello, asignaremos propiedades fsicas concretas
a dicho dado como pueden ser la masa de ste, la friccin o la elasticidad.
Lo primero que haremos ser crear el tablero de juego; para ello, bastar con
hacer, por ejemplo, una caja cualquiera situada por debajo del dado y que ser
el lugar donde chocar ste cuando se produzca la cada.
CC-BY-NC-ND PID_00168431 19 Representaciones de fsicas complejas
Hecho esto accederemos al men Utilities, activaremos la opcin reactor e
iremos al apartado Properties.
Desde este apartado podremos adjudicar las cualidades fsicas del dado y del
tablero de juego, estableciendo su masa, la friccin y la elasticidad de cada una
de las superficies.
CC-BY-NC-ND PID_00168431 20 Representaciones de fsicas complejas
Hecho esto, deberemos ahora crear el elemento que permitir crear la anima-
cin. Esto podemos hacerlo por medio de la barra de herramientas de reac-
tor o directamente desde el men reactor. En cualquier caso, elegiremos la
opcin Rigid Body Collection. Esta opcin es la correcta para la creacin de
un cuerpo rgido.
El icono que aparece probablemente quedar colocado encima del elemento
que tengamos seleccionado en ese momento en la escena, pero eso no implica
que deba mantenerse en ese lugar, ya que su presencia all puede ser muy
molesta; por lo tanto, lo mejor es situarlo en un lugar donde no estorbe para
nada.
CC-BY-NC-ND PID_00168431 21 Representaciones de fsicas complejas
Seleccionaremos ahora el elemento del cuerpo rgido y abriremos el panel de
los modificadores. En el apartado RB Collection Properties indicaremos Add
y del desplegable que aparecer elegiremos el dado y el tablero.
Si es necesario, reajustaremos las propiedades del tablero a una masa equiva-
lente a cero para que no se desplace cuando se realice la animacin.
Indicaremos a reactor que vamos a trabajar Mesh Convex Hull. Esta opcin
indicar a reactor que debe usar la forma actual, tanto del dado como de la
superficie de juego, en el momento de la colisin.
CC-BY-NC-ND PID_00168431 22 Representaciones de fsicas complejas
A continuacin ya podremos acceder a ver un previo de la animacin.
Aparecer una ventana de proceso y cuando haya terminado ste, MAX mos-
trar una vista previa de la animacin. Por defecto, reactor muestra siempre
el previo de la ventana de Perspectiva.
CC-BY-NC-ND PID_00168431 23 Representaciones de fsicas complejas
Atencin: si no hemos convertido el tablero de juego a malla, MAX nos indi-
car que no puede realizar la animacin; en ese caso, debemos acudir al panel
de modificadores y convertir el tablero.
De ser necesario, podemos ajustar los parmetros para que la animacin se
adapte a aquello que queremos realmente. Cuando el resultado sea adecuado,
desde el mismo panel del previo podremos crear la animacin propiamente
dicha. En este punto es importante que prestemos atencin al cuadro que in-
dica la cantidad de fotogramas que vamos a crear, ya que despus de convertir
el previo en animacin no podremos dar marcha atrs.
Observacin: antes de convertir el previo en animacin definitiva, podramos
aadir ms elementos. Para que reactor los tomara en cuenta, deberamos
repetir los pasos que hemos seguido hasta ahora.
As, por ejemplo, si quisiramos podramos aadir ms dados.
CC-BY-NC-ND PID_00168431 24 Representaciones de fsicas complejas
Aunque en este caso no sea necesario, otra posibilidad sera la de aadir ms
superficies de choque.
Un ejemplo de ello podra ser el de un baln lanzado sobre un tejado en el que rebota
y salta a otro tejado.
Despus de crear la animacin, aparecern en la Track Bar los keyframes co-
rrespondientes a cada elemento. Bien, desde la propia Track Bar o desde el
editor de curvas es posible eliminar aquellas keys que no sean necesarias y mo-
dificar lo que nos convenga de cada key.
Hasta aqu hemos completado esta simulacin y si habis hecho una superficie
completamente plana, os habr quedado bien; sin embargo, observad el caso
del clip siguiente. En l eso no es as, ya que las sombras muestran que las
piezas no han llegado a tocar el suelo, es como si quedasen flotando.
CC-BY-NC-ND PID_00168431 25 Representaciones de fsicas complejas
ste suele ser un error muy comn cuando las superficies tienen agujeros o
cuando la zona de impacto se encuentra en un punto por debajo de la altura
mxima del objeto que recibe el cuerpo que se mueve. En este caso, el punto
ms alto es el reborde del tablero de juego.
Para evitar que ello suceda, debemos indicar a MAX que no se trata de una
superficie convexa, sino que tiene una concavidad y que queremos que sea
respetada.
sta es la manera de hacer que algunos cuerpos puedan atravesar los agujeros
de otros como, por ejemplo, sera el caso de querer poner estos dados dentro
del barrilete de juego.
CC-BY-NC-ND PID_00168431 26 Representaciones de fsicas complejas
En el clip inferior puede verse un ejemplo ms claro de lo que sucede cuando
no se activa la opcin Concave Mesh.
En todos los movimientos que hemos generado hasta ahora con reactor siem-
pre el objeto ha empezado su movimiento en cada libre, completamente ver-
tical y sin rotacin alguna, pero eso no tiene por qu ser as. Reactor permite
definir una velocidad inicial y una direccin y rotacin del movimiento.
Para definir estos parmetros, debemos activar el modo de Autokey y crear un
fotograma clave que contenga la informacin de la posicin y la rotacin al
inicio de la animacin.
Desplazarnos hasta un fotograma cualquiera de la animacin y crear otro fo-
tograma clave con la variacin de rotacin y posicin del objeto. Reactor al-
macenar estos datos cuando procese la animacin y calcular qu velocidad
debe llevar el objeto para que coincidan ambos frames con el movimiento que
generar automticamente. En funcin de estos datos crear el resto de la ani-
macin.
CC-BY-NC-ND PID_00168431 27 Representaciones de fsicas complejas
Observacin: para que reactor pueda realizar estos clculos, debemos indicar
que queremos que empiece a calcular la animacin en un fotograma situado
entre los dos keys que hemos creado, ya que de lo contrario no funcionar. As
pues, si por ejemplo hemos creado una key en el fotograma 0 y otra en el 5,
podremos decirle que empiece sus clculos a partir del fotograma 1, 2, 3 o 4.
2.2. Animaciones complejas de cuerpos deformables
Simular el movimiento del agua cuando un objeto cae en ella o el movimiento
de una cortina mecida por el viento puede ser, en animacin frame a frame,
una tarea si no interminable, s, por lo menos, muy lenta y tediosa. Reactor
permite obtener estos movimientos en pocos minutos gracias a ayudantes co-
mo pueden ser Water o Wind.
CC-BY-NC-ND PID_00168431 28 Representaciones de fsicas complejas
A lo largo de este apartado veremos cmo hacer que una cortina se mueva por
efecto de un ayudante de veleta pudiendo modificar sus parmetros fcilmente
para ajustarlos a la necesidad de cada momento.
Abrid el archivo cortina01.max que se encuentra en la carpeta recursos_MAX
y seleccionad la malla que har la funcin de cortina. Del catlogo de modi-
ficadores elegid el reactor Cloth. Este modificador es necesario para que este
cuerpo sea considerado flexible. Si no se pone este modificador, la Cloth co-
llection no podr construirse.
Si pensamos cmo se comporta una cortina mecida por el viento, veremos
que la parte superior, la que est sujeta a la barra, no se mueve. As pues, lo
que haremos ser precisamente eso, sujetar la cortina en la zona en la que no
debe moverse.
Desplegad el modificador reactor Cloth que acabamos de incorporar y selec-
cionad Vertex. Extended la seleccin hasta que queden seleccionados todos
los vrtices situados en la parte superior de la cortina.
An dentro del apartado Vertex, desplazaos hasta la parte inferior, en Cons-
trains. En este apartado haced clic en Fix Vertex; esto crear una restriccin
para los vrtices seleccionados que har que dichos vrtices queden fijados
donde estn y no se muevan cuando el viento mueva la cortina. Con ello pa-
recer que la cortina est sujeta por la barra cilindro que la sostiene.
CC-BY-NC-ND PID_00168431 29 Representaciones de fsicas complejas
Acudid ahora al panel Create y del apartado Helpers elegid las herramientas
de reactor.
Indicad que queris crear una nueva coleccin de cuerpos flexibles, CL Collec-
tion, y aadid a esta coleccin la malla que har las veces de cortina. Seguida-
mente, haced clic en un visor para aadir el ayudante de cuerpo flexible. Este
ayudante queda identificado en la escena mediante un icono de una camiseta.
CC-BY-NC-ND PID_00168431 30 Representaciones de fsicas complejas
Observad que en el panel de seleccionar Cloths el nico objeto que aparece
es el que tiene el modificador reactor Cloth. Es importante recordar que para
aadir cualquier objeto a esta coleccin debemos siempre aadir este modifi-
cador.
Volved al panel Helpers de la solapa Create, elegid Wind y haced clic en un
visor. Se crear un smbolo parecido a una veleta.
Mediante las herramientas de rotar y de mover, colocad la veleta de manera
que la punta de la flecha apunte hacia el objeto Cloth que queris mover; en
este caso, la cortina.
CC-BY-NC-ND PID_00168431 31 Representaciones de fsicas complejas
Con la veleta seleccionada, abrid el panel de modificadores y all encontraris
Wind. En el apartado Properties podris definir la velocidad y las variaciones
que queris que tenga el viento que queris crear.
Seleccionad a continuacin la malla de la cortina. Desde el panel de los mo-
dificadores podris acceder a sus propiedades. Adjudicadle una masa para que
adquiera el peso necesario. En este apartado encontraris tambin algunos pa-
rmetros importantes que modificar segn lo que queramos obtener:
Damping: cuanto mayor sea el valor, ms ondulacin tendr la cortina.
Stifness: cuanto mayor es el valor, ms rigidez tendr.
Avoid self-intersections: este parmetro provoca que cuando los pliegues
van apareciendo no se crucen y, por tanto, choquen y se despeguen. Acti-
var esta opcin da resultados ms reales, pero requiere mayor tiempo de
procesado.
CC-BY-NC-ND PID_00168431 32 Representaciones de fsicas complejas
Acudid al panel Utilities y desplegad reactor para probar el previo de anima-
cin. Cuando os parezca adecuada, convertidla a animacin definitiva.
Observacin: al igual que hiciramos con los dados, podemos incorporar mo-
vimientos y velocidades iniciales por medio de AutoKey. Recordad que para
que esto sea posible, debemos fijar posicin y rotacin en el fotograma 0. Crear
otra key unos fotogramas ms adelante y modificar en dicha key lo que nos
convenga. Indicar a reactor que empiece a simular la animacin desde un fo-
tograma intermedio entre las dos keys. En las imgenes de ejemplo puede verse
la cortina en el fotograma 0 y en el fotograma 5. La simulacin se ha indicado
para que empiece desde el fotograma 1.
CC-BY-NC-ND PID_00168431 33 Representaciones de fsicas complejas
2.3. Animaciones complejas de superficies lquidas
Animar los lquidos es de las tareas ms complejas cuando se trabaja en anima-
cin tradicional. Por sus caractersticas, estos cuerpos siempre muestran una
inestabilidad muy difcil de simular.
Hasta ahora hemos visto dos maneras de animar lquidos en MAX: mediante
el modificador de ruido y por medio de un sistema de partculas. En los casos
en los que aplicamos estas tcnicas, las caractersticas del lquido eran siempre
las mismas; no haba variacin, el agua del lago permaneca siempre en ste
sin que nada perturbara su vaivn y el chorro de agua del grifo era siempre
constante; pero qu pasara si quisiramos simular la cada de un cuerpo s-
lido en un lquido? Aunque puede simularse esta accin mediante otras vas
de trabajo, la mejor opcin ser trabajar a partir de reactor.
Abrid el archivo piscina.max que se encuentra en la carpeta recursos_MAX. Ve-
ris que se trata de una piscina vaca y una esfera que hace las veces de pelota
y que ser lo que lanzaremos dentro de la piscina.
Lo primero que haremos ser crear la superficie del agua. Para ello, acudiremos
al apartado Space Warps del panel Create y del desplegable elegiremos reac-
tor. Aparecer entonces el botn de creacin de agua, Water.
CC-BY-NC-ND PID_00168431 34 Representaciones de fsicas complejas
Con este botn seleccionado acudiremos al visor superior y trazaremos un
plano de agua que ocupe toda la superficie de la piscina y lo colocaremos en
el lugar donde queremos que llegue el nivel del agua.
Atencin: este plano no es un plano normal, simplemente simula el lmite
del agua. Si renderizramos ahora la escena, no veramos nada, ya que dicho
plano es invisible al render.
Crearemos a continuacin otro plano ste s que ser un plano normal que
ocupe la misma superficie del plano del agua. ste ser el plano de simulacin
del movimiento del agua. Dicho plano ser "renderizable" y se adaptar a la
forma del plano del agua cuando este ltimo reciba el impacto del baln.
Para que se adapte mejor al comportamiento del plano del agua, es aconsejable
que este plano que acabis de crear tenga suficientes vrtices, ya que, de lo
contrario, los movimientos ondulantes del agua quedarn poco crebles.
CC-BY-NC-ND PID_00168431 35 Representaciones de fsicas complejas
Consejo: mientras dura este proceso de trabajo podis colocar el plano recep-
tor de la simulacin separado del plano del agua; de este modo, os ser mucho
ms sencillo de manipular y al final ya lo colocaris en su lugar.
Seleccionad ahora el plano del agua y activad el botn de enlace a efectos
especiales, que se encuentra en la barra principal de herramientas.
Haced clic en el plano del agua y a continuacin haced clic en el plano recep-
tor. Esto crear los vnculos necesarios entre ambos elementos. Si seleccionis
el plano receptor y vais al panel de los modificadores, podris observar que se
ha creado el vnculo, ya que veris que por encima del plano se ha colocado
un reactor Water (agua).
En las propiedades de este modificador podris incrementar o disminuir la es-
cala. Este parmetro afecta directamente a la intensidad en la que se recibe el
impacto. Una escala por debajo de 1 crear simulaciones muy tenues. Por en-
cima de este nmero actuar como factor de multiplicacin de los movimien-
tos de la superficie lquida.
CC-BY-NC-ND PID_00168431 36 Representaciones de fsicas complejas
Para completar este vnculo es necesario que desactivis la herramienta de en-
lazar a efectos especiales y seleccionis ahora el plano del agua. En el mismo
panel de modificadores, en el apartado Properties encontraris una casilla lla-
mada Landscape. La activacin de esta casilla permite usar un contenedor en
el que rebotarn las ondas formadas por el agua a modo de pared. ste es el
caso de las paredes de la piscina cuando lancemos la pelota. As pues, activad
Landscape, haced clic en None para activarlo y haced clic en la caja que hace
la funcin de piscina. Ahora esta caja rebotar en las ondas que se produzcan
en el agua y las devolver hacia el centro de la piscina, como ocurre en la
realidad.
Atencin: algunas versiones de MAX no permiten indicar este parmetro has-
ta que el cuerpo receptor no est definido como superficie cncava en una co-
leccin de cuerpos rgidos. Si estis en esta situacin, obviad este ltimo paso
y dejadlo hasta que hayis creado la Rigid Body Collection.
Ahora es el momento de hacer la animacin de la pelota; para ello, podis
seguir el mismo proceso que ya hicisteis con el dado. Cuando hayis termina-
do, deberis crear la coleccin de cuerpos rgidos, en la que hay que aadir el
contenedor que hace de piscina y la esfera. Recordad que para que un cuerpo
pueda entrar dentro de otro, es necesario que el que permite la penetracin
sea cncavo. As pues, en el apartado de simulacin geomtrica de reactor da-
remos a la esfera una superficie convexa y a la piscina, una superficie cncava.
CC-BY-NC-ND PID_00168431 37 Representaciones de fsicas complejas
Si probis ahora la animacin, veris que el baln desaparece despus de im-
pactar con el agua. Para que esto no suceda, debis acudir, dentro de reactor,
a las propiedades de ste y activar la casilla Unyielding; eso har que no desa-
parezca y que se reproduzca correctamente tanto la animacin del agua como
la del baln.