fromNovosibirsk
Каждый год во всех городах России
Молния ударила в машину на Бердском шоссе в Новосибирске
G-buffer в реальной жизни
Жил старик со своею старухой. У самого синего моря.
Как это сделано в видео играх
Я разрабатываю мобильную игру со стилем Low Poly на движке Unity3D, в которой автомобиль должен уклоняться и объезжать препятствия, с другими элементами подобного геймплея.
Сегодня я поделюсь с вами способами реализации некоторых игровых функций.
Искры от столкновения с препятствием.
Я использую это для визуального обозначения игроку, что он столкнулся с объектом.
Как это выглядит:
На объект, к которому прикреплён основной коллайдер автомобиля,
повешен скрипт, который определяет все точки касания других твёрдых тел к коллайдеру машины. Далее идёт проверка по тегу на то, что касание происходит не с дорогой. Точка касания имеет информацию о позиции. Позицию касания присваиваем системе частиц которую запускаем. Она делает всплеск коротко живущих частиц, при следующем касании действия с позицией и запуском повторяются.
В скрипте это выглядит так:
Визуализация чистки дороги от снега.
Выглядит это так:
Начнём с сугробов которые образуются за ковшом, для их реализации я использую две системы частиц, которые испускают частицы с режимом отображения Mesh (Сетка), в них указанны заранее подготовленные модели сугробов. Появление частиц, сугробов, происходит при условии, что объект перемещается.
К ковш автомобиля имеет два триггера, которые при входе в триггер снега, запускают системы частиц, при выходе останавливают.
С этим понятно, а теперь как убрать из отображения снег, в зоне из которой его условно убрали.
Для этого использую Trail, он оставляет линию по ходу движения. В нём назначен материал, со специальным шейдером. Принцип действия тут прост, в материале снега указана очередь рендера выше, чем у всех других объектов. В материале который имеет Trail, указана очередь рендера ниже чем у снега, но выше чем у всех остальных объектов. При перекрытии снега, линией от Trail, будет отображено всё что находиться под снегом.
Шейдер выглядит так:
Спасибо за внимание.
Кому стало интересно, следить за развитием игры можно в группе ВК: https://vk.com/gwtgo