Как это сделано в видео играх

Я разрабатываю мобильную игру со стилем Low Poly на движке Unity3D, в которой автомобиль должен уклоняться и объезжать препятствия, с другими элементами подобного геймплея.
Сегодня я поделюсь с вами способами реализации некоторых игровых функций.

Искры от столкновения с препятствием.
Я использую это для визуального обозначения игроку, что он столкнулся с объектом.
Как это выглядит:

На объект, к которому прикреплён основной коллайдер автомобиля,

Как это сделано в видео играх Gamedev, Секреты игр, Гифка, Длиннопост, Мобильные игры

повешен скрипт, который определяет все точки касания других твёрдых тел к коллайдеру машины. Далее идёт проверка по тегу на то, что касание происходит не с дорогой. Точка касания имеет информацию о позиции. Позицию касания присваиваем системе частиц которую запускаем. Она делает всплеск коротко живущих частиц, при следующем касании действия с позицией и запуском повторяются.
В скрипте это выглядит так:

Как это сделано в видео играх Gamedev, Секреты игр, Гифка, Длиннопост, Мобильные игры

Визуализация чистки дороги от снега.
Выглядит это так:

Начнём с сугробов которые образуются за ковшом, для их реализации я использую две системы частиц, которые испускают частицы с режимом отображения Mesh (Сетка), в них указанны заранее подготовленные модели сугробов. Появление частиц, сугробов, происходит при условии, что объект перемещается.
К ковш автомобиля имеет два триггера, которые при входе в триггер снега, запускают системы частиц, при выходе останавливают.

Как это сделано в видео играх Gamedev, Секреты игр, Гифка, Длиннопост, Мобильные игры

С этим понятно, а теперь как убрать из отображения снег, в зоне из которой его условно убрали.
Для этого использую Trail, он оставляет линию по ходу движения. В нём назначен материал, со специальным шейдером. Принцип действия тут прост, в материале снега указана очередь рендера выше, чем у всех других объектов. В материале который имеет Trail, указана очередь рендера ниже чем у снега, но выше чем у всех остальных объектов. При перекрытии снега, линией от Trail, будет отображено всё что находиться под снегом.
Шейдер выглядит так:

Как это сделано в видео играх Gamedev, Секреты игр, Гифка, Длиннопост, Мобильные игры

Спасибо за внимание.
Кому стало интересно, следить за развитием игры можно в группе ВК: https://vk.com/gwtgo

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

6.6K постов22.1K подписчиков

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

ЗАПРЕЩЕНО:

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

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

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


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

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

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

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

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