У меня есть холст наложения экранного пространства с изображением пользовательского интерфейса, покрывающим область A. Это изображение установлено на прозрачность. Его цель — получение вводимых пользователем данных.
У меня также есть объект мировой игры, 2D-спрайт, который находится внутри этой области A. К этому спрайту прикреплен 2D-коллайдер. Этот спрайт действует как мировой объект (например, здание), на который пользователь может нажимать.
Я настроил физический 2D-рейкастер для обнаружения входных данных в 2D-спрайте. Проблема, с которой я столкнулся, заключается в том, что изображение пользовательского интерфейса, очевидно, блокирует 2D-физическую передачу на 2D-спрайт. Только когда я отключу изображение пользовательского интерфейса, я смогу получить событие физического raycast.
Помощь. Я делаю что-то не так? Я думал, что физика 2D-рейкаста реагирует только на компоненты 2D-физики?

Это скрипт, прикрепленный к 2D-спрайту.
using UnityEngine.EventSystems;
public class SpriteSelector : MonoBehaviour, IPointerDownHandler
{
public void OnPointerDown(PointerEventData eventData)
{
Debug.Log("Sprite selected");
}
}
Это скрипт, прикрепленный к изображению пользовательского интерфейса.
using UnityEngine.EventSystems;
public class UIImageSelector : MonoBehaviour, IPointerDownHandler
{
public void OnPointerDown(PointerEventData eventData)
{
Debug.Log("UI Image selected");
}
}
Подробнее здесь: https://stackoverflow.com/questions/571 ... i-elements
Мобильная версия