Выпуск открытого игрового движка 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
© OpenNet
