Raycast`s Path Of Despair

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

Начать я решил с рейкастов.

Если персонаж заходит за предмет окружения с тегом "Environment" и добавленным скриптом VisibleInvisible:

Raycast`s Path Of Despair Unity, C, Scripting, Инди, RPG, Low poly, Gameplay, Видео, Длиннопост

В этом скрипте указывается стандартный материал объекта, и материал с прозрачностью 70%.

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

Raycast`s Path Of Despair Unity, C, Scripting, Инди, RPG, Low poly, Gameplay, Видео, Длиннопост

На старте находим нашего игрока (этого можно было бы избежать, если бы не было смен сцены, добавили бы просто в инспекторе ссылку на персонажа и все).

В update кидаем луч из камеры в игрока, проверяем на попадание в нужный тег. Заведомо определив GameObject go ( для того, чтобы в дальнейшем включить ему обратно стандартный материал). А дальше проверки если цель изменилась - включаем старой цели стандартный материал, а новой цели меняем на прозрачный.

Raycast`s Path Of Despair Unity, C, Scripting, Инди, RPG, Low poly, Gameplay, Видео, Длиннопост

А в этом скрипте часть логики на видимость противником нашего персонажа.

Если персонаж в зоне агро радиуса, то получаем bool CheckPlayerVisible если true , включается логина достижения цели или атаки, если false - продолжение патрулирования или ожидания.

Метод Agro увеличивает агро радиус у противника, и запускает Invoke на восстановление его к стандартному значению. Стоит, например 2 врага друг от друга на 30 метрах.  Агро радиус у обоих 20 метров. Если 1 враг агрится на персонажа, то он запускает метод Agro у соседнего врага, чтобы он тоже "увидел" игрока и соответственно сагрился, если персонаж в прямой видимости( CheckPlayerVisible никто не отменял ).


Ну, как-то так. Если кому-то будут интересны такого рода описания - дайте знать.

Ну и на последок ссылка на группу в вк =) https://vk.com/pathofdespair

Кто хочет быть в курсе всех новостей - добро пожаловать.

Лига Разработчиков Видеоигр

6.5K постов22K подписчика

Добавить пост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

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

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

Вы смотрите срез комментариев. Показать все
5
Автор поста оценил этот комментарий
Если кому-то будут интересны такого рода описания - дайте знать.

даю знать.

Интересно почитать решения различных задач)

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку