En un hilo anterior les había preguntado sobre cómo cargar modelos de forma que los pueda explorar, y me recomendaron usar archivos ASE. En Wotsit parece no haber info sobre este formato, así que busqué en Google. Alguien conoce algún buen tutorial sobre ASE?? Por otro lado, alguien se ha topado con el problema de la detección de colisiones dentro de un modelo? Porque voy a hacer personajes que se mueven dentro de un castillo y van a necesitar detecciones a un nivel más detallado.
- Marco
Éste es un tutorial de KILE para carga de ficheros ASE en OpenGL.
Seguro que en Google se pueden encontrar muchos más (anuque quizás sean en inglés).
Saludos.
Respecto a las colisiones, ¿cuál es la pregunta?
Saludos.
El asunto con las colisiones es que cuando uno carga un modelo de un personaje o una nave simplemente lo rodea con cajas para detectar las colisiones... pero cómo se hace cuando el modelo se puede explorar por dentro, como cualquier buen castillo?
Por casualidad encontré una lista de software gratuito para manipular imágenes, seguro debe interesarles:
http://www.grime.net/GISTools/index.htm#3D
No entiendo.
Pues para moverlo por un castillo, es exactamente igual que para moverlo por el campo. Su bounding box (o lo que quieras) y a comprobar colisiones. Está claro que deberias particionar el castillo para descartar zonas rápidamente, con BSP, portales... a gusto del consumidor.
Saludos.
Pero no podría hacerse simplemente un bounding box. Imagina que tienes un castillo y le pones un bounding box como una sola pieza, cunado el personaje trate de atravesar la puerta chocará con la gran cara del "box", y entonces jamás podrá entrar al castillo. A mi parecer hay que hacer la detección de choques individual para cada pared del castillo. Pero no sé si hay un método optimo para hacerlo, el sólo hecho de tener que buscar la cara más cercana al personaje para probar la colisión me parece extremadamente lento.
El BB se tiene que adaptar al tamaño del modelo. La puerta tendría que ser muy ajustada para que no entrara.
De todas formas, si tu crees que el BB no es suficietemente preciso para un castillo (cosa que dudo), después de la comprobación con BB, si la colisión es afirmativa, puedes hacer una detección malla-castillo (con el/los polígono/s del castillo que colisionó/aron con el BB).
Saludos.
Citarpuedes hacer una detección malla-castillo (con el/los polígono/s del castillo que colisionó/aron con el BB).
Eso me gusta más. Si yo cargo un modelo de un archivo ASE, hay forma de optimizar el modelo o de calcular los BB en la forma más óptima posible. Pregunto esto porque tengo un visualizador de 3D tipo ACDSee que me permite ver la malla, y me he dado cuenta de que los artístas no hacen nada óptimos los modelo... aunque no tienen por que, ese no es su trabajo. Pero ahora me toca a mí optimizar esas estructuras para que gaste el menor tiempo detectanto las colisiones.
Una optimización es buscar vértices repetidos en el modelo (los exportadores no son perfectos).
Para elegir y saber utilizar el tipo de bounding que usarás, puedes leer
éste tutorial de Macedonia Magazine.
Saludos.