
Игра представляет собой мультиплеерный шутер от третьего лица в стиле аниме и сеттинге Sci-fi, Cyberpunk.
Геймплей основан на совмещении стрельбы с паркуром и уворотами, вдохновлен такими играми как S4 League и GunZ.
Разработка ведется на движке Panda3D, с собственным рендер пайплайном.
Ввиду крайне ограниченных ресурсов-в команде 2 человека: в проекте используется пайплайн с решениями, позволяющими кратно ускорить процесс разработки, а также вплести решения по оптимизации в творческий процесс. Ниже я приведу несколько примеров таких решений: некоторые могут показаться странными, другие-пугающими, а о третьих я вам не расскажу ^^
На одежде используется атлас складок в UV0(карта нормалей + карта затемнений), и по vertex color (A) определяется сила складок, от 0 до 1.
Таким образом, складки могут вращаться, меняться в размере и пропорциях в процессе создания развертки под любым углом и многократно использоваться повторно, швы же прячутся нулевым значением vertex color (A). В UV1 расположена карта цвета, и взаимодействует с vertex color (RGB), а также картой затемнений с UV0.
В нашем случае это решает проблему с ситуацией, когда программист со знанием Blender-а должен иметь способ делать одежду массово, быстро, и в одном стиле…
На окружении/обьектах-тримы, тайлы, декали мешаются с бэйкнутыми обьектами.
В данном случае эмиссив декалей находится в UV1 и представляет собой 4-х кадровый спрайт.
Отдельно расскажу про пайплайн работы с оружием:
На оружии в игре используется 2 материала: один предназначен для переиспользования различных частей (тримы, магазины, прицелы, эмиссивные части и прочее) В другом-находятся крупные части конкретного оружия. Поэтому, сначала планируется переиспользование.
Это способствует тому, что львиная доля работы, что проводилась бы повторно на каждом ассете, попросту испаряется.
Low-poly>High-poly

Floaters



На этапе текстурирования производится отрисовка карты затемнений и высветлений-она заменяет диффуз, поскольку шейдер использует vertex color (RGB) как базовый цвет, и перекрывает его двумя каналами: один через add и второй через multiply. Третий канал свободен для добавления карты эмиссива в случае необходимости. По умолчанию эмиссив задействует vertex color (RGB), а степень его влияния определяется vertex color (A)
Затем производится сборка подвариантов оружия, чтобы выжать абсолютный максимум из затраченного времени. Используется как отражение, так и поворот, смещение, разный обвес, и, разумеется, vertex color для окраски и эмиссива.
Финальным штрихом, с помощью copy-paste геонод в Blender-е добавляются вертикальные градиенты в vertex color (RGB)