Поле зрения юнита [2D]

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


Скрипт подойдет как для платформера, так и для top-down шутера.



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

Скачать скрипты и демо проект:
Внимание! Посетители, находящиеся в группе Гости, не могут скачивать файлы.
Тестировалось на: Unity 2017.2.0

Комментариев 2

Офлайн
dianismult 10 ноября 2017
Отличный и нужный материал. И сайт отменный. Спасибо.
Офлайн
carebearlover1 22 января 2018
Админ молодец!
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
  • Яндекс.Метрика