Модули и расширения для Godot 3, ссылки и краткий обзор существующих
Различие модуля и расширения:
Расширение (plugin/addon) — работает в официальном редакторе Godot и не требует никаких дополнительных действий, и работает со стандартными шаблонами экспорта.
Модуль (module) — требует модификации исходного кода и сборки всего редактора Godot, также сборки каждого из шаблонов для экспорта на каждую из платформ.
Кроссплатформа — расширения используют только возможности движка Godot поэтому они все совместимы со всеми поддерживаемыми платформами, модули в зависимости от кода модуля там может быть непереносимый код, я не встречал таких.
Установка модулей и расширений:
Расширения (plugin/addon) — для установки скопируйте расширение в каталог addons в вашем проекте. Структура должны быть такой — addons/<название расширения>/
, достаточно скопировать <название расширения>
в каталог addons. И включить в опциях проекта Проект (Project) — Настройки проекта (Project Settings)
Модули (module) — в большинстве случаев достаточно скопировать каталог с модулем в godot_<версия исходный код>/modules/<название модуля>
и сделать сборку Godot редактора и нужных шаблонов следуя инструкции. После сборки функционал модуля станет доступным.
Расширения:
Godot Console — позволяет создавать простой UI элемент Консоль, и просто добавлять туда команды, полезно во многих случаях.
Godot-3D-text-plugin — позволяет прямо в редакторе создавать трехмерный объект (mesh) в форме текста, создавать буквально двумя кликами, есть поддержка шрифтов. Для получения объекта нажать Convert to MeshInstance.
smoothing-addon— позволяет просто создавать плавную интерполяцию положения трехмерных объектов, больше информации по ссылке на расширение. Видео использования, физический ФПС установлен на 8, слева реальная позиция, справа используя smoothing-addon:
3D Trail addon for Godot — оставляет плоский след за объектами, к сожалению геометрия следа генерируется на CPU, что даст сильную нагрузку при использовании на десятках объектах одновременно. Лучше всего использовать не более чем на нескольких объектах.
Concept Graph — я не тестировал и не пользовался, для ознакомления рекомендую посмотреть видео в этом твите автора, позволяет создавать сложные правила для трехмерных объектов, что дает комплексный результат. Похоже на визуальное программирование, код писать не надо.
Scatter — для его работы требуется другой плагин Polygon Path, позволяет делать дубликаты одного объекта в выделенной области, например трава или деревья.
Godot-Planar-Reflection-Plugin — создание отражений с помощью камеры. Может пригодиться для реалистичных отражений. Можно также использовать для отражений в воде Больше информации и примеров по ссылке.
Дальше не совсем плагины, просто готовые полезные шейдеры, скрипты, и примеры:
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 с которым можно делать все что требуется.
Godot-lportal — добавляет поддержку occlusion culling в Godot 3. Я лично не нашел применения этому плагину, по утверждению автора этот плагин позволяет делать даже порталы в Godot 3 без потери производительности. Также, возможно, этот плагин будет добавлен в Godot 3 в будущем.
Godot-lsimd — добавляет поддержку SIMD в Godot 3. Использовать можно прямо в GDScript, ускоряя работу с массивами и большими объемами данных.