Volver a la página principal
viernes 14 febrero 2025
5

Para qué sirve la clase Ray en Unity

La clase Ray en Unity representa una línea infinita en el espacio 3D con un punto de origen y una dirección. Se usa comúnmente en cálculos de intersección, como la detección de colisiones mediante raycasting.

Uso de la clase Ray

La clase Ray es útil para detectar objetos en una dirección específica sin necesidad de colisionadores físicos. Se define con dos parámetros:

Ray miRayo = new Ray(origen, direccion);

Donde:

  • origen: es un Vector3 que representa el punto de inicio del rayo.
  • direccion: es un Vector3 que indica la dirección en la que se proyecta el rayo.

Se usa a menudo con Physics.Raycast para detectar colisiones con objetos en la escena:

Ray rayo = new Ray(transform.position, transform.forward);
RaycastHit hit;

if (Physics.Raycast(rayo, out hit, 100f))
{
    Debug.Log("Impacto en: " + hit.point);
}

Ejemplos de uso

1. Detección de objetos delante del jugador

if (Physics.Raycast(transform.position, transform.forward, out RaycastHit hit, 10f))
{
    Debug.Log("Objeto detectado: " + hit.collider.name);
}

2. Lanzamiento de un rayo desde la cámara

Ray rayo = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(rayo, out RaycastHit hit))
{
    Debug.Log("Impacto en: " + hit.point);
}
Etiquetas:
unity csharp
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer