TNNV - Gamedev
59 subscribers
144 photos
6 files
15 links
Канал, посвящённый моим проектам в сфере разработки видеоигр.
Download Telegram
Я уже давно хотел сделать так, чтобы можно было смешивать несколько материалов в игровом окружении.

Пока что поверхность планеты покрывали либо слой земли, либо скальная поверхность - но теперь появилась возможность внести некоторое разнообразие )

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

Окружение в игре создаётся при помощи геонод в Блендере, и основным средством его контроля являются сплайны. Поэтому теперь они также используются для создания специальной маски (её можно увидеть на скриншоте). А в Godot шейдер на основе этой маски смешивает материалы.

Помимо всего прочего, это потребовало провести небольшой рефакторинг моей системы геонод в Блендере, чтобы обеспечить подходящую топологию (на скриншоте).

#экспедиция
👍6
Так сейчас выглядит результат в самой игре.

Впрочем, тут главное - то, что появилась сама возможность смешивать материалы и задавать разные типы поверхностей.

#экспедиция
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Получилось реализовать и опробовать в игре лазерную пушку.

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

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

#экспедиция
👍6
По мере прохождения игры десантникам будут противостоять всё более сильные противники. Чтобы справиться с ними, игрок должен своевременно открывать новое снаряжение через систему исследований.

Для проведения исследований пока что требуются два основных ресурса: образцы кристалла и биообразцы.

Ресурсы игрок получает за выполнение некоторых миссий, а теперь ещё и за сбор подбираемых объектов.

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

#экспедиция
👍7
GaussCannon.gif
3.7 MB
Когда я думал о том, каким может быть наиболее эффективное оружие Экспедиции, я вспомнил про BFG из DOOM ) А точнее, его реализацию в третьей части серии.

Пушка Гаусса (такое сейчас у неё рабочее название) стреляет энергетическим шаром, который в свою очередь атакует молниями противников в радиусе поражения.

Такое оружие позволит мгновенно испепелять целые группы противников - до тех пор, пока достаточно энергии для выстрела.

#экспедиция
👍421
Оставшийся этап работ по принципиальному улучшению визуала окружения в игре - замена инопланетной флоры на уникальные модели с более сложной логикой генерации.

Итогом стала система из генерируемых внутри замкнутых сплайнов массивов джунглей, наполнение которых зависит от различных факторов - близости к границе лесного массива, наличия огромных корней поблизости и т.д.

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

#экспедиция
👍7🔥2
Root01.gif
2.5 MB
Работа над инопланетной флорой - это отличная возможность показать инструментарий, который я использую для создания игрового окружения.

3D контент для игры создаётся в Blender, и для генерации окружения используются так называемые геоноды, модифицирующие геометрию на основе узлов.

На gif можно увидеть, как древесный корень генерируется на основе нарисованной кривой.

#экспедиция
👍3🔥3
Jungle.gif
1 MB
Затем другая кривая задаёт область массива джунглей.

При этом рядом с корнем создаются похожие на него деревья, а у границы лесного массива преобладают громадные цветы.

Также наличие деревьев учитывается при расстановке цветов вертексов на земной поверхности - это позволяет использовать специальные текстуры земли для леса.

#экспедиция
🔥6👍1
Добавление джунглей на карты привело к необходимости пересмотреть подход к созданию коллизий для окружения. Ранее коллизии создавались из геометрии и совпадали с ней - но модели растений слишком сложны для такого подхода.

Результатом стала выгрузка карты в виде двух объектов - видимой геометрии с материалами и упрощённой геометрии для создания на её основе коллизий.

А для упрощения процесса формирования этих двух итоговых объектов я написал скрипт на Python, который позволяет в один клик получить их на отдельном слое в Блендере и затем выгрузить в игровой движок. Это позволит сэкономить массу времени при доработках карт и внесении корректировок.

#экспедиция
🔥4👍3
Большинство объектов в игре используют текстурные атласы. Это позволяет многократно переиспользовать участки одной и той же текстуры на разных моделях для разных целей.

Кроме того, использование второго набора UV координат дало возможность произвольно размещать различные люки, швы и пластины на модели, покрывая их общим слоем краски и камуфляжа без швов и состыковок.

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

#экспедиция
🔥6👍4