martes, 13 de mayo de 2014

Animación de simulación física

Esta entrada va a tratar de la animación de unos objetos, en este caso son unos cubos amontonados y una tela que cae sobre ellos mientras son golpeados por una bola colgada sobre una cadena.

Éste sería el resultado aproximadamente:




Ésta es la imagen final del bol y la tela. Está creada a partir de una animación a la que solo he obtenido una imagen. Es la colisión de un objeto con otro. En este caso se trata de la tela, el bol y el plano que sujeta a ambos. La simulación física de los cubos con la tela contiene las mismas propiedades físicas que el bol y la tela, solo que hay un añadido: la bola demoledora.


He creado el bol a partir de un cilindro con tapas a ambos extremos con la excepción de que he eliminado la superior.
Después, con la selección de vértices y la tecla de escalar he ido dando forma al bol para que sea más estrecho por la zona inferior con respecto al resto.




Para crear la tela y añadir todas su propiedades de colisión (También aplicadas al plano y al bol) lo explico en el siguiente ejercicio.

Para que el bol no tenga una apariencia tan rígida, le he asignado una característica para suavizarlo: smooth.






Tras eso, les he asignado materiales a los objetos y luz a la escena.
Para el bol simplemente un material que le da ese aspecto de cristal: Glass.
También he añadido otro modificador que es el sistema de subdivisión para suavizarlo.
Aparte de eso, he añadido otro modificador: Solidify, para que sea sólido.


Ahora voy a explicar el proceso de cómo he creado la animación de los cubos y la tela.



Para empezar, creo un plano sobre el que irán los objetos y le asigno un color que lo va a diferenciar mientras sigo con el proyecto. Después creo un cubo al que tengo que asignar las propiedades físicas que quiero. En este caso quiero que colisione con el plano, la tela y la bola con la cadena.





Para ello, en la opción Rigid Body Tools convierto el cubo en un objeto activo. Al hacer esto, el cubo ahora va a caer cuando la animación se ponga en marcha. Para que no atraviese el plano, a éste le convierto en un objeto activo, sin embargo, desactivo la opción de "animado" que si tiene el cubo, ya que no quiero que se mueva. 




El siguiente paso es el de añadir a ambos objetos un modificador de colisión.





Una vez hecho esto, voy a multiplicar el cubo que he creado. Para ello, añado un nuevo modificador: Array.
Hay que aplicarlo tres veces sin olvidar de dejar un pequeño espacio entre los cubos.







Se aplican los tres modificadores. Antes de seguir, los cubos no pueden seleccionarse individualmente. Para que esto sea posible, en el modo edición, seleccionamos el cubo entero. Hay que separarlos utilizando la opción By lose parts dando a la tecla P.
En cuanto tenemos todos los cubos de manera individual, tenemos que restablecer el centro de masas de cada uno, ya que sino lo hacemos así, los cubos van a caer hacia donde se encuentre el cubo original, ya que éste si mantiene su centro de masas. 
Para ello se seleccionan todos los cubos y se dan a la siguiente combinación de teclas: 

CTRL + ALT + SHIFT + C

Surgen una serie de opciones en las que la elegida es Origin to center to mass. 




Una vez hechos los cubos he creado la bola que va a golpearlos. A esta esfera le he asignado las mismas propiedades que a los cubos, solo que en este caso he aumentado su masa, ya que quiero que tire el mayor número de cubos posible.




Para crear la cadena que va unida a la bola, con las teclas SHIFT + A he añadido un torus. En mi caso he tenido que dejarlo tal cual, sin manipularlo, ya que tuve problemas a la hora de que se sujetara la cadena en la animación.





Los torus son duplicados y entrelazados de manera que su aspecto acaba siendo el de una cadena. Antes de unirla a la esfera, les asigno las mismas propiedades que al resto de los objetos, es decir, que sean activos y dinámicos, y tengan el modificador de colisión. Sin embargo, el primer torus no tiene que ser dinámico, ya que la cadena tiene que estar sujeta a un lugar fijo. 

Una vez creada, es unida a la esfera. Para ello he seleccionado los dos elementos que quiero unir y he utilizado las teclas   CTRL + J 
Tras eso, ambos objetos son seleccionados como uno solo. 



A partir de aquí he ido calculando la masa tanto de la esfera como de la cadena para que logre tirar los cubos suficientes sin que la cadena termine por romperse.
Antes de empezar a crear la tela, he cambiado los colores de los objetos para diferenciarlos, excepto la cadena con la esfera. 


Para crear la tela, he introducido un plano que he colocado sobre los cubos para que caiga sobre ellos a la vez que la esfera choca contra los cubos. 

Una vez creado el plano, añado subdivisiones. Estas subdivisiones ayudan a calcular las colisiones de la tela con los cubos. 

Después, le he añadido modificadores a la tela: Cloth, subdivision surface (catmull-clark), collision y solidify. Dentro del modificador de ropa, hay una opción (presents) que contiene todas las características de este modificador. En estas opciones te da a elegir el material de la ropa. En este caso he elegido cotton (Algodón).          
Otra de las opciones que hay que activar, es la de Cloth Collision --> set collision. 
Así es cómo reaccionaría la tela en el momento en el que colisiona con los cubos y el plano: 




Aquí está el vídeo definitivo en YouTube:


Aquí está el proyecto de blender y aquí las capturas.
Aquí está el proyecto del bol y el pañuelo. 

No hay comentarios:

Publicar un comentario