Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Список функций
На этой странице перечислены все функции, поддерживаемые Godot в настоящий момент.
Примечание
Эта страница содержит список возможностей, которые поддерживаются стабильной версией Godot. Некоторые из этих функций могут быть недоступны в серии релизов (3.x).
Платформы
См. также
См. Системные требования, чтобы узнать системные требования и версии необходимых для работы программы.
Примечание
Касаемо поддержки консоли смотрите страницу лицензии официального сайта Godot.
Редактор и экспортированные проекты можно запустить на:
Windows (x86 и ARM, 64-bit и 32-bit).
macOS (x86 и ARM, только 64-bit).
Linux (x86 и ARM, 64-bit и 32-bit).
Двоичные файлы статически связаны и могут работать в любом дистрибутиве, если они скомпилированы в достаточно старом базовом дистрибутиве.
Официальные двоичные файлы компилируются с использованием Godot Engine buildroot, что позволяет создавать двоичные файлы, работающие в распространенных дистрибутивах Linux.
Android (поддержка редактора является экспериментальной).
Web браузеры. Экспериментальная поддержка в версии 4.0. Для HTML5 рекомендуется использовать Godot 3.x.
Примечание
Linux supports rv64 (RISC-V), ppc64 & ppc32 (PowerPC), и loongarch64. Однако вы должны составить редактор для этой платформы (а также шаблоны экспорта), в настоящее время официальные загрузки не предоставляются. Компилирование RISC-V инструкций можно найти на странице Компиляция для Linux, *BSD.
Запускает экспортированные проекты:
iOS.
Godot стремится быть максимально независимым от платформы и может быть портирован на новые платформы относительно легко.
Примечание
На данный момент проекты Godot 4, использующие C# в качестве языка скриптов, не могут быть экспортированы на Web платформу. Для использования C# там, пожалуйста, используйте Godot 3. Платформы Android и iOS доступны, начиная с Godot 4.2, но в экспериментальном формате и с ограничениями.
Редактор
Возможности:
Редактор дерева сцены.
Встроенный редактор скриптов. Также поддерживает изменения текстовых файлов и использование пользовательского синтаксиса маркеров.
Поддержка внешних редакторов скриптов, таких, как Visual Studio Code или Vim.
GDScript отладчик.
Поддерживает отладку в потоках.
Профайлер с визуализацией времени CPU и GPU для каждого шага в процессе отрисовки.
Инструменты для мониторинга производительности, включая кастомизируемые мониторы производительности.
Поддерживает трассировочные профилировщики, такие как Tracy и Perfetto, для более сложных задач оптимизации.
Любой скрипт можно запустить в редакторе и обеспечить пользовательскую функциональность, например, кликабельные кнопки в инспекторе, без необходимости создания плагина для редактора.
Перезагрузка скриптов в режиме реального времени.
Редактирование сцен в режиме реального времени.
Изменения будут отражены в редакторе и будут сохранены после закрытия запущенного проекта.
Репликация изображения с камеры в режиме реального времени (по умолчанию отключена).
Переместите камеру в редакторе и посмотрите результат в запущенном проекте.
Удалённый инспектор.
Изменения не отобразятся в редакторе и не сохранятся после закрытия запущенного проекта.
Запускайте несколько экземпляров проекта одновременно из одного экземпляра редактора (полезно для тестирования клиент-серверной архитектуры).
Дополнительная опция game embedding (встраивание игры) позволяет запустить проект в панели редактора.
Выберите 2D и 3D узлы в окне просмотра проекта, чтобы просмотреть их в редакторе.
Перемещайте камеру внутри проекта, используя параметры переопределения 2D и 3D камеры.
Поддерживает регулировку временного масштаба, приостановку воспроизведения и покадровая перемотка.
Поддерживает отключение уведомления о проекте.
Инструмент для измерения расстояний в 2D и 3D.
Поддержка привязки вершин в 3D.
Поддержка для следования объекта, который выбрал пользователь во время того, как это движется в 3D используя Выбор Фокуса дважды.
Встроенная оффлайн документация класса.
Используйте редактор на десятках языков, предоставленных сообществом.
Плагины:
Editor plugins can be downloaded from the Asset Store to extend editor functionality.
Создавайте свои собственные плагины с помощью GDScript для добавления новых возможностей или ускорения вашего процесса работы.
Download projects from the Asset Store in the Project Manager and import them directly.
Отрисовка
Godot 4 включает в себя три рендера:
Forward+. Самый продвинутый рендерер, подходящий только для настольных платформ. Используется по умолчанию на настольных платформах. Этот рендерер использует Vulkan, Direct3D 12, или Metal в качестве драйвера рендеринга, и использует бэкенд RenderingDevice.
Mobile. Меньше возможностей, однако рендерит простые сцены быстрее. Предназначен для мобильных и настольных платформ. Используется по умолчанию на мобильных платформах. Этот рендерер использует Vulkan, Direct3D 12, или Metal в качестве драйвера рендеринга, и RenderingDevice как бэкенд.
Compatibility, иногда называемый GL Compatibility. Наименее продвинутый отрисовщик, подходящий для бюджетных настольных и мобильных платформ. Используется по умолчанию на веб-платформе. Этот отрисовщик использует OpenGL в качестве драйвера рендеринга.
См. также
См. Обзор рендереров, для детального сравнения методов рендера.
2D графика
Рендеринг линий, полигонов и спрайтов.
AnimatedSprite2D в качестве помощника для создания анимированных спрайтов.
Слои параллакса.
Поддержка псевдо-3D графики с предпросмотром в редакторе.
2D освещение с картами нормалей и отражений.
Точечное (всенаправленное/прожекторное) и направленное 2D освещение.
Жесткие или мягкие тени (изменяются для каждого источника).
Пользовательские шейдеры могут получить доступ в реальном времени к SDF представлению 2D-сцены с помощью узлов LightOccluder2D, которые могут быть использованы для улучшения 2D-световых эффектов, включая 2D-глобальное освещение.
Отрисовка шрифтов с использованием bitmap, растеризация с помощью FreeType или многоканальных знаковых полей расстояний (MSDF).
Растровые шрифты можно экспортировать с помощью таких инструментов, как BMFont, или импортировать из изображений (только для шрифтов с фиксированной шириной).
Динамичные шрифты поддерживают монохромные шрифты, а также цветные шрифты (например, для эмодзи). Поддерживаемые форматы: TTF, OTF, WOFF1 и WOFF2.
Динамичные шрифты поддерживают дополнительные контуры шрифтов с регулируемой шириной и цветом.
Динамические шрифты поддерживают изменяемые шрифты и функции OpenType, в том числе, лигатуры.
Динамические шрифты поддерживают жирные шрифты и курсив для случаев, когда в файле шрифтов отсутствуют эти стили.
Динамичные шрифты поддерживают передискретизацию шрифтов для сохранения четкости шрифтов при более высоком разрешении.
Динамические шрифты поддерживают субпиксельное позиционирование, которое делать шрифт чётче при маленьких размерах.
Динамические шрифты поддерживают LCD-субпиксельные оптимизации, которое делает шрифт чётче при маленьких размерах.
Шрифты, задающиеся знаковым полем расстояния (SDF-шрифты), могут масштабироваться на любое разрешение без перерастеризации. Использование многоканальности позволяет масштабировать многоканальные SDF-шрифты до мелких размеров лучше, по сравнению с монохромными SDF-шрифтами.
Oversampling (Передискретизация) для SVG-изображений с использованием типа импорта DPITexture. Это позволяет получать более четкие результаты при масштабировании текстуры путем повторной растеризации исходного SVG-изображения до нового разрешения во время выполнения.
При масштабировании узлов функция передискретизации может дополнительно учитывать масштабы отдельных элементов класса CanvasItem для более четкого отображения.
Частицы на базе GPU с поддержкой пользовательских шейдеров частиц.
Частицы на базе процессора.
Опциональная 2D HDR отрисовка для лучшего использования эффектов свечения.
Дополнительное удаление полос для уменьшения артефактов полосатости в градиентах.
HDR-выход на поддерживаемых платформах и рендерерах.
2D инструменты
Карты тайлов для дизайна 2D уровней, состоящих из тайлов.
2D-камера со встроенной функцией сглаживания и перетаскивания полей.
Узел Path2D для представления пути в 2D пространстве.
Пути могут быть нарисованы в редакторе или сгенерированы процедурно.
Узел PathFollow2D позволяет следовать по Path2D.
2D физика
Физические тела:
Статические тела.
Анимируемые тела (для объектов, которые движутся только скриптом или анимацией, например, двери и платформы).
Твердые тела (rigid bodies).
Тела персонажей.
Соединения.
Области для обнаружения входящих или выходящих тел.
Обнаружение столкновений:
Встроенные фигуры: линия, коробка, круг, капсула, граница мира (бесконечная плоскость).
Полигоны столкновения (могут быть нарисованы вручную или сгенерированы из спрайта в редакторе).
3D-графика
Расчеты линейного HDR-освещения внутри помещения.
Дополнительное удаление полос для уменьшения артефактов полосатости в градиентах.
HDR-выход на поддерживаемых платформах и рендерерах.
Перспективные, ортографические и усечённые камеры.
При использовании Forward+ в качестве рендера, используется предпроход глубины (depth prepass) для улучшения производительности в сложных сценах, уменьшением количества вычислений, уходящих на отрисовку.
Затенение с переменной скоростью на поддерживаемых Графический процессорах в Forward+ и Forward Mobile.
Физически корректный рендеринг (встроенное свойства материалов):
Следует модели Disney PBR.
Поддерживает режимы затенения Burley, Lambert, Lambert Wrap (half-Lambert) и Toon.
Поддерживает режимы затенения Schlick-GGX, Toon и отключенного отражения (disabled specular shading).
Использует roughness-metallic рабочий процесс с поддержкой ORM текстур.
Использует зеркальное затенение горизонта (Filament model) для улучшения внешнего вида материала.
Карты нормалей.
Карты параллакса/рельефа с автоматическим определением уровня детализации в зависимости от расстояния.
Детальное отображение для карт альбедо и нормалей.
Subsurface scattering and transmittance.
Преломление пространства экрана с поддержкой шероховатости материала (приводит к размытому преломлению).
Затухание близости (мягкие частицы) и затухание расстояния.
Затухание расстояния может использовать дизеринг или смешивание цветов для избежания прохождения конвейера прозрачности.
Дизеринг может быть определен для каждого пикселя или объекта.
Освещение в режиме реальном времени:
Directional lights (направленные лучи) (солце/луна).
Spot lights (Прожекторы) с регулируемым углом конуса и ослаблением сигнала.
Rectangular area lights (Прямоугольные источники света) с дополнительной текстурой для определения формы и цвета.
Значения отражаемости, непрямого света и мощности освещения объема могут быть изменены для каждого источника света.
Регулируемый "размер" источника света для сферических всенаправленных и дисковых точечных источников света (также позволяет сделать тени более размытыми при изменении полутени).
Система опционального затухания на дистанции обеспечивает затухание далёкого света, а также созданных им теней, улучшает производительность.
При использовании программы Forward+ Рендер (по умолчанию на рабочем столе), источники света отображаются с кластерной оптимизацией для уменьшения их индивидуальной стоимости. Кластерный рендеринг также снимает любые ограничения на количество источников света, которые могут использоваться в сетке.
При использовании мобильного рендерера на один ресурс сетки может отображаться до 8 всенаправленных источников света, 8 точечных источников света и 8 источников света с определенной областью. При необходимости для преодоления этого ограничения можно использовать запеченное освещение.
Карта теней
DirectionalLight3D: Ортогональный (самый быстрый), PSSM с 2 и 4 сегментами. Поддерживает смешивание между разделениями.
OmniLight3D: Двойной параболоид (быстрый) или кубическая карта (медленнее, но точнее). Поддерживает цветные текстуры проектора в виде панорам.
SpotLight3D: Одна текстура. Поддерживает цветную проекцию текстур.
AreaLight3D: Единая текстура с двойным параболоидным искажением для аппроксимации формы источника света.
Нормальное смещение тени и запекание теней используют, чтобы уменьшить количество видимых прыщей в тенях (shadow acne) и питер-пеннинга.
PCSS-базированное размытие тени, зависящее от размера источника света и расстояния от поверхности, на которую падает тень. Поддерживается для всех типов источников света.
Регулируемое размытие теней для каждого источника света.
Глобальное освещение с непрямым освещением:
Запечённые карты освещения (быстр, но не может быть обновлен во время выполнения).
Поддерживает запекание либо непрямого света, либо запекание прямого и непрямого света. Режим запекания можно регулировать для каждого источника света, что позволяет использовать гибридное запекание света.
Поддерживает освещение динамических объектов используя автоматические и ручные датчики.
Дополнительно поддерживается направленное освещение на основе сферических гармоник.
Дополнительно поддерживается запекание маски теней для удалённых статических направленных теней.
Необязательный избыточный выбор во время запекания для улучшения качества и уменьшение утечки света, но от этого повышается количество запеканий и используется памятью компьютера во время использования запекания.
Создание Lightmaps (карт освещения) выполняется на GPU с использованием вычислительных шейдеров (это намного быстрее, чем создание карт освещения на CPU). Запекание можно выполнить только из редактора, а не в экспортированных проектах.
Поддерживает denoising (шумоподавление) на основе GPU с использованием JNLM по умолчанию, или более качественное шумоподавление на основе CPU/GPU с использованием OIDN (требуется отдельная загрузка OIDN).
Для уменьшение артефактов масштабирования, карты освещаются используя метод бикубической фильтрации.
Voxel-based GI probes. Поддерживает динамическое освещение и динамические окклюдеры, а также отражения. Требуется быстрый этап запекания, который может быть выполнен в редакторе или во время выполнения (в том числе из экспортированного проекта).
Signed-distance field GI разработан для больших открытых миров. Поддерживает динамическое освещение, но не динамические ограничители. Поддерживает отражения. В запекании не нуждается.
Screen-space indirect lighting (SSIL) при половинном или полном разрешении. Работает полностью в реальном времени и поддерживает любой тип эмиссивного источника света (включая деколи).
VoxelGI и SDFGI использует отложенный проход, чтобы обеспечить возможность рендеринга GI (глобального освещения) при половинном разрешении для улучшения производительности (при сохранении функциональной поддержки MSAA).
Отражения:
Отражения на основе вокселей (при использовании GI датчиков) и отражения на основе SDF (при использовании GI-поля со знаковыми расстояниями). Отражения на основе вокселей видны на прозрачных поверхностях, а грубые отражения на основе SDF видны на прозрачных поверхностях.
Быстрые запеченные (baked) отражения или медленные отражение в реальном времени с помощью ReflectionProbe. Параллаксная коррекция может быть включена опционально.
Отражения в пространстве экрана с поддержкой шероховатости материала.
Методы отражения могут быть смешаны вместе для большей точности или масштабируемости.
При использовании отрисовщика Forward+ (по умолчанию на компьютере), пробы отражений отрисовываются с помощью кластерной прямой оптимизации для снижения их индивидуальной стоимости. Кластерная прямая отрисовка так же снимает любые лимиты на количество датчиков отражений которые могут использоваться в сетке.
При использовании Mobile рендерера на каждый ресурс сетки может быть отображено до 8 зондов отражения. При использовании Compatibility рендерера на каждый ресурс сетки может быть отображено до 2 зондов отражения.
Декали:
Поддерживает альбедо, светимость, ORM, и карту нормалей.
Текстурные каналы плавно накладываются поверх основного материала, с поддержкой normal/ORM декалей.
Поддержка нормального затухания для декалей, зависящего от угла падения.
Не зависит от генерации сетки во время выполнения. Это означает, что декали (decals) могут использоваться на сложных скиновых сетках без потери производительности, даже если декаль перемещается в каждом кадре.
Поддержка ближайшей, билинейной, трилинейной или анизотропной фильтрации текстур (настраивается глобально).
Опциональная система скрытия декалей на расстоянии, улучшает производительность.
При использовании рендерера Forward+ (по умолчанию на десктопе) декали рендерятся с кластеризованными оптимизациями вперед для снижения их индивидуальной стоимости. Кластеризованный рендеринг также снимает любые ограничения на количество декалей, которые могут быть использованы на сетке.
При использовании Mobile рендерера на один ресурс сетки может быть отображено до 8 декалей.
Небо:
Панорамное небо (с использованием HDRI).
Процедурное небо и небо на основе физики, которые реагируют на DirectionalLight в сцене.
Поддерживает пользовательские шейдеры неба, которые могут быть анимированы.
Карта сияния, используемая для рассеянного и зеркального света, может обновляться в режиме реального времени в зависимости от выбранных настроек качества.
Туман:
Туман с экспоненциальной глубиной.
Туман с экспоненциальной высотой.
Поддержка автоматического изменения цвета тумана в зависимости от цвета неба (воздушная перспектива).
Поддержка рассеивания солнца в тумане.
Поддержка управления тем, как сильно туман влияет на небо, с отдельными элементами управления для традиционного и объемного тумана.
Поддержка определенных материалов игнорирующих туман.
Объемный туман:
Глобальный объемный туман реагирующий на свет и тени.
Объемный туман может учитывать косвенный (indirect) свет при использовании воксельного GI или SDFGI.
Узлы объема тумана, которые можно разместить для добавления тумана в определенные области (или удаления тумана из определенных областей). Поддерживаемые формы включают прямоугольник, эллипс, конус, цилиндр и карты плотности на основе 3D-текстур.
Каждый туман может иметь свой собственный пользовательский шейдер.
Может использоваться вместе с традиционным туманом.
Частицы:
Частицы использующие видеокарту с поддержкой субэмиттеров (subemitters) (2D + 3D), троп (2D + 3D), аттракторов (только 3D) и столкновений (2D + 3D).
Поддерживаются формы 3D-аттракторов частиц: параллелепипед, сфера и 3D-векторные поля.
Поддерживаются формы столкновения 3D-частиц: параллелепипед, сфера, запеченное поле расстояния со знаком и карта высот в режиме реальном времени (подходит для погодных эффектов открытого мира).
Столкновение двумерных частиц обрабатывается с использованием signed distance field, сгенерированного в режиме реального времени с помощью узлов LightOccluder2D в сцене.
Следы (trails) могут использовать встроенные модели ленты (ribbon trail) и трубы (tube trail), а так же пользовательские модели со скелетами.
Поддержка пользовательских шейдеров частиц с настраиваемой эмиссией.
Частицы на базе процессора.
Постобработка:
Тоновое преобразование (Linear, Reinhard, Filmic, ACES, AgX).
Автоматическая регулировка экспозиции в зависимости от яркости области просмотра (и ручного переопределения).
Глубина резкости вблизи и вдали с настраиваемой имитацией боке (прямоугольник, шестиугольник, круг).
Окружающая окклюзия экранного пространства (SSAO) при половинном или полном разрешении.
Свечение c возможностью бикубического увеличения разрешения и несколькими доступными режимами смешивания: Screen (Экранный), Soft Light (Мягкий свет), Add (Добавление), Replace (Замена), Mix (Смешивание).
Свечение может иметь окрашенную текстуру карты грязи, действующую как эффект загрязнения линзы.
Свечение можно использовать в качестве эффекта размытия.
Коррекция цвета с использованием одномерной рамп-функции (линейно-временной функции) или текстуры 3D LUT.
Ограничитель значения шероховатости для уменьшения влияния отраженного алиасинга.
Регулирование яркости, контрастности и насыщенности.
Фильтрация текстур:
Ближайшая, билинейная, трилинейная или анизотропная фильтрация.
Фильтрация может быть определена для каждого пикселя или объекта.
Сжатие VRAM текстур:
BPTC (для высококачественного сжатия, ориентированного на настольные платформы).
ASTC (для высококачественного сжатия, ориентированного на мобильные платформы).
ETC2 (для быстрого сжатия, ориентированного на мобильные платформы).
S3TC (для быстрого сжатия, ориентированного на настольные платформы).
Basis Universal (медленный, но требует всего одной кодировки для всех платформ.).
Сглаживание:
Временное сглаживание (TAA).
AMD FidelityFX Super Resolution 2.2 сглаживание (FSR2), может быть использован в родном разрешении как форма высококачественного временного сглаживания.
MSAA можно использовать как для 2D сглаживание, так и для 3D сглаживание.
Быстрое приблизительное сглаживание (FXAA).
Сверхвысокочастотное сглаживание (SSAA) с использованием билинейного 3D-масштабирования и увеличения масштаба 3D-разрешения выше 1.0.
Альфа-сглаживание, альфа-сглаживание MSAA для покрытия и альфа-хэширование на основе каждого материала.
Масштабирование разрешения:
Поддержка отрисовки 3D в более низком разрешении при сохранении 2D-рендеринга в исходном масштабе. Это может быть использовано для повышения производительности на низкопроизводительных системах или улучшения визуального восприятия на высокопроизводительных системах.
Для масштабирования разрешения используются фильтрация ближайших соседей и билинейная фильтрация, AMD FidelityFX Super Resolution 1.0 (FSR1) или AMD FidelityFX Super Resolution 2.2.1 (FSR2).
Смещение (bias) LOD mip-карты текстуры автоматически настраивается для повышения качества на низких разрешениях. Оно также может быть изменено вручную.
Большинство перечисленных выше эффектов можно отрегулировать для повышения производительности или дальнейшего улучшения качества. Это может быть полезно при использовании Godot для оффлайн рендеринга.
3D инструменты
Встроенные сетки: куб, цилиндр/конус, (полу)сфера, призма, плоскость, четырёхугольник, тор, лента, труба.
GridMaps для 3D дизайна уровней на основе тайлов.
Конструктивная твердотельная геометрия (предназначена для прототипирования).
Инструменты для генерации процедурной геометрии.
Узел Path3D для представления пути в 3D пространстве.
Пути могут быть нарисованы в редакторе или сгенерированы процедурно.
Узел PathFollow3D, позволяющий узлам следовать по Path3D.
Поддержка экспорта текущей сцены в виде файла glTF 2.0 как из редактора, так и во время выполнения из экспортированного проекта.
3D физика
Физические тела:
Статические тела.
Анимируемые тела (для объектов, которые движутся только скриптом или анимацией, например, двери и платформы).
Твердые тела (rigid bodies).
Тела персонажей.
Тела транспортных средств (предназначается для аркадной физики, не симуляций).
Соединения.
Области для обнаружения входящих или выходящих тел.
Обнаружение столкновений:
Встроенные формы: кубоид, сфера, капсула, цилиндр, граница мира (бесконечная плоскость).
Создание треугольных форм столкновения для любой сетки из редактора.
Создание одной или нескольких выпуклых форм столкновения для любой сетки из редактора.
Шейдеры
2D: Пользовательские вершинные, фрагментные и световые шейдеры.
3D: Пользовательские шейдеры для вершин, фрагментов, источников света, неба и тумана.
Пользовательские шейдеры могут процессуально генерировать и модифицировать тексту в настоящем времени, используя DrawableTexture2D.
Текстовые шейдеры, использующие язык шейдеров, вдохновлённый GLSL.
Подсветка синтаксиса на GitHub обеспечивается использованием
gdshaderв качестве имени языка в блоке кода Markdown.Визуальный редактор шейдеров.
Поддержка плагины визуальных шейдеров.
Написание скриптов
Общее:
Объектно-ориентированный шаблон проектирования со скриптами, расширяющими узлы.
Сигналы и группы для обмена данными между скриптами.
Поддержка межъязыкового написания скриптов.
Многие типы данных 2D, 3D и 4D линейной алгебры, такие как векторы и трансформации.
Синтаксис вдохновлен Python. Однако GDScript не основан на Python.
Подсветка синтаксиса на GitHub обеспечивается использованием
gdscriptв качестве названия языка в блоке кода Markdown.Применение потоков для выполнения асинхронных действий или использования нескольких процессорных ядер.
Упакован в отдельный двоичный файл для уменьшения размеров файлов и зависимостей.
Поддерживает .NET 8 и выше.
Полная поддержка синтаксиса и функций C# 12.0.
Поддерживает Windows, Linux и macOS. Начиная с Godot 4.2, также доступна экспериментальная поддержка Android и iOS.
На платформе iOS поддерживаются только некоторые архитектуры:
arm64.Веб-платформа в настоящее время не поддерживается. Чтобы использовать C# на этой платформе, используйте Godot 3.
Для использования функциональных возможностей IDE рекомендуется использовать внешний редактор.
Расширение GDExtension (C, C++, Rust, D, ...):
Если это необходимо, ссылка на родные библиотеки для более высокой производительности и сторонних интеграций.
Для написания скриптов игровой логики рекомендуется использовать GDScript или C#, если их производительность подходит.
Официальные привязки GDExtension для C и C++.
Используйте любую систему сборки и языковые возможности по вашему желанию.
Активно разрабатываемые привязки GDExtension для D, Swift, и Rust привязки, предоставленные сообществом. (Некоторые из этих привязок могут быть экспериментальными и не готовыми к использованию в разработке).
Аудио
Возможности:
Выход моно, стерео, 5.1 и 7.1.
Непозиционное и позиционное воспроизведение в 2D и 3D.
Дополнительный эффект Доплера в 2D и 3D.
Поддержка перенаправляемых аудио шин и эффектов с десятком внесённых изменений.
Поддержка полифонии (воспроизведение нескольких звуков из одного узла AudioStreamPlayer).
Поддержка случайной громкости и высоты звука.
Поддержка обработки высоты звука в реальном времени.
Поддержка последовательного/случайного отбора сэмплов, включая предотвращение повторов при использовании случайного отбора сэмплов.
AudioListener2D и AudioListener3D узлы для прослушивания, расположенные в другом месте относительно камеры.
Поддержка процедурной генерации звука.
Аудиовход для записи микрофонов.
Текст в речь с использованием предоставляемых платформой TTS механизмов.
MIDI вход.
Поддержки выхода MIDI пока нет.
Используемые API:
Windows: ДОМОЙ.
macOS: Основное аудио.
Linux: PulseAudio или ALSA.
Импорт
Поддержка пользовательских плагинов импорта.
Форматы:
Изображения: Cмотреть Импорт изображений.
Аудио:
WAV с опциональным сжатием QOA или IMA-ADPCM.
Ogg Vorbis.
MP3.
3D сцены: Cмотреть Импорт 3D сцен.
glTF 2.0 (рекомендуется).
.blend(при помощи вызова функционала экспорта glTF из Blender).FBX (при помощи вызова FBX2glTF конвертера).
Collada (.daе).
Wavefront OBJ (только статические сцены, могут быть загружены непосредственно как 3D-модель или импортированы как 3D-сцена).
Поддержка загрузки сцен glTF 2.0 во время выполнения, в том числе из экспортированного проекта.
3D-модели используют Mikktspace для создания касательных при импорте, что обеспечивает совместимость с другими 3D-приложениями, такими как Blender.
Вход
Система сопоставления ввода с использованием жёстко запрограммированных событий ввода или переназначаемых действий ввода.
Значения осей могут быть сопоставлены с двумя различными действиями с настраиваемой мёртвой зоной.
Используйте один и тот же код для поддержки клавиатур и геймпадов.
Ввод клавиатуры.
Клавиши могут быть назначены в "физическом" режиме, для того, чтобы быть независимыми от раскладки клавиатуры.
Ввод мышью.
Курсор мыши может быть видимым, скрытым, фиксированным или ограниченным в пределах окна.
Внешний вид курсора мыши можно изменить на пользовательское изображение или на один из системных курсоров.
При захвате необработанный ввод используется в Windows и Linux для обхода настроек ускорения мыши операционной системы.
Gamepad input (до 8 контроллеров одновременно).
Поддержка changing the LED color (изменения цвета светодиода) на поддерживаемых контроллерах.
Поддержка reading motion sensors (чтения данных с датчиков движения) на поддерживаемых контроллерах (используется для реализации гироскопического прицеливания).
Ввод с помощью пера/планшета с поддержкой чувствительности к давлению и наклону.
Сетевое взаимодействие
Низкоуровневое сетевое взаимодействие TCP с использованием StreamPeer и TCPServer.
Низкоуровневое сетевое взаимодействие с помощью UDP с использованием PacketPeer и UDPServer.
Низкоуровневые HTTP-запросы с использованием HTTPClient.
Высокоуровневые HTTP-запросы с использованием HTTPRequest.
Поддержка HTTPS прямо из коробки с использованием связанных сертификатов.
Высокоуровневый мультиплеерный API использующий UDP и ENet.
Автоматическая репликация с использованием удаленных вызовов процедур (RPC).
Поддержка ненадёжных, надёжных и сортированных передач.
WebSocket клиент и сервер, доступные на всех платформах.
WebRTC клиент и сервер, доступные на всех платформах.
Поддержка UPnP для обхода требования проброса портов при размещении сервера за NAT.
Интернационализация
Полная поддержка Unicode, включая эмодзи.
Загрузка системных шрифтов поддерживается в Windows, macOS и Linux.
По умолчанию, системные шрифты используются в качестве резерва для отображения не поддерживаемых символов. Это позволяет корректно отображать мультиязычный текст без встраивания шрифтов бóльшего размера в проект.
Сохранение строк локализации, используя CSV или gettext.
Поддержка генерации gettext POT и PO файлов из редактора.
Используйте локализованные строки в своем проекте автоматически в элементах графического интерфейса или с помощью функции
tr().Поддержка множественного числа и контекстов перевода.
Поддержка двунаправленной набора текста, форматирования текста и локализованных форм OpenType.
Автоматическое зеркальное отображение пользовательского интерфейса для право-левых локализаций.
Поддержка псевдолокализации для проверки вашего проекта на совместимость с интернационализацией.
Интеграция с окном и OS
Создание нескольких независимых окон в рамках одного процесса.
Перемещайте, изменяйте размер, минимизируйте и увеличивайте окно, созданное проектом.
Изменение заголовка и иконки окна.
Создание прозрачных окон для использования оверлея с поддержкой сквозной передачи курсора мыши на основе полигонов.
Запрос внимания (на большинстве платформ приведет к миганию шкал с надписями).
Fullscreen mode (borderless and exclusive).
Окно без рамки (полноэкранное или не полноэкранное).
Всегда держите окно сверху.
Игнорировать фокус для окна (полезно для оверлеев).
Объявите окно всплывающим (скрытым от переключения задач) или эксклюзивным (предотвратит взаимодействие с другими окнами того же процесса).
Встроенных диалоговые окна для открытия файлов поддерживаются в Windows, macOS, Linux и Android.
Значки в системном трее поддерживаются в Windows и macOS.
Интеграция с глобальным меню в macOS.
Оформление элементов на стороне клиента в macOS.
Выполнять команды блокирующим или неблокирующим образом (включая запуск нескольких экземпляров одного и того же проекта).
Открытие пути к файлам и URL-адресам с использованием обработчиков протоколов по умолчанию или пользовательских протоколов (если они зарегистрированы в системе).
Анализ пользовательских аргументов командной строки.
Поддержка программ чтения с экрана поддерживается в Windows, macOS и Linux.
Любой бинарник Godot (редактор или экспортированный проект) может быть использован в качестве серверного приложения, если запустить его с аргументом командной строки
--headless. Это позволяет запускать движок без отображения.
См. также
Информацию об использовании этих функций смотри в Использование Шрифтов.
Мобильные устройства
Virtual joystick и buttons для сенсорного ввода.
Поддержка рекламы с использованием сторонних модулей.
Android режим для поддержки фотографии-в-фотографии.
Поддержка XR (AR и VR)
Support for desktop headsets using OpenXR. If a headset works with SteamVR, it should work with Godot.
Godot also supports Quest over Link, AndroidXR Direct Preview, and Pico Connect.
Support for Android-based headsets using OpenXR. Including support for the following standalone headsets:
Meta Quest 1/2/3 and Pro
Pico 4/4 Ultra
Magic Leap 2
Lynx R1
HTC Vive Focus Vision
Android XR headsets
Support for the Linux-based standalone Steam Frame using OpenXR.
Limited support for visionOS Apple headsets.
В настоящее время поддерживается только экспорт приложения для использования на плоской поверхности внутри гарнитуры. Эффект погружения не поддерживается.
Другие устройства, поддерживаемые через структуру плагинов XR.
Доступны различные расширенные наборы инструментов, реализующие общие функции, необходимые для приложений XR.
Система графического интерфейса
Графический интерфейс Godot построен с использованием тех же узлов Control, что используются для создания игр в Godot. Пользовательский интерфейс редактора можно легко расширить многими способами с помощью аддонов.
Узлы:
Кнопки.
Флажки, кнопки-переключатели, переключатели.
Ввод текста с использованием LineEdit (одна строка), TextEdit (несколько строк) и CodeEdit (поддерживает подсветку синтаксиса, нумерацию строк и многое другое).
Выпадающие меню с использованием классов PopupMenu и OptionButton с поддержкой дополнительной строки поиска.
Полосы прокрутки.
Ярлыки.
RichTextLabel для текста, отформатированного с использованием BBCode, с поддержкой анимированных пользовательских эффектов.
Деревья (также могут использоваться для представления таблиц).
Палитра цветов с режимами RGB, HSV и OKHSL, а также пользовательскими цветовыми палитрами.
Элементы управления можно вращать и масштабировать.
Поддержка перетаскивания.
Изменение размера:
Якоря для удержания элементов графического интерфейса в определённом углу, краю или по центру.
Контейнеры для автоматического размещения элементов графического интерфейса (GUI).
Grid.
Flow (аналогичен автоматическому переносу текста).
Макеты Margin, centered и aspect ratio.
Складывающиеся разделы макеты.
Масштабирование до нескольких разрешений с помощью
canvas_itemsилиviewportрежимов растяжения.Поддержка любого соотношения сторон с помощью якорей и соотношения растяжения
expand.
Тематизация:
Встроенный редактор тем.
Создание тем на основе текущих настроек темы редактора.
Процедурные векторные темы, использующие StyleBoxFlat.
Поддерживает закруглённые/скошенные углы, тени, указание толщины отдельных границ и сглаживание.
Темы на основе текстур с использованием StyleBoxTexture.
Небольшой размер дистрибутива Godot может сделать его подходящей альтернативой таким фреймворкам, как Electron или Qt.
Анимация
Прямая кинематика и обратная кинематика.
Поддержка любого свойства анимации с настраиваемой интерполяцией.
Поддержка вызова методов в дорожках анимации.
Поддержка воспроизведения звуков в анимационных дорожках.
Поддержка кривых Безье в анимации.
Форматы файлов
Сцены и ресурсы могут быть сохранены в текстовом или двоичном формате.
Текстовые форматы удобочитаемы и более удобны для контроля версий.
Двоичные форматы быстрее сохранять/загружать для больших сцен/ресурсов.
Чтение и запись текстовых или двоичных файлов с помощью FileAccess.
При необходимости могут быть сжаты или зашифрованы.
Чтение и запись файлов JSON.
Чтение и запись конфигурационных INI-файлов с помощью ConfigFile.
Может (де)сериализовать любой тип данных Godot, включая Vector2/3, Color, ...
Чтение файлов XML с помощью XMLParser.
Загрузка и сохранение изображений, аудио/видео, шрифтов и ZIP-архивов в экспортируемом проекте без необходимости проходить через систему импорта Godot.
Упаковка данных игры в файл PCK (пользовательский формат, оптимизированный для быстрого поиска), в ZIP-архив или непосредственно в исполняемый файл для распространения в виде одного файла.
Экспорт дополнительных файлов PCK, которые могут быть прочитаны движком для поддержки модов и DLC.
Разное
Воспроизведение видео со встроенной поддержкой Ogg Theora.
Режим Movie Maker для записи видео из запущенного проекта с синхронизированным звуком и идеальной чередованием кадров.
Низкоуровневый доступ к серверам, который позволяет, при необходимости, обойти накладные расходы дерева сцены.
Интерфейс командной строки для автоматизации.
Экспорт и развёртывание проектов с использованием платформ непрерывной интеграции.
Скрипты автозаполнения терминала доступны для Bash, zsh и fish.
Выведите цветной текст на стандартный вывод на всех платформах, используя print_rich.
Редактор может обнаруживать функции, используемые в проекте, и создавать профиль компиляции, который можно использовать для создания меньших двоичных файлов шаблонов экспорта с отключенными ненужными функциями.
Поддержка C++ модулей, статически связанных с двоичным файлом движка.
Большинство встроенных модулей можно отключить во время компиляции для уменьшения размера двоичного файла в пользовательских сборках. Подробности см. в документе Оптимизация размера билда.
Движок и редактор написаны на C++17.
Может быть скомпилирован с использованием GCC, Clang и MSVC. Также поддерживается MinGW.
Дружелюбно относится к упаковщикам. В большинстве случаев можно использовать системные библиотеки вместо тех, которые предоставляет Godot. Система сборки ничего не загружает. Сборки могут быть полностью воспроизводимыми.
Имеет лицензию MIT.
Откройте процесс разработки с пометкой приветствуется вклад.
См. также
В репозитории предложений Godot перечислены функции, которые были запрошены сообществом и могут быть реализованы в будущих выпусках Godot.