Dinámica de sólidos y tipos de colisiones en blender

Para aprender a hacer simulaciones dinámicas en blender tenemos que activar  el motor de videojuego de blender, cambiaremos el motor de render de blender, de render blender a blender gamer, como se muestra en la siguiente imagen.

1

Observar como muchos parámetros han cambiado dentro de la barra de parámetros de blender, se han ajustado a los susceptibles los del juego y no de render.

2

Nos vamos a la pestaña de Physics  que es la ultima del lado derecho y dentro de esta pestaña se definen los objetos que participaran en la simulacion, la simulacion se ejecutara cuando se preciona la tecla P, pero no pasa nada al principio, por que los objetos cuando se crean en blender se crean como staticos, un objeto statico  es inamovible dentro de blender, lo que tenemos que hacer es seleccionar el objeto que queremos que colisione y lo convertiremos en un cuerpo rigido

En el apartado de Physics type: seleccionamos Rigid Body.

Para este pequeño ejemplo donde el cubo  caera en el suelo como se muestra en la  siguiente imagen, al precionar la tecla P veremos como cae el cubo en el suelo.

ScreenHunter_19 Apr. 04 10.43

El único problema para este caso es que nuestro objeto no esta colisionando de manera apropiada con el suelo, lo que colisiona no es exactamente el cubo, si no una parte del cubo, para entender un poco mejor esto veremos como en la siguiente imagen al inclinar el cubo un poco y  al caer en el suelo solo colisiona una parte del cubo  y se queda dentro del suelo.

ScreenHunter_20 Apr. 04 10.55

Para mejorar la manera de colisionar tenemos que activar el parametro  collision bounds que se encuentra en el apartado de abajo  y veremos como la colision  se ha mejorado a algo mas real de lo que estamos buscando, en la siguiente imagen simularemos como 3 cubos colisionan con el suelo y colisionan entre si formando una colision dinamica.

ScreenHunter_21 Apr. 04 11.03

Para este tipo de ejemplos que hemos mostrado es para colisiones sobre cubos con el parametro collision bounds y el tipo de colision BOX como se muestra en la siguiente imagen.

ScreenHunter_22 Apr. 04 11.07

Pero que pasa si queremos colisionar cualquier tipo de objeto que no sea solo un cubo?  ya sea un objeto mas organico como la cabeza de mono de blender, como veremos en la siguiente imagen al querer colisionar este objeto mas organico  hace una colision muy extraña, ya que la colision se basa en el cubo que rodea a la cabeza del mono como se ve en la siguiente imagen.

ScreenHunter_23 Apr. 04 11.12

Tenemos varios tipos de colisiones aparte de Box,  para este ejemplo con este objeto organico  tenemos 2 tipos que nos pueden ayudar, uno de ellos es triangle mesh  el cual nos ayudara a tener en cuenta cada uno de los poligonos del objeto y hacer colision con todos los poligonos del objeto, asi la colision sera perfecta, toma en cuenta cada uno de los vertices del objeto.

Ahora pasaremos a hacer un ejercicio de colisiones con solidos dinamicos.

En este ejemplo veremos la simulacion de como caen bloques como si fuera un edificio y su precalculo de dichos bloques.

Empezaremos creando un suelo y crearemos el primer bloque con un segundo cubo, como si fuera una ficha de domino, cambiamos el modo de blender, de blender render a blender game, nos vamos a la pestaña de physics  y convertirmos el objeto en un objeto dinamico con rigid body y en su parametro collision bounds con la opcion BoxScreenHunter_24 Apr. 04 11.56

Despues realizaremos duplicaciones de la primera pieza, y giraremos unos 90 grados para ir formando la estructura de nuestro edificio.

ScreenHunter_25 Apr. 04 12.03

Después volveremos al boton de representación, es el primer botón de izquierda a derecha con el icono de una camara en el cual activaremos los parametros framerate and profile y physics visualization y debug properties , de esta manera cuando ejecutamos la simulacion veremos las propiedades de la colision y podremos visualizar las estadisticas de la colision, tambien veremos  a que velocidad de fotogramas simula esta colision y el uso de cpu de nuestra pc

ScreenHunter_26 Apr. 04 12.10

Ahora crearemos nuestra estructura mas compleja, duplicando nuestros bloques para ver como en las estadisticas de nuestra colision y los frames y el uso de nuestra cpu van cambiando de acuerdo a nuestra simulacion de colisiones se va haciendo mas compleja.

ScreenHunter_27 Apr. 04 12.25

Ahora pasaremos a nuestro ultimo paso el cual es precalcular nuestra colisión

al mover nuestra linea del tiempo veremos que no hay ninguna animación existe, una manera de precalcular la colision  con la cual podemos interactuar con diferentes materiales, luces y otros motores de render es precalculando la simulacion, el único detalle es que la simulación  hace que los archivos de blender crezcan bastante.

para lograr esto nos vamos al menu game en el apartado de arriba y activamos la casilla, Record animation

Cuando calcula una animacion esta queda guardada dentro de la animacion de blender, para cada elemento y fotograma de la linea de tiempo se crearan tres claves,  una de posicion otra de rotacion y otra de escala, esto es lo que hace que nuestro proyecto pese mucho mas de lo normal.

Ahora veremos como al movernos por la linea del tiempo veremos nuestra simulacion de nuestra colision.

ScreenHunter_28 Apr. 04 12.41

Conclucion.

Al realizar esto   ya no es necesario estar  en el motor de BLENDER GAME, podemos disfrutar esta animacion con otro motor como cycles render y poder realizar una simulacion realista en cuanto a nuestras colisiones.

ScreenHunter_29 Apr. 04 12.50

Fuente de informacion.

http://www.ite.educacion.es/formacion/materiales/181/cd/m9/fsicas_y_cuerpo_rgido.html

Proyecto de blender.

Colisiones

 

 

 

Deja un comentario