Будни юнитишника: почему Raycast не работает, или проверяйте слои

raycast

Довольно долгое время была проблема в игре, что боты порой могли упереться в стенку и пытаться пройти сквозь неё. И так пробовал понять, в чём проблема, и сяк. Ну да, довольно быстро понял, что рейкасты не проходят, но почему?

С чего начинается обычно проверка? Хм, может с коллайдерами что-то? Давайте посмотрим.

raycast2

Да нет, вроде всё нормально. Хотя…Давай-ка стенку уберу, оставляю только башню.

raycast3

Видно же, что Raycast проходит точно сквозь коллайдер, так в чём проблема?

wtf

И тут случайно в инспектор посмотрел на имя слоя.

layer

А теперь посмотрим на код, который маски для зданий формирует.

w8_a_minute

Я вот тоже не сразу заметил, чем они отличаются. Урок на сегодня: перепроверяйте названия слоёв и масок.

  Категории: Gamedev, Unity3d, Коддинг