El game engine
el Game Engine
Desde su llegada en la versión 2.00, el Game Engine (motor de juegos) ha sido una fuente tanto de frustraciones como de alegrías, para un dedicado núcleo de nuestra comunidad. Aplazado un largo tiempo, favoreciendo a la acuciante codificación, las últimas versiones de Blender han conseguido retomar el interés de los desarrolladores, gracias a las nuevas características añadidas.
Uno de los últimos añadidos es un nuevo motor de física (bullet), creado por Erwin coumans, con el cual se consiguen efectos más realistas de la física de los cuerpos rígidos. Originalmente, Erwin desarrolló el Game Engine para Blender 2.00 y, después de una larga ausencia, volvió para implementar parte de la bullet physics library, que está desarrollando para la consola de Sony Playstation 3, en Blender. A continuación cito una serie de consejos, extraídos de las notas de la versión 2.42, para usar mejor bullet y aprovecharlo al máximo:
no escales tus objetos.
Aplica la escala usando Control-a. Si usas límites esféricos (sphere-Bound), asegúrate que el radio ajuste la esfera.
mantener masas similares para los objetos dinámicos.
Si un objeto de 100 kg reposa sobre otros de 0,1 kilogramos la simulación tendrá problemas. Para evita grandes diferencias de masas, mantener objetos con masas similares (con una diferencia de pocos kg).
asignar los tipos correctos para los límites de colisión (Bound).
Para un cilindro, elegir cylinder (cilindro), incluso para objetos que no se muevan. De la misma manera para una caja, etc. Los Convex hull (envoltorios convexos) pueden aproximar las mallas para objetos móviles y estáticos.
no usar demasiados vértices en mallas tipo Convex hull.
Entre 4 a 32 vértices debería ir bien.
dejar el centro del objeto en el medio de la malla.
El centro (donde están los ejes) necesita estar dentro de la malla, pero no cerca de los límites ¡ni fuera.
dejar la gravedad a 10, no ponerla demasiado grande.
La simulación de la física funciona mejor con gravedades más pequeñas, por lo que si es posible, no usar gravedades muy altas.
evitar objetos dinámicos muy pequeños (< 0.2 unidades).
Si fuera posible, no crear objetos dinámicos más pequeños de 0.2 unidades. Para la gravedad por defecto, 1 unidad es igual a 1 metro, por lo que cualquier lado de los objetos debería ser más grande que eso.
nada de objetos grandes.
No usar objetos, ni triángulos grandes.
no usar triángulos degenerados.
Triángulos que tienen lados extremadamente grandes o también extremadamente pequeños, pueden generar problemas.
después de unos pocos segundos el objeto deja de moverse. No interactúa con plataformas móviles, etc.
Manualmente puedes activar un objeto, usando el comando de Python object, restoredynamics. O usar el botón no sleping, aunque no demasiado, sobre todo para el personaje principal, etc.
añadir objetos dinámicos como hijos no funciona.
Los objetos dinámicos no deberían tener un padre. Si necesitas añadir un conjunto de cuerpos rígidos, échale un vistazo a la demo addobject, blend, la cual usa instantaddobject sobre el addobjectactuator.
Si necesitas una configuración más compleja con restricciones (constraints), como un muñeco o un vehículo, no puedes crear ese grupo utilizando un addobjectactuator. O bien utilizas Python para esto, o configuras las restricciones después de añadir los objetos, o esperas a una futura interfaz de restricciones de Blender.
. www.blenderart.org.
Última edición por 3dpoder; 08-05-2009 a las 20:45
|Agradecer cuando alguien te ayuda es de ser agradecido|