Close
    Search Search

    Raycasting

      Raycasting

      pedia: Raycasting


      Raycasting es el uso de pruebas de intersección para resolver problemas en ROBLOX. El uso más común de la difusión de rayos es determinar el primer objeto intersectado por un rayo. Esto se hace proyectando un rayo virtual desde un cierto punto en una dirección y determinando la primera superficie con la que se cruzó.

      A mediados de 2011, ROBLOX implementó el método FindPartOnRay, que encuentra la primera parte con la que un rayo, representado por un objeto Ray, choca cuando se lanza. Ya era posible, utilizando algoritmos creados por el usuario, implementar este comportamiento, pero dichos algoritmos suelen tener un rendimiento muy caro. Los algoritmos implementados en un nivel inferior (en este caso, en C ++) suelen ser más rápidos y más eficaces que los algoritmos de un nivel superior. Incluso con el método FindPartOnRay, raycasting sigue siendo lo suficientemente lento como para evitarlo cuando no es necesario.


      ROBLOX tiene valores de Ray, que son utilizados por el motor para representar el origen y la dirección de los rayos. Estos rayos se pueden crear con la función Ray.new:

      Ray.new (origen, dirección)

      Parámetros del método FindPartOnRay
      Parámetro Tipo Descripción
      rayo Ray Valor del rayo que representa el origen y la dirección en la que debe proyectarse el rayo.
      ignoreDescendentsInstance Ejemplo Un objeto cuyos descendientes serán ignorados por el rayo.
      landCellsAreCubes booleano Si se establece en verdadero, la forma de las celdas del terreno se ignorará y se considerarán como cubos.

      El método, que es un método del espacio de trabajo, devuelve dos valores: la parte que golpeó el rayo, si golpeó una, y el punto en el que golpeó la parte.



      También existe otro método que es casi idéntico al método FindPartOnRay, el método FindPartOnRayWithIgnoreList, pero con la diferencia de que en lugar de tener un parámetro para ignorar todos los descendientes de un objeto, ignora todos los descendientes de objetos en una tabla. Esto permite una mayor personalización de las partes que se ignoran, pero también es más lento.


      Añade un comentario de Raycasting
      ¡Comentario enviado con éxito! Lo revisaremos en las próximas horas.