Я бы хотел, чтобы Raycast из центра Sphere GameObject нашел элемент текста / изображения, попадающий под луч. Я использую Physics.RaycastAll для обнаружения попадания элемента пользовательского интерфейса. Ниже приведен мой код.
public class RaycastUI : MonoBehaviour
{
public GameObject Sphere;
private Vector3 _origin;
private Vector3 _direction;
void Update()
{
RaycastHit[] hits;
// get the origin and direction
_origin = Sphere.transform.position;
_direction = Sphere.transform.forward;
//raycast all
hits = Physics.RaycastAll(_origin, _direction, 100.0F);
// retrieve the names of the element that are hit by the sphere.
for (int i = 0; i < hits.Length; i++) {
RaycastHit hit = hits[i];
Debug.Log(hit.collider.name);
}
}
}
Я добавил BoxCoilloider на холст. К сожалению, hits.Length
всегда возвращает 0. Я что-то упустил? Как выполнить отлив лучей из сферы к элементу пользовательского интерфейса на холсте, чтобы проверить, не столкнулся ли он?