@Lesh48

(unity) как отследить касание в определенной области экрана (по коллайдеру или типа того)?

Я хочу, чтобы при касании в определенной области (ui) на экран срабатывала часть кода (первая фаза касания), поскольку у каждого разная размерность экрана, я хочу чтобы этой областью был например коллайдер, проблема в том, что я не нашёл ни одного способа это отследить кроме проверки по пикселям. Прошу, помогите, кто знает!
  • Вопрос задан
  • 3226 просмотров
Решения вопроса 2
MrMureno
@MrMureno Куратор тега Unity
VR for all
расскажите людям добрым что вы понимаете под "первая фаза касания"

отследить касание коллайдера висящего на объекте в сцене (в мировых, не экранных координатах и без оговаривания всяких "как-то бы его привязать к верхнему правому углу экрана")

довольно просто, как по мне наиболее гибкий и расширяемый способ это через лучи:
- определите где сейчас палец игрока, экранные координаты тача или мышки(что по сути тоже самое)
- экранные координаты касания превращаем в мировые, используя текущую камеру в сцене (тут в документации смотрим и читаем)
- пускаем луч, удобнее будет с маской слоя, чтоб проверить, а есть ли под пальцем коллайдер на требуемом нам слое (вот еще чуток документации)
- если у нас луч попал в коллайдер, то вот у нас есть ссылка на него, можем сверить тэг/имя или поискать на нем нужный скрипт-маркер (тут уже в зависимости от чего зачем вам это надо)
- и вот мы точно убедились что попали в коллайдер и это нужный коллайдер - выполняем действие.

Вуаля.
надеюсь поможет. удачи)
Ответ написан
@Lesh48 Автор вопроса
Нашёл, это IPointerDownHandler!
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы