Модули и расширения для Godot 3, ссылки и краткий обзор существующих

Различие модуля и расширения:

Расширение (plugin/addon) — работает в официальном редакторе Godot и не требует никаких дополнительных действий, и работает со стандартными шаблонами экспорта.

Модуль (module) — требует модификации исходного кода и сборки всего редактора Godot, также сборки каждого из шаблонов для экспорта на каждую из платформ.

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

Установка модулей и расширений:

Расширения (plugin/addon) — для установки скопируйте расширение в каталог addons в вашем проекте. Структура должны быть такой — addons/<название расширения>/, достаточно скопировать <название расширения> в каталог addons. И включить в опциях проекта Проект (Project) — Настройки проекта (Project Settings)

3d03fa43a22d2438570939c0c4364f27.png

Модули (module) — в большинстве случаев достаточно скопировать каталог с модулем в godot_<версия исходный код>/modules/<название модуля> и сделать сборку Godot редактора и нужных шаблонов следуя инструкции. После сборки функционал модуля станет доступным.

Расширения:

Godot Console — позволяет создавать простой UI элемент Консоль, и просто добавлять туда команды, полезно во многих случаях.

908908c7ed47aff35ca5a509223342cb.png

Godot-3D-text-plugin — позволяет прямо в редакторе создавать трехмерный объект (mesh) в форме текста, создавать буквально двумя кликами, есть поддержка шрифтов. Для получения объекта нажать Convert to MeshInstance.

170cfc32faf6fcfadc12d8c872e36ef5.png

smoothing-addon— позволяет просто создавать плавную интерполяцию положения трехмерных объектов, больше информации по ссылке на расширение. Видео использования, физический ФПС установлен на 8, слева реальная позиция, справа используя smoothing-addon:

3D Trail addon for Godot — оставляет плоский след за объектами, к сожалению геометрия следа генерируется на CPU, что даст сильную нагрузку при использовании на десятках объектах одновременно. Лучше всего использовать не более чем на нескольких объектах.

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

Scatter — для его работы требуется другой плагин Polygon Path, позволяет делать дубликаты одного объекта в выделенной области, например трава или деревья.

4763de0cc48a7b9738be68cf8246ebca.png

Godot-Planar-Reflection-Plugin — создание отражений с помощью камеры. Может пригодиться для реалистичных отражений. Можно также использовать для отражений в воде Больше информации и примеров по ссылке.

63207219e7c0f9675360899482b2bec7.png

Дальше не совсем плагины, просто готовые полезные шейдеры, скрипты, и примеры:

Godot Realistic Water — хороший и быстрый шейдер воды с выделением (используя depth) объектов пересекающих воду.

Godot_force_shield_shader — простой эффект энергетического щита, главное то что реализована логика выделения пересекающих объектов используя depth.

Screen-Space-Decals — логика отпечатков на шейдерах, так как в Godot 3 нет поддержки decals. Более комплексное использование этой техники в Godot я описал в своей статье на хабре ссылка, где есть ссылки на исходный код моего измененного шейдера.

Simple Wind Shader — пример использования и создания шейдера анимации движения травы и листвы под действием ветра.

Mirror example — проект с примером создания зеркала

Camera Control Script — очень полезный скрипт для контроля камеры, по сути шаблон для всех трехмерных камер.

Модули:

Futari-addon — очень полезный модуль для GPU-частиц, позволяет добавлять физический коллайдер сферу или плоскость, и частицы будут взаимодействовать с ними, также можно добавлять области с ускорением на подобии ветра. Эта логика работает и в WebGL2. На хабре есть статья с моим примером использования этого модуля. Есть демо проектот автора.

HeightMap terrain plugin — создание площадей как карты высот, есть поддержка разных текстур, травы, также LOD и физика. Полноценный HeightMap с которым можно делать все что требуется.

73476c3f783b24fff0d8d3ef581e9b44.png

Godot-lportal — добавляет поддержку occlusion culling в Godot 3. Я лично не нашел применения этому плагину, по утверждению автора этот плагин позволяет делать даже порталы в Godot 3 без потери производительности. Также, возможно, этот плагин будет добавлен в Godot 3 в будущем.

e9fca40df7676c74979d234e9cefe22c.jpg

Godot-lsimd — добавляет поддержку SIMD в Godot 3. Использовать можно прямо в GDScript, ускоряя работу с массивами и большими объемами данных.

© Habrahabr.ru