rublo   6 Report post Posted February 20 Hola a todos, el tema es que estoy simulando un radar mas o menos realista para mi proyecto, y despues de hacer los complicado, llevo un par de tardes dandole ostias al monitor con el teclado 😂😂. Solo necesito pasar un angulo y una distancia a un vector2d para representar el contacto en la ui del radar, despues de ojear por google, leer un par de tutos de trigonometria, algun ejemplo de radar en unity y demas esto es a lo que e llegado pero sin exito y no logro dar con el error, alguna idea?  private Vector2 CalcuPos2D(float distanLoc, float anguloLoc) { float radians= anguloLoc * Mathf.Deg2Rad; //convertir a radianes float blipX = Mathf.Cos(radians) * distanLoc; float blipY = Mathf.Sin(radians) * distanLoc; blipX *= 0.032f; // multiplicamos por (RangoDeteccion / tamaño imagen radar) para escalar blipY *= 0.032f; // multiplicamos por (RangoDeteccion / tamaño imagen radar) para escalar return new Vector2(blipX, blipY) ; } void MuestraDetecciones() { //Minave = Vector3 de la emision del radar //DeteccionesRadar[] = array con los objetos detectados en el radar Vector3 targetDir = NaveScript.DeteccionesRadar[1].transform.position - MiNave.transform.position; angulo = Vector3.Angle(targetDir, MiNave.transform.forward); float dist = Vector3.Distance(MiNave.transform.position, NaveScript.DeteccionesRadar[1].transform.position); Vector2 dir = CalcuPos2D(dist,angulo); //devuelve posicion 2d del contacto Contacto1.rectTransform.localPosition = dir; //posicionamos imagen del contacto }   Quote Share this post Link to post Share on other sites
rublo   6 Report post Posted February 20 Solucionado, ni idea que fallaba en el metodo anterior. Vector2 RotarV2(Vector2 DetecLoc, float AnguLoc) { float rad = AnguLoc * Mathf.Deg2Rad; float s = Mathf.Sin(rad); float c = Mathf.Cos(rad); return new Vector2(DetecLoc.x * c - DetecLoc.y * s, DetecLoc.y * c + DetecLoc.x * s); }  1 Quote Share this post Link to post Share on other sites