Foros - Stratos

Proyectos => Jad Engine => Mensaje iniciado por: Diferencial en 17 de Julio de 2006, 09:17:33 PM

Título: Apuntando el objetivo.
Publicado por: Diferencial en 17 de Julio de 2006, 09:17:33 PM
Buenas a todos,
Tengo hecho una cruz en medio de mi pantalla, donde todo lo que se cruza y sea un objetivo me muestra el nombre.
Ahora bien el problema viene con la llamada a :


HMath.ScreenToWorld(400, 300, ref p0, ref p1);
HMeshObject objecto = Haddd.Scene.MeshObjects.Intersect(p0, p1, true);
if (objecto != null) return objecto.Name;


Me ralentiza muchisimo la máquina, alguien sabe algun metodo bueno de optimización para estos casos.
Título: Apuntando el objetivo.
Publicado por: Haddd en 18 de Julio de 2006, 07:46:44 AM
es que creo que el intersect no comprueba el BBox, así que imagínate  :?

Recorre los meshes, comprueba el BB y luego haz el intersect sobre aquellos que sí haya colisión.

O simplemente comprueba el BB o BSphere.
Título: Apuntando el objetivo.
Publicado por: Diferencial en 18 de Julio de 2006, 08:46:02 AM
Gracias haddd,
entonces si no me equivoco, los pasos a seguir serian:

1.- Crear una lista con los posibles objetos que sean visibles.
2.- Despues comprobar con esa lista los BB si el rayo se cruza con alguno.
3.- Si fuera asi, supongo que despues comprobar con la malla del objeto si esta tocando el rayo.