Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Apuntando el objetivo.

Iniciado por Diferencial, 17 de Julio de 2006, 09:17:33 PM

« anterior - próximo »

Diferencial

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.
PARA TENER COSAS QUE NUNCA HAS TENIDO, TENDRÁS QUE HACER COSAS QUE NUNCA HAS HECHO.

Haddd

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.

Diferencial

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.
PARA TENER COSAS QUE NUNCA HAS TENIDO, TENDRÁS QUE HACER COSAS QUE NUNCA HAS HECHO.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.