Mostrando las entradas con la etiqueta Physx. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Physx. Mostrar todas las entradas

sábado, 17 de enero de 2009

Por fin un DLL de GameginePhysx

Comenzaba a pensar que este día no llegaría... Pero aquí estamos, el primer DLL de GameginePhysx...

Gamegine + Physx

Ahora viene una parte muy interesante, además de una mejora. He estado pensando un poco alrespecto y me doy cuenta de que, una vez terminada la simulación en Physx, Gamegine necesita enterarse de los cambios. He estado tratando de encontrar la forma más óptima para llevar esto a cabo, y creo que he encontrado una muy buena; consiste en lo siguiente:

1. En GameginePhysx, actualmente tenemos una colección de actores (linkeados a objetos en Gamegine). Esta colección actualmente está representada por un vector. Lo pensé de esta manera para ganar un buen rendimiento al momento de las actualizaciones, pero ahora veo que pierdo dicho rendimiento pues en muchas ocasiones necesito actualizar el estado de los actores y solamente dispongo de su nombre. Por esta razón, la colección la cambiaré a un mapa; de esta manera, podré localizar actores con mucha más eficiencia.

2. Como los actores estarán en un mapa, necesito un mecanismo eficaz para recorrer la colección durante una actualización; razón por la cual crearé una segunda colección basada en un vector. En este vector, estarán únicamente los actores que sean dinámicos y aquellos que no estén "durmiendo", por lo que el proceso será eficiente. Para lograrlo, GameginePhysx necesitará llevar un control interno de los actores, sus tipos y sus estados.

3. Al finalizar cada simulación, GameginePhysx se encargará de actualizar el estado en Gamegine para cada uno de los actores en el vector de actores por actualizar.

Así que, nos vemos en otro rato...

.

jueves, 15 de enero de 2009

Gamegine + Physx compilacion... ya perdí la cuenta...

Increíble pero cierto. No he terminado de compilar GameginePhysx...

Gamegine + Physx

Calculo que habré terminado para este fin de semana y entonces comenzaré con la implementación dentro de Gamegine. Aún me hace falta escriir código para la creación de elementos dinámicamente.

Mi idea es que en el archivo que define un escenario también haya información de sus características físicas; de tal manera que sea posible para Gamegine detectar un driver de física y crear los elementos necesarios de forma automática.

Por ejemplo, en el archivo de escenario de un juego habrá la siguiente definición:

<node name="Rock" id="0"> 
<position x="0" y="0" z="0" />
  <rotation qx="0" qy="0" qz="0" qw="1" />
<scale x="1" y="1" z="1" />
  <actor name="RockActor">
    <body mass="10" />
    <shapes>
      <box>
        <dimensions x="15" y="10" z="9" />
      box>
    shapes>
  actor>
node>

De esta manera, Gamegine podrá determinar las características físicas del objeto y crear los elementos que sean necesarios.

Gamegine ya puede levantar una escena desde un archivo xml, pero pues hace falta el codigo que interprete precisamente la parte de física...

.