Найти в Дзене
Games4Linux

Команда Godot Engine представила первый dev-снимок игрового движка Godot 4.7

Всего через несколько месяцев после выхода стабильной Godot 4.6 разработчики приступают к следующему этапу. Первый dev-снимок версии 4.7 открывает окно в будущее движка: здесь собраны как функции, замороженные на время подготовки предыдущего релиза, так и новые, рискованные, но многообещающие изменения. Это идеальное время для тестирования и обратной связи от сообщества. Одна из самых давних проблем разработки под мобильные платформы наконец-то решена. Благодаря пул-реквесту Kazox61 (GH-110933) в Godot появился встроенный узел VirtualJoystick. Теперь создателям игр для iOS и Android не нужно полагаться на сторонние плагины или изобретать велосипед — движок предоставляет три готовых режима работы: Ещё одна «хотелка» многолетней давности наконец-то получила простое и элегантное решение. Colin O'Rourke (GH-105701) представил DrawableTexture — высокоуровневую обёртку, которая абстрагирует сложность работы с RenderDevice и позволяет разработчикам любого уровня легко реализовывать рисование
Оглавление

Всего через несколько месяцев после выхода стабильной Godot 4.6 разработчики приступают к следующему этапу. Первый dev-снимок версии 4.7 открывает окно в будущее движка: здесь собраны как функции, замороженные на время подготовки предыдущего релиза, так и новые, рискованные, но многообещающие изменения. Это идеальное время для тестирования и обратной связи от сообщества.

Ключевые новшества Godot 4.7 dev 1

Встроенный виртуальный джойстик для мобильных игр

Одна из самых давних проблем разработки под мобильные платформы наконец-то решена. Благодаря пул-реквесту Kazox61 (GH-110933) в Godot появился встроенный узел VirtualJoystick. Теперь создателям игр для iOS и Android не нужно полагаться на сторонние плагины или изобретать велосипед — движок предоставляет три готовых режима работы:

  • JOYSTICK_FIXED: Джойстик не двигается с места.
  • JOYSTICK_DYNAMIC: Джойстик перемещается в точку первого касания (если она в пределах области) и возвращается обратно при отпускании.
  • JOYSTICK_FOLLOWING: Джойстик следует за пальцем, даже если оно выходит за пределы области.

Рисование прямо на текстурах (DrawableTexture)

Ещё одна «хотелка» многолетней давности наконец-то получила простое и элегантное решение. Colin O'Rourke (GH-105701) представил DrawableTexture — высокоуровневую обёртку, которая абстрагирует сложность работы с RenderDevice и позволяет разработчикам любого уровня легко реализовывать рисование на текстурах. Будь то разрисовывание карты, следы краски или кастомные редакторы — теперь это делается парой строк кода.

Трассировка лучей в Vulkan: заложен фундамент

Antonio Caggiano (GH-99119) проделал титаническую работу, добавив в движок базовый функционал для поддержки трассировки лучей через Vulkan. Это сложнейшая задача, затрагивающая самые глубины рендеринга. Теперь, когда основа заложена, сообщество может постепенно надстраивать над ней удобные инструменты. К пул-реквесту прилагается демонстрационный проект на GDScript, показывающий работу новых возможностей.

Экспериментальная поддержка HDR на Windows

Работа над HDR-выводом, анонсированная ещё в цикле 4.6, наконец-то начала материализовываться в коде. Josh Jones, Alvin Wong и Allen Pestaluky (GH-94496) представили первую реализацию для платформы Windows. Пока поддержка находится на ранней стадии и не готова к продакшену, но это важный шаг к тому, чтобы Godot мог конкурировать с коммерческими движками в качестве изображения.

Привязка точек Path3D к коллайдерам

Gustavo Jaruga Cruz (GH-102085) улучшил редактор 3D: теперь при создании и редактировании путей Path3D появилась возможность привязывать точки к поверхности коллайдеров. Это делает расстановку маршрутов, тропинок и траекторий невероятно удобной — больше не нужно вымерять высоту вручную. Функция включается в меню опций Path3D.

Улучшенный инспектор для не экспортируемых переменных

Danil Alexeev (GH-115705) решил проблему, которая мучила многих при отладке: не экспортированные переменные, особенно перечисления (enums), в удалённом инспекторе отображались как простые целые числа. Теперь метаданные сохраняются, и разработчики видят осмысленные значения вне зависимости от статуса экспорта.

И прочее, прочее, прочее...

Всего в этом снимке приняли участие 127 контрибьюторов, которые добавили 311 исправлений и улучшений. Вот лишь малая часть остального:

  • Core: В PCKPacker добавлен метод для добавления файлов из буфера (GH-108830).
  • Editor: Горячая клавиша для показа подсказки по документации под курсором (GH-115767).
  • Editor: Улучшен внешний вид встроенной справки (GH-107597).
  • GUI: Добавлен конический градиент в GradientTexture2D (GH-115394).
  • Input: Добавлена поддержка сенсоров движения в геймпадах (GH-111679).
  • Physics: Для CollisionShape2D добавлена возможность односторонней коллизии (GH-104736).
  • Platforms: Сигнал об изменении ориентации экрана в DisplayServer (GH-115434).
  • Platforms: Нативная поддержка выбора файлов на всех устройствах Android (GH-115257).
  • Rendering: Улучшения и исправления в работе Clearcoat (GH-111464).
  • Rendering (Metal): Рефакторинг, поддержка ациклических графов рендера (GH-114484).
  • Rendering (Vulkan): Обновление компонентов до Vulkan SDK 1.4.335.0 (GH-114075).

Этот предварительный снимок — приглашение к тестированию и участию. Разработчики предупреждают о возможных рисках потери данных и настоятельно рекомендуют создавать резервные копии. Однако именно благодаря обратной связи сообщества Godot становится лучше с каждым днём.

Скачать Godot 4.7 dev 1 можно с официального сайта. Также доступны веб-версия, редактор для Android и XR-редактор. Присоединяйтесь к тестированию и помогайте формировать будущее открытого игрового движка!