jueves, 27 de octubre de 2011

Ahora en el mundo físico de UDK


En el siguiente vídeo se muestra una escena similar a la vista en Ogre3D y bullet pero ahora con el engine UDK el cual utiliza el motor de físicas physx de Nvidia.

En este vídeo se sitúa de igual manera la puerta sustentada por un constraint RB_PrismaticActor que únicamente permite el movimiento de esta en el eje x del mundo. También se sitúan en esta escena dos esferas Softbody para interactuar y por último las cajas rigidbody.

Todas las formas de colisiones para los objetos static mesh son creadas en blender y exportadas a UDK. El exportador es realmente muy bueno y se puede encontrar en la siguiente página:

Se recomienda para exportar tener muy bien hechas las mallas y además situar bien las normales de todas las caras para luego en blender generar la triangulación con ctrl+T ya que el exportador suele dar problemas con esto y nos deforma las mallas, lógicamente al exportar desactivar la opción para triangular. Del resto seguir las instrucciones que se en encuentran con el addon.

Nota: siempre crear una malla de respaldo sin triangular antes de exportar debido a los problemas que el exportador pueda ocasionar, por ejemplo por una mala dirección de las normales.

Nota2: En este video todo lo hecho se hizo con físicas ya que esa era la idea, no se utilizo matinee para realizar la apertura y cierre de la puerta como se ve en los tutoriales de UDK sino que simplemente se utilizo físicas siendo la puerta un KActor. 

Ahora si el vídeo!


y listo



miércoles, 12 de octubre de 2011

Bullet Physics y Ogre3d

En el siguiente vídeo muestro un pequeño escenario de prueba en el cual ya se encuentran añadidas las físicas y colisiones gracias a Bullet Physics y utilizando como motor gráfico Ogre3D. Para esto no se utilizo ningún wrapper como OgreBullet sino que se enlazo Bullet a Ogre3D directamente.

En el vídeo se muestran levemente objetos de colisión estaticos como las escaleras en la cual la forma de colisión fue hecha directamente en blender ya que blender usa Bullet esto es muy sencillo, después esta forma de colisión fue importada como un archivo .bullet en la aplicación. En otras shapes como en la pequeña muralla que soporta la puerta se utilizo formas compuestas de colisión.

En el vídeo se muestra como el personaje interactúa con objetos dinámicos como la caja siendo esta un rigibody y con una pelota la cual es un softbody.

Nuestro personaje por el momento solo tiene una capsula como su forma de colisión lo cual lo hace poco flexible, lo ideal es que la forma este ajustada al personaje y que cada parte cambie de acuerdo a la animación del mismo.

Para la puerta se utilizo un trigger el cual nos detecta cuando un objeto de colisión esta cerca para abrir la puerta  y nos detecta cuando el objeto esta saliendo del trigger para cerrar la puerta. En cuanto a la puerta ya que es un rigidbody dinámico en ella también aparecen las mismas fuerzas que en cualquier otro objeto por lo que si no la ajustamos a algo fijo esta puerta simplemente se caerá debido a su forma, Por esto se utilizo un slider constraint el cual nos permite ajustar la puerta a un movimiento lineal.

Y aquí esta el vídeo!