Страница 1 из 1

ScreenToWorldPoint не видит коллайдеры,находящиеся на панели

СообщениеДобавлено: 23 ноя 2022, 14:27
skroliks
Делаю "Три в ряд". Вынес, чтобы камни при запуске появлялись не в обычной рабочей области, а на панели UI, чтобы удобно было размещать элементы дизайна (специально нашел скрипт для UNITY с подобной игрой, где сделано так же и все работает, я имею в виду вывод через панель). Однако, теперь при запуске мышь (ScreenToWorldPoint) не видит коллайдеры, которые на камнях, и получается выделение камней не происходит (пускаю луч, но пишет все время, что Object reference not set to an instance of an object, т.е. не находит ничего. Других никаких коллайдеров нет). Вот часть кода:

Vector2 ray = Camera.main.ScreenToWorldPoint(Input.mousePosition);
RaycastHit2D hit = Physics2D.Raycast(ray, Vector2.zero);

//И вот тут проверяем, но выдает ошибку как указал выше, т.е. не видит коллайдер)
Debug.Log("hit.collider = " + hit.collider.transform.position);


Когда я выводил камни в рабочей области (не на панели) - все работало отлично, но когда перевел чтобы камни появлялись на панели (UI) - вот такая вот беда. Помогите понять в чем проблема..

Re: ScreenToWorldPoint не видит коллайдеры,находящиеся на панели

СообщениеДобавлено: 24 ноя 2022, 00:31
1max1
юи и коллайдеры плохой тон для юнити, исключения есть, но не в таком случае. Для юи есть https://docs.unity3d.com/2019.1/Documen ... ycast.html

Re: ScreenToWorldPoint не видит коллайдеры,находящиеся на панели

СообщениеДобавлено: 28 ноя 2022, 11:54
skroliks
1max1 писал(а):юи и коллайдеры плохой тон для юнити, исключения есть, но не в таком случае. Для юи есть https://docs.unity3d.com/2019.1/Documen ... ycast.html


Тон тоном, но хотелось бы все равно понять в чем суть проблемы и почему у других это работает, а здесь не хочет.. :-?

Re: ScreenToWorldPoint не видит коллайдеры,находящиеся на панели

СообщениеДобавлено: 29 ноя 2022, 02:51
1max1
Натягиваем сову на глобус и удивляемся почему она орет как бешеная. Может у тебя коллайдер не 2д. Проверяй глобальные координаты и размеры объектов канваса и сопоставляй их с позицией мыши. Если канва не в world space проблем может быть больше.

Re: ScreenToWorldPoint не видит коллайдеры,находящиеся на панели

СообщениеДобавлено: 29 ноя 2022, 03:57
Saltant
Мож какой то элемент скрывает блок в иерархии юай, почекай галки на объектаё target raycast object или что то типа того, не помню точно.