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.
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.
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.