Version: 2017.3
public int Raycast (Vector2 direction, RaycastHit2D[] results, float distance= Mathf.Infinity, int layerMask= Physics2D.AllLayers, float minDepth= -Mathf.Infinity, float maxDepth= Mathf.Infinity);
public int Raycast (Vector2 direction, ContactFilter2D contactFilter, RaycastHit2D[] results, float distance= Mathf.Infinity);

Parámetros

direction Vector que representa la dirección del rayo.
results Arreglo para recibir resultados.
distance Distancia máxima sobre el cual se emite el rayo.
layerMask Filtro para revisar objetos solamente en capas especificas.
minDepth Solamente incluye objetos con una coordenada Z (profundidad) mayor que este valor.
maxDepth Solamente incluye objetos con una coordenada Z (profundidad) menor que este valor.
contactFilter Filter results defined by the contact filter.

Valor de retorno

int La cantidad de resultados retornados.

Descripción

Emite un rayo a la escena empezando en la posición inicial del collider ignorando el collider en sí.

Esta función es similar a la función [[Physics2D::RaycastNonAlloc]] y de la misma manera, los resultados se devuelven en la matriz suministrada. El valor de retorno de número entero es el número de objetos que intersectan el rayo (posiblemente cero) pero la matriz de resultados no se redimensionará si no contiene suficientes elementos para informar de todos los resultados. La importancia de esto es que no se asigna memoria a los resultados y, por lo tanto, se mejora el rendimiento de la recolección de basura cuando se realizan frecuentemente raycasts.

Overloads of this function that use contactFilter filters the results by the options available in ContactFilter2D.

Además, esto también detectará otros Collider(s) al comienzo del rayo. En este caso, el rayo comienza dentro del Collider y no intersecta la superficie del Collider. Esto significa que no se puede calcular la colisión normal, en cuyo caso la colisión normal devuelta se ajusta a la inversa del vector de rayos que se está probando. Esto se puede detectar fácilmente porque estos resultados siempre están en una fracción de cero de RaycastHit2D.

Mirar también: Clase LayerMask, clase RaycastHit2D, [[Physics2D::RaycastNonAlloc]], [[Physics2D::AllLayers]], [[Physics2D::IgnoreRaycastLayer]], [[Physics2D::raycastsHitTriggers]].

Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961