Выпуск открытого игрового движка Godot 4.6

Представлен релиз свободного игрового движка Godot 4.6, подходящего для создания 2D- и 3D-игр. Движок поддерживает простой для изучения язык задания игровой логики, графическую среду для проектирования игр, систему развёртывания игр в один клик, возможности анимации и симуляции физических процессов, встроенный отладчик и систему выявления узких мест в производительности. Код игрового движка, среды проектирования игр и сопутствующих средств разработки (физический движок, звуковой сервер, бэкенды 2D/3D рендеринга и т.п.) распространяется под лицензией MIT.

Исходные тексты движка были открыты в 2014 году студией OKAM, после десяти лет развития проприетарного продукта профессионального уровня, который использовался для создания и публикации многих игр для PC, игровых консолей и мобильных устройств. Движком поддерживаются все популярные стационарные и мобильные платформы (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), а также разработка игр для Web. Готовые для запуска бинарные сборки сформированы для Linux, Android, Windows и macOS.

Основные изменения в Godot 4.6 (1, 2, 3):

  • В редакторе предложена по умолчанию новая тема оформления «Modern», примечательная современным внешним видом, более контрастным выделением информации для повышения читаемости, оптимизацией отступов между элементами и применением цветовой схемы в серых тонах. Для пользователей привыкших к старому оформлению доступна опция для возвращения классической темы.

  • В редакторе унифицирована работа с панелями. Нижние панели и большинство dock-панелей теперь являются плавающими и могут открепляться. Панели можно перемещать в режиме drag&drop в различные части интерфейса.



  • Для новых 3D-проектов по умолчанию задействован движок симуляции физических процессов JoltPhysics, который уже используется в играх класса AAA, таких как Death Stranding 2.
  • Добавлена новая система обратной кинематики (IK, inverse kinematic), позволяющая создавать более реалистичную анимацию. Добавлены новые модификаторы и ограничители (constraint), позволяющие контролировать поворот и угловую скорость сочленений для исключения нежелательных движений. Задаваемые ограничения можно привязывать к 3D-узлам, например, чтобы рука персонажа тянулась и хваталась за оружие. Добавлен новый модификатор IKModifier3D, созданный на основе скелетного модификатора SkeletonModifier3D. Для использования доступны детерминированные решатели (solver) TwoBoneIK3D и SplineIK3D, а также итеративные решатели FABRIK3D, CCDIK3D и JacobianIK3D. Модульная архитектура IK-фреймворка позволяет комбинировать его с другими модификаторами и ограничителями для тонкой настройки процедурной анимации прямо в движке.



  • Полностью переделана система SSR (Screen Space Reflection), отвечающая за визуализацию материалов с отражающей поверхностью, таких как металл, вода и стекло. Новая реализация отличается достижением более высокой реалистичности, повышением производительности и добавлением двух режимов — full-resolution (максимальное качество) и half-resolution (более высокая производительность).



  • Реализованы уникальные внутренние идентификаторы узлов (Node ID),
    сохраняемые в файлах сцены и не меняющиеся после реорганизации сцены, изменении иерархии элементов, перемещении или переименовании узлов.

  • Добавлена библиотека libgodot, позволяющая встраивать Godot Engine в собственные приложения вместо его запуска в форме отдельного процесса, что может быть полезным, например, при разработке собственных игровых редакторов. Поддерживается работа в Linux, Windows и macOS.
  • 2D-сцены, помещаемые как тайлы в TileMap (например, анимированные сундуки, лампы и факелы), теперь могут поворачиваться с шагом в 90 градусов.



  • Для приближения рабочего процесса к современным 3D-редакторам осуществлено разделение режимов выделения и преобразования. Прежний режим «Выделение» (Select) переименован в «Преобразование» (Transform), а также добавлен новый режим только для выделения, в котором можно выделять узлы без показа гизмо преобразования, что предотвращает случайные операции перемещения, поворота и масштабирования.



  • Улучшен 3D-инструмент рисования и удаления в GridMap, который переведён на алгоритм Брезенхема для интерполяции между точками, что позволяет получить более гладкие линии и ускорить создание новых уровней и воксельных карт за счёт уменьшения ручных корректировок.



  • В 3D-гизмо добавлена возможность вращения объектов с выравниванием по направлению камеры.



  • В графическом интерфейсе упрощён процесс центровки точки поворота.



  • Разделена обработка фокуса для мыши/трекпада и клавиатуры — клик мышью мышью больше не меняет фокус ввода с клавиатуры.
  • При выборе узла MarginContainer в редакторе обеспечена визуализация отступов в области просмотра.

  • Улучшена навигация между вкладками: при перемещении ресурса в режиме Drag&Drop теперь можно навести курсор на нужную вкладку и автоматически переключиться на неё без клика.



  • В панели Output для открытия файла в редакторе теперь можно кликнуть на его имя в сообщении об ошибке или предупреждении.



  • В инструмент отслеживания объектов добавлена возможность создания снапшотов ObjectDB и сравнения срезов состояния со списками существующих объектов в определённые моменты времени.

  • В диалог быстрого открытия ресурсов (Quick Open) добавлена поддержка предпросмотра выбранного ресурса в контексте имеющейся сцены.



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



  • Добавлена поддержка дельта-кодирования патчей PCK, позволяющая включать в патчи только изменившиеся части ресурсов.
  • Добавлена возможность настройки цвета светодиодных индикаторов игровых контроллеров. В будущем ожидается поддержка датчиков движения, cенсорных панелей, тактильной обратной связи, адаптивных триггеров и получения информации о контроллере.
  • За счёт оптимизации обработки RGB-текстур, которые теперь преобразуются в RGBA на GPU и используются напрямую, удалось до двух раз ускорить операции импорта сжатых текстур.
  • При рендеринге по умолчанию активирован режим смешивания «Screen» и обеспечено применение эффекта свечения (Glow) до тонирования (tonemapping). Добавлена возможность настройки параметров тонального преобразования AgX.
  • В редактор Godot XR добавлена поддержка устройств Android XR для упрощения тестирования и отладки проектов для дополненной и виртуальной реальности. Добавлена поддержка спецификации OpenXR 1.1.

  • Добавлена поддержка запуска экспортированных приложений на Android-устройствах через scrcpy для зеркалирования содержимого экрана смартфона на экран ПК.



  • При сборке проектов для Windows по умолчанию задействован Direct3D 12.

Дополнительно можно отметить продолжение разработки проекта Redot, развивающего форк Godot, созданный в ответ на жёсткую политику модерации в официальных каналах общения и непринятия разработчиками Godot суждений, расходящихся с их взглядами. Основатели Redot были намерены построить инклюзивное сообщество, в котором принимаются любые личные убеждения разработчиков, не приемлема политизация процесса разработки и основное внимание сосредоточено только на создании игр. Несколько дней назад опубликован кандидат в релизы Redot 26.1, в который перенесены многие улучшения из
Godot 4.6.

Источник: http://www.opennet.ru/opennews/art.shtml?num=64682