23

Raycast`s Path Of Despair

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

ЗАПРЕЩЕНО:

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

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

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


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

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

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

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

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

1
Автор поста оценил этот комментарий
Конечно подписался на вас, а группа есть только в ВК? Ужасно для тех людей как я которые не пользуются им ))
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Группа была создана в попыхах в прошлую пятницу, чисто для обратной связи, помимо комментариев на Пикабу. Что жало свои плоды, уже несколько интересных знакомств заведено :) в будущем постараюсь создать на других площадках группы, но не знаю когда. В любом случае спасибо за комментарий и интерес к проекту!

7
Автор поста оценил этот комментарий

По первому пункту.

1. Зачем расстояние на 10к у райкастов?

2. Почему райкаст не через RaycastAll? Если я правильно понимаю код, если будет стоять несколько деревьев в ряд, или стена за деревом большим, прозначным будет становится только ближний объект к камере.

3. Не думал о таком? Реализуется довольно просто, выглядит в разы лучше.


По второму пункту.

Костыльнул, поздравляю)

У тебя не должен увеличиваться радиус видимости игрока, это не правильно.

Логика должна быть примерно такая.

1. Враг видит игрока.

2. Рейкастишь сферой (от врага) 30м вокруг других врагов.

3. И всем найденным врагам кидаешь в какой-нить метод вида "CheckThisAreaForThePlayer", последнее актуальное метоположения игрока. Враги срываются, и бегут проверять область. И если они замечают игрока со своим радиусом обнаружения, начинают бой.

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

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

Если игрок успел свалить, пускай попатрулируют область последнего нахождения, и валят на свои точки первоначальные, делать свои дела.


Или идем еще дальше, создаем какой-нить класс "Squad". И собираем уже врагов в отряды. А там чего только нельзя реализовать. Разбитие врагов на солдат, командиров. Виды солдат. Их поведение. Кто кого должен защищать, кто как должен на что реагировать. И т.д.

Предпросмотр
YouTube10:32
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо за развёрнутый комментарий 👍🏻 Буду исправлять

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества