Модули и расширения для 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 - создание отражений с помощью камеры. Может пригодиться для реалистичных отражений. Можно также использовать для отражений в воде Больше информации и примеров по ссылке.

    gdscript-pp - я не пробовал это расширение, позволяет конвертировать GDScript в C++ код который может быть скомпилирован с движком, что избавляет от проблем и узких мест GDScript. Есть ограничения например требуется строгая типизация в GDScript, если сделаете var x=10 и потом x="Hello" такое не поддерживается, var x:int=10 так будет работать. Выглядит очень полезно для ускорения готовой игры/проекта, конвертируя скрипты в C++ код.

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

    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 с которым можно делать все что требуется.

    Voxel Tools for Godot - создание воксельных миров и их редактор в реальном времени, банально по типу Майнкрафта, есть опция сглаживания геометрии, будет похоже на HeightMap без кубиков. Больше скриншотов и информации по ссылке.

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

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

    Комментарии 12

      0
      Есть ещё такая вещь как Voxel Tools (кастомная сборка движка на основе версии 3.2.2):
      https://github.com/Zylann/godot_voxel
      Там реализован вывод бесконечных, как-бы «воксельных» ландшафтов. По факту это технология marching cubes, перепаивающая полигональную сетку.
      Я собирал вот такой прототипчик с паучком, работая в этой «воксельной» сборке (правда видео захвачено на не особо мощном железе, к тому же тени тут отключены):
        +1

        Точно! Видел этот модуль забыл совсем.
        Спасибо добавил.

          0
          Ну ты его практически упомянул, потому как это от того же автора, который делал реализацию террейна для Годо.
        +1
        Довольно полезно. Мне нравится. Ничего лишнего, всё нужное.
          0
          А нет ли чего-то похожего на отображение тайловых карт с гео.сервисов типа google maps или open street map? Или Годо не умеет тянуть текстуры из внешних источников? Не спрашивайте зачем и не рассказывайте про запрет использования тайлов того же гугла везде, кроме родного api. Это я для примера привел, чтоб понятно было о чем речь. Просто интересно — можно ли такое сделать или нет?
            +1

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


            Просто интересно — можно ли такое сделать или нет?

            Да можешь, стандартных средств Готот для этого хватит, никакой исходный код модифицировать не нужно и плагины для этого не нужны.

            0

            добавил еще gdscript-pp, забыл про него

              0
              А почему только для 3D, а для 2D ничего годного нет что-ли?
                0

                В статье только мои плагины которые я нашел за год использования Годот, я не интересовался 2D. Напиши свою статью со своим списком 2D плагинов полезных.

                  0

                  Да я без наезда какого-либо, просто спросил. Сам только 2D занимаюсь, но Godot не юзал, поэтому поинтересовался, есть там чего годного или нет.

                    +1
                    Если искать — можно найти что угодно. Главное хорошо искать. Я пишу собственную библиотеку для 2D платформеров постепенно. Когда завершу — выложу в библиотеку ассетов. Ну а пока — пишу статьи о разных геймплейных элементах которые реализовал. Так что жди, всё ещё будет на блендере от мира игровых движков.
                      +1

                      Godot имеет очень обширный функционал в 2D, которого из коробки практически для любых идей хватит.
                      В 2D плагины особо и не нужны, только "скрипты-помощники" по типу шаблонов реализующих множество тривиальных действий (например система инвентаря, или система сохранения)… но опятьже я не делал ничего большого в 2D в Godot, поэтому у меня нет списка нужных и полезных расширений для 2D.

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

                Самое читаемое