ray | El punto inicial y la dirección del rayo. |
results | El buffer para almacenar los hits (golpes). |
maxDistance | La distancia máxima que el rayhit se le permite estar desde el inicio del rayo. |
layerMask | Un Layer mask que es utilizado para ignorar colliders selectivamente cuando se emita un rayo. |
queryTriggerInteraction | Especifica si esta consulta debería golpear Triggers. |
int
La cantidad de hits (golpes) almacenados al buffer de results
.
Emite un rayo a través de la escena y almacena los golpes al buffer.
Como Physics.RaycastAll, pero no genera basura.
origin | El punto inicial y la dirección del rayo. |
results | El buffer para almacenar los hits (golpes). |
direction | La dirección del rayo. |
maxDistance | La distancia máxima que el rayhit se le permite estar desde el inicio del rayo. |
layermask | Un Layer mask que es utilizado para ignorar colliders selectivamente cuando se emita un rayo. |
queryTriggerInteraction | Especifica si esta consulta debería golpear Triggers. |
int
La cantidad de hits (golpes) almacenados al buffer de results
.
Emite un rayo a través de la escena y almacena los golpes al buffer.
using UnityEngine;
public class ExampleClass : MonoBehaviour { // The size of the array determines how many raycasts will occur RaycastHit[] m_Results = new RaycastHit[5];
void Update() { // Set the layer mask to all layers var layerMask = ~0;
// Do any of the rays hit? if (Physics.RaycastNonAlloc(transform.position, transform.forward, m_Results, Mathf.Infinity, layerMask) > 0) { foreach (var result in m_Results) { // Check for null since some array spots might be if (result.collider != null) { Debug.Log("Hit " + result.collider.gameObject.name); } } } else { Debug.Log("Did not hit"); } } }