Hola a todos.
He empezado a plantearme hacer un juego tipo Doom y quería tener claro lo que debo de hacer antes de empezar.
He pensado en determinar la visibilidad con un árbol BSP 2D, ya que el mapa es 2D (aunque luego se vea en 3D, como en Doom). En cada hoja del árbol tendré calculado el PVS del sector de caras convexas correspondiente. El problema me surge cuando quiero saber si un enemigo que se mueve por el escenario se ve desde donde estoy. He pensado en situarlo en una hoja del árbol cada vez que se mueva (lo que me lleva a recorrer el árbol hasta la hoja una vez por enemigo por fotograma, si se mueve). Una vez sepa dónde está lo pinto sólo si la hoja en donde está figura en el PVS de la hoja en donde estoy. ¿Es esta una buena forma de saber si el enemigo es visible? ¿Hay alguna forma más eficiente de hacerlo? Tal y como lo he pensado me da la impresión de que debería de funcionar, pero no sé si muy rápido.
Espero vuestros consejos :P . Muchas gracias. (ole)
Un saludo.
Ruben3d
Creo que esa es la forma correcta de hacerlo. Ten en cuenta que es lo mismo que se hace con la cámara. Si se mueve, se calcula en qué hoja del arbol está para posteriormente saber qué hojas son visibles desde la hoja donde está la cámara.
Saludos.
Gracias por la respuesta!
Un saludo.
Ruben3d
Buenas. La verdad soy un novato, pero el tema que habéis comentado para muy interesante. Se que explicarmelo completamente sería mucho pedir, pero me podríais hacer una pequeña explicacion de q es eso de arbol BSP?? El PVS lo he leido por otro sitio, son los vertex arrays, no??
GRACIAS ^^
Cita de: "shephiroth"Buenas. La verdad soy un novato, pero el tema que habéis comentado para muy interesante. Se que explicarmelo completamente sería mucho pedir, pero me podríais hacer una pequeña explicacion de q es eso de arbol BSP?? El PVS lo he leido por otro sitio, son los vertex arrays, no??
GRACIAS ^^
tutorial muy basico de bspHay tienes una pequeña explicación de arboles BSP que me encontre el otro dia googleando un poco
Rafa
Hola.
Si no te importa que esté en inglés, en este pdf encontrarás una amplia descripción de árboles BSP y cálculo y uso del PVS (entre otras cosas):
Binary Space Partioning Trees and Polygon Removal in Real Time 3D RenderingEspero que te sirva.
Un saludo.
Ruben3d