Агенты Unity ML Датчик восприятия лучей 2D не показывает столкновений

#c# #unity3d #machine-learning

Вопрос:

Я все еще относительно новичок в среде Unity и в настоящее время работаю с агентами обучения с подкреплением и ML. Для этого я хотел добавить агента в 2D-платформер.

Я прикрепил к своему агенту два датчика восприятия лучей. К сожалению, я не могу получить никаких попаданий с помощью этих датчиков, по крайней мере, они не отображаются, как обычно, со сферой в штуковинах.

Вид сцены с вещицами

Датчики излучают лучи, но, как вы видите на изображении, они не сталкиваются.

Датчик восприятия лучей-это дочерние элементы агента, определенные в его сборке. Я определил датчики для столкновения с 4 метками: без меток, земля, враг и монета

Я присвоил метку монеты жетону, метку врага-врагу, а метку земли-карте, образующей землю. У жетона есть кольцевой коллайдер, в то время как у врага есть капсульный коллайдер. На tilemap есть коллайдер tilmap.

Теперь я ожидал бы, что датчик столкнется с жетоном, врагом и землей и отобразит эти попадания в сферах, но этого не происходит.
Итак, что я делаю не так?

Определение датчика восприятия луча2d

Ответ №1:

После более тщательного расследования я сам разобрался в этой проблеме:

Теги были настроены правильно, но у меня возникло недопонимание в маске слоя лучей.

Маска слоя Лучей

Ранее я настроил его на «Все»/»По умолчанию», что привело к столкновению в самом датчике и кажется неправильным (несмотря на то, что тега игрока не было в тегах, которые можно разобрать).

После того, как я создал больше слоев и назначил своим целям эти слои, все начинает работать так, как задумывалось.

Рабочий Результат

Может быть, этот ответ поможет кому-то, у кого есть подобные проблемы.