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.

Список функций

На этой странице перечислены все функции, поддерживаемые 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, но в экспериментальном формате и с ограничениями.

Редактор

Возможности:

  • Редактор дерева сцены.

  • Built-in script editor. Also supports editing text files and using custom syntax highlighters.

  • Поддержка внешних редакторов скриптов, таких, как Visual Studio Code или Vim.

  • GDScript отладчик.

    • Supports debugging in threads.

  • Профайлер с визуализацией времени CPU и GPU для каждого шага в процессе отрисовки.

  • Инструменты для мониторинга производительности, включая кастомизируемые мониторы производительности.

  • Supports tracing profilers like Tracy and Perfetto for deeper optimization tasks.

  • Any script can be run in the editor and provide custom functionality such as clickable buttons in the inspector, without needing to create an editor plugin.

  • Перезагрузка скриптов в режиме реального времени.

  • Редактирование сцен в режиме реального времени.

    • Changes will reflect in the editor and will be kept after closing the running project.

  • Live camera replication (disabled by default).

    • Переместите камеру в редакторе и посмотрите результат в запущенном проекте.

  • Удалённый инспектор.

    • Changes won't reflect in the editor and won't be kept after closing the running project.

  • Run multiple simultaneous project instances from a single editor instance (useful for client/server testing).

  • Optional game embedding to run the project in a panel within the editor.

    • Select 2D and 3D nodes in the project's viewport to inspect them in the editor.

    • Move the camera within the project using the 2D and 3D camera overrides.

    • Supports time scale adjustments, pausing, and frame advance.

    • Supports muting the project.

  • Ruler tool to measure distances in 2D and 3D.

  • Vertex snapping support in 3D.

  • Support for following the selection as it moves in 3D by using Focus Selection twice.

  • Встроенная оффлайн документация класса.

  • Используйте редактор на десятках языков, предоставленных сообществом.

Плагины:

Отрисовка

Godot 4 включает в себя три рендера:

  • Forward+. Самый продвинутый рендерер, подходящий только для настольных платформ. Используется по умолчанию на настольных платформах. Этот рендерер использует Vulkan, Direct3D 12, или Metal в качестве драйвера рендеринга, и использует бэкенд RenderingDevice.

  • Mobile. Меньше возможностей, однако рендерит простые сцены быстрее. Предназначен для мобильных и настольных платформ. Используется по умолчанию на мобильных платформах. Этот рендерер использует Vulkan, Direct3D 12, или Metal в качестве драйвера рендеринга, и RenderingDevice как бэкенд.

  • Compatibility, иногда называемый GL Compatibility. Наименее продвинутый отрисовщик, подходящий для бюджетных настольных и мобильных платформ. Используется по умолчанию на веб-платформе. Этот отрисовщик использует OpenGL в качестве драйвера рендеринга.

См. также

См. Обзор рендереров, для детального сравнения методов рендера.

2D графика

  • Рендеринг линий, полигонов и спрайтов.

    • Инструменты высокого уровня для рисования линий и полигонов, такие как Polygon2D и Line2D, с поддержкой текстурирования.

  • AnimatedSprite2D в качестве помощника для создания анимированных спрайтов.

  • Слои параллакса.

    • Поддержка псевдо-3D графики с предпросмотром в редакторе.

  • 2D освещение с картами нормалей и отражений.

    • Точечное (всенаправленное/прожекторное) и направленное 2D освещение.

    • Жесткие или мягкие тени (изменяются для каждого источника).

    • Пользовательские шейдеры могут получить доступ в реальном времени к SDF представлению 2D-сцены с помощью узлов LightOccluder2D, которые могут быть использованы для улучшения 2D-световых эффектов, включая 2D-глобальное освещение.

  • Отрисовка шрифтов с использованием bitmap, растеризация с помощью FreeType или многоканальных знаковых полей расстояний (MSDF).

    • Растровые шрифты можно экспортировать с помощью таких инструментов, как BMFont, или импортировать из изображений (только для шрифтов с фиксированной шириной).

    • Динамичные шрифты поддерживают монохромные шрифты, а также цветные шрифты (например, для эмодзи). Поддерживаемые форматы: TTF, OTF, WOFF1 и WOFF2.

    • Динамичные шрифты поддерживают дополнительные контуры шрифтов с регулируемой шириной и цветом.

    • Динамические шрифты поддерживают изменяемые шрифты и функции OpenType, в том числе, лигатуры.

    • Динамические шрифты поддерживают жирные шрифты и курсив для случаев, когда в файле шрифтов отсутствуют эти стили.

    • Динамичные шрифты поддерживают передискретизацию шрифтов для сохранения четкости шрифтов при более высоком разрешении.

    • Динамические шрифты поддерживают субпиксельное позиционирование, которое делать шрифт чётче при маленьких размерах.

    • Динамические шрифты поддерживают LCD-субпиксельные оптимизации, которое делает шрифт чётче при маленьких размерах.

    • Шрифты, задающиеся знаковым полем расстояния (SDF-шрифты), могут масштабироваться на любое разрешение без перерастеризации. Использование многоканальности позволяет масштабировать многоканальные SDF-шрифты до мелких размеров лучше, по сравнению с монохромными SDF-шрифтами.

  • Oversampling for SVG images using the DPITexture import type. This allows for sharper results when scaling up the texture by re-rasterizing the SVG source image to a new resolution at run-time.

    • Oversampling can optionally take individual CanvasItem scales into account for crisper rendering when scaling nodes.

  • Частицы на базе GPU с поддержкой пользовательских шейдеров частиц.

  • Частицы на базе процессора.

  • Опциональная 2D HDR отрисовка для лучшего использования эффектов свечения.

  • Optional debanding to reduce banding artifacts in gradients.

  • HDR output on supported platforms and renderers.

2D инструменты

  • Карты тайлов для дизайна 2D уровней, состоящих из тайлов.

  • 2D-камера со встроенной функцией сглаживания и перетаскивания полей.

  • Узел Path2D для представления пути в 2D пространстве.

    • Пути могут быть нарисованы в редакторе или сгенерированы процедурно.

    • Узел PathFollow2D позволяет следовать по Path2D.

  • Вспомогательный класс 2D геометрии.

2D физика

Физические тела:

  • Статические тела.

  • Анимируемые тела (для объектов, которые движутся только скриптом или анимацией, например, двери и платформы).

  • Твердые тела (rigid bodies).

  • Тела персонажей.

  • Соединения.

  • Области для обнаружения входящих или выходящих тел.

  • Physics interpolation.

Обнаружение столкновений:

  • Встроенные фигуры: линия, коробка, круг, капсула, граница мира (бесконечная плоскость).

  • Полигоны столкновения (могут быть нарисованы вручную или сгенерированы из спрайта в редакторе).

3D-графика

  • Linear HDR internal lighting calculations.

  • Optional debanding to reduce banding artifacts in gradients.

  • HDR output on supported platforms and renderers.

  • Перспективные, ортографические и усечённые камеры.

  • При использовании Forward+ в качестве рендера, используется предпроход глубины (depth prepass) для улучшения производительности в сложных сценах, уменьшением количества вычислений, уходящих на отрисовку.

  • Затенение с переменной скоростью на поддерживаемых Графический процессорах в Forward+ и Forward Mobile.

Физически корректный рендеринг (встроенное свойства материалов):

  • Следует модели Disney PBR.

  • Поддерживает режимы затенения Burley, Lambert, Lambert Wrap (half-Lambert) и Toon.

  • Поддерживает режимы затенения Schlick-GGX, Toon и отключенного отражения (disabled specular shading).

  • Использует roughness-metallic рабочий процесс с поддержкой ORM текстур.

  • Для улучшения внешнего вида материала используется HBSO (horizon-based specular occlusion, модель Filament).

  • Карты нормалей.

  • Карты параллакса/рельефа с автоматическим определением уровня детализации в зависимости от расстояния.

  • Детальное отображение для карт альбедо и нормалей.

  • Подповерхностное рассеивание и пропускание.

  • Преломление пространства экрана с поддержкой шероховатости материала (приводит к размытому преломлению).

  • Затухание близости (мягкие частицы) и затухание расстояния.

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

  • Дизеринг может быть определен для каждого пикселя или объекта.

Освещение в режиме реальном времени:

  • Directional lights (sun/moon).

  • Omnidirectional lights.

  • Spot lights with adjustable cone angle and attenuation.

  • Rectangular area lights with an optional texture to determine the shape and color.

  • Значения отражаемости, непрямого света и мощности освещения объема могут быть изменены для каждого источника света.

  • Adjustable light "size" for spherical omni and disc spot lights (will also make shadows blurrier with variable penumbra).

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

  • При использовании программы Forward+ Рендер (по умолчанию на рабочем столе), источники света отображаются с кластерной оптимизацией для уменьшения их индивидуальной стоимости. Кластерный рендеринг также снимает любые ограничения на количество источников света, которые могут использоваться в сетке.

  • When using the Mobile renderer, up to 8 omni lights, 8 spot lights, and 8 area lights can be displayed per mesh resource. Baked lighting can be used to overcome this limit if needed.

Карта теней

  • DirectionalLight3D: Orthogonal (fastest), PSSM 2-split and 4-split. Supports blending between splits.

  • OmniLight3D: Dual paraboloid (fast) or cubemap (slower but more accurate). Supports colored projector textures in the form of panoramas.

  • SpotLight3D: Single texture. Supports colored projector textures.

  • AreaLight3D: Single texture with dual paraboloid distortion to approximate the light's shape.

  • Нормальное смещение тени и запекание теней используют, чтобы уменьшить количество видимых прыщей в тенях (shadow acne) и питер-пеннинга.

  • PCSS-like shadow blur based on the light size and distance from the surface the shadow is cast on. Supported for all light types.

  • Регулируемое размытие теней для каждого источника света.

Глобальное освещение с непрямым освещением:

  • Запечённые карты освещения (быстр, но не может быть обновлен во время выполнения).

    • Поддерживает запекание либо непрямого света, либо запекание прямого и непрямого света. Режим запекания можно регулировать для каждого источника света, что позволяет использовать гибридное запекание света.

    • Поддерживает освещение динамических объектов используя автоматические и ручные датчики.

    • Optionally supports directional lighting based on spherical harmonics.

    • Optionally supports baking a shadowmask for distant static directional shadows.

    • Optional supersampling at bake-time to improve quality and reduce light leaking at the cost of increased bake times and memory usage during baking.

    • Lightmaps are baked on the GPU using compute shaders (much faster than CPU lightmapping). Baking can only be performed from the editor, not in exported projects.

    • Supports GPU-based denoising with JNLM out of the box, or higher-quality CPU/GPU-based denoising with OIDN (requires downloading OIDN separately).

    • Lightmaps are rendered with bicubic filtering to reduce scaling artifacts.

  • 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.

  • Ограничитель значения шероховатости для уменьшения влияния отраженного алиасинга.

  • Регулирование яркости, контрастности и насыщенности.

Фильтрация текстур:

  • Ближайшая, билинейная, трилинейная или анизотропная фильтрация.

  • Фильтрация может быть определена для каждого пикселя или объекта.

Texture VRAM compression:

  • BPTC (for high-quality compression targeting desktop platforms).

  • ASTC (for high-quality compression targeting mobile platforms).

  • ETC2 (for fast compression targeting mobile platforms).

  • S3TC (for fast compression targeting desktop platforms).

  • Basis Universal (slow, but only requires one encoding for all platforms).

Сглаживание:

  • Временное сглаживание (TAA).

  • AMD FidelityFX Super Resolution 2.2 сглаживание (FSR2), может быть использован в родном разрешении как форма высококачественного временного сглаживания.

  • MSAA можно использовать как для 2D сглаживание, так и для 3D сглаживание.

  • Быстрое приблизительное сглаживание (FXAA).

  • Сверхвысокочастотное сглаживание (SSAA) с использованием билинейного 3D-масштабирования и увеличения масштаба 3D-разрешения выше 1.0.

  • Альфа-сглаживание, альфа-сглаживание MSAA для покрытия и альфа-хэширование на основе каждого материала.

Масштабирование разрешения:

  • Поддержка отрисовки 3D в более низком разрешении при сохранении 2D-рендеринга в исходном масштабе. Это может быть использовано для повышения производительности на низкопроизводительных системах или улучшения визуального восприятия на высокопроизводительных системах.

  • Resolution scaling uses nearest-neighbor filtering, bilinear filtering, AMD FidelityFX Super Resolution 1.0 (FSR1), or AMD FidelityFX Super Resolution 2.2.1 (FSR2).

  • Смещение (bias) LOD mip-карты текстуры автоматически настраивается для повышения качества на низких разрешениях. Оно также может быть изменено вручную.

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

3D инструменты

  • Встроенные сетки: куб, цилиндр/конус, (полу)сфера, призма, плоскость, четырёхугольник, тор, лента, труба.

  • GridMaps для 3D дизайна уровней на основе тайлов.

  • Конструктивная твердотельная геометрия (предназначена для прототипирования).

  • Инструменты для генерации процедурной геометрии.

  • Узел Path3D для представления пути в 3D пространстве.

    • Пути могут быть нарисованы в редакторе или сгенерированы процедурно.

    • Узел PathFollow3D, позволяющий узлам следовать по Path3D.

  • Вспомогательный класс 3D геометрии.

  • Поддержка экспорта текущей сцены в виде файла glTF 2.0 как из редактора, так и во время выполнения из экспортированного проекта.

3D физика

Физические тела:

  • Статические тела.

  • Анимируемые тела (для объектов, которые движутся только скриптом или анимацией, например, двери и платформы).

  • Твердые тела (rigid bodies).

  • Тела персонажей.

  • Тела транспортных средств (предназначается для аркадной физики, не симуляций).

  • Соединения.

  • Использование SoftBody3D.

  • Система Ragdoll.

  • Области для обнаружения входящих или выходящих тел.

  • Physics interpolation.

Обнаружение столкновений:

  • Встроенные формы: кубоид, сфера, капсула, цилиндр, граница мира (бесконечная плоскость).

  • Создание треугольных форм столкновения для любой сетки из редактора.

  • Создание одной или нескольких выпуклых форм столкновения для любой сетки из редактора.

Шейдеры

Написание скриптов

Общее:

  • Объектно-ориентированный шаблон проектирования со скриптами, расширяющими узлы.

  • Сигналы и группы для обмена данными между скриптами.

  • Поддержка межъязыкового написания скриптов.

  • Многие типы данных 2D, 3D и 4D линейной алгебры, такие как векторы и трансформации.

GDScript:

  • High-level interpreted language с optional static typing.

  • Синтаксис вдохновлен Python. Однако GDScript не основан на Python.

  • Syntax highlighting is provided on GitHub by using gdscript as the language name in a Markdown code block.

  • Применение потоков для выполнения асинхронных действий или использования нескольких процессорных ядер.

C#:

  • Упакован в отдельный двоичный файл для уменьшения размеров файлов и зависимостей.

  • Поддерживает .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.

  • Поддержка перенаправляемых аудио шин и эффектов с десятком внесённых изменений.

  • Support for polyphony (playing several sounds from a single AudioStreamPlayer node).

  • Поддержка случайной громкости и высоты звука.

  • Поддержка обработки высоты звука в реальном времени.

  • Поддержка последовательного/случайного отбора сэмплов, включая предотвращение повторов при использовании случайного отбора сэмплов.

  • AudioListener2D and AudioListener3D nodes to listen from a position different from the camera.

  • Поддержка процедурной генерации звука.

  • Аудиовход для записи микрофонов.

  • :ref:`Текст в речь <doc_text_to_speech>`с использованием предоставляемых платформой TTS механизмов.

  • MIDI вход.

    • Поддержки выхода MIDI пока нет.

Используемые API:

  • Windows: ДОМОЙ.

  • macOS: Основное аудио.

  • Linux: PulseAudio или ALSA.

Импорт

Форматы:

  • Изображения: Cмотреть Импорт изображений.

  • Аудио:

    • WAV with optional QOA or IMA-ADPCM compression.

    • 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.

Вход

  • Система сопоставления ввода с использованием жёстко запрограммированных событий ввода или переназначаемых действий ввода.

    • Значения осей могут быть сопоставлены с двумя различными действиями с настраиваемой мёртвой зоной.

    • Используйте один и тот же код для поддержки клавиатур и геймпадов.

  • Ввод клавиатуры.

    • Клавиши могут быть назначены в "физическом" режиме, для того, чтобы быть независимыми от раскладки клавиатуры.

  • Ввод мышью.

    • Курсор мыши может быть видимым, скрытым, фиксированным или ограниченным в пределах окна.

    • The mouse cursor's appearance can be changed to a custom image or one of the system cursors.

    • When captured, raw input is used on Windows and Linux to sidestep the OS' mouse acceleration settings.

  • Gamepad input (up to 8 simultaneous controllers).

  • Pen/tablet input with pressure and tilt support.

Сетевое взаимодействие

  • Низкоуровневое сетевое взаимодействие 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.

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

  • Support for pseudolocalization to test your project for i18n-friendliness.

Интеграция с окном и OS

  • Создание нескольких независимых окон в рамках одного процесса.

  • Перемещайте, изменяйте размер, минимизируйте и увеличивайте окно, созданное проектом.

  • Изменение заголовка и иконки окна.

  • Создание прозрачных окон для использования оверлея с поддержкой сквозной передачи курсора мыши на основе полигонов.

  • Запрос внимания (на большинстве платформ приведет к миганию шкал с надписями).

  • Полноэкранный режим.

    • По умолчанию в Windows используется полноэкранный режим без рамки для быстрого переключения по alt-табу, но при желании можно использовать эксклюзивный полноэкранный режим для уменьшения задержки ввода.

  • Окно без рамки (полноэкранное или не полноэкранное).

  • Всегда держите окно сверху.

  • Игнорировать фокус для окна (полезно для оверлеев).

  • Объявите окно всплывающим (скрытым от переключения задач) или эксклюзивным (предотвратит взаимодействие с другими окнами того же процесса).

  • Встроенных диалоговые окна для открытия файлов поддерживаются в Windows, macOS, Linux и Android.

  • Значки в системном трее поддерживаются в Windows и macOS.

  • Интеграция с глобальным меню в macOS.

  • Оформление элементов на стороне клиента в macOS.

  • Выполнять команды блокирующим или неблокирующим образом (включая запуск нескольких экземпляров одного и того же проекта).

  • Открытие пути к файлам и URL-адресам с использованием обработчиков протоколов по умолчанию или пользовательских протоколов (если они зарегистрированы в системе).

  • Анализ пользовательских аргументов командной строки.

  • Поддержка программ чтения с экрана поддерживается в Windows, macOS и Linux.

  • Любой бинарник Godot (редактор или экспортированный проект) может быть использован в качестве серверного приложения, если запустить его с аргументом командной строки --headless. Это позволяет запускать движок без отображения.

См. также

Информацию об использовании этих функций смотри в Использование Шрифтов.

Мобильные устройства

  • Virtual joystick and buttons for touch input.

  • In-app purchases on Android and iOS.

  • Поддержка рекламы с использованием сторонних модулей.

  • Support for picture-in-picture mode on Android.

Поддержка XR (AR и VR)

  • Из коробки поддержка OpenXR.

    • Включает поддержку популярных настольных гарнитур, таких как Valve Index, WMR гарнитуры и Quest over Link.

  • Поддержка Android-based headsets с использованием OpenXR через плагин.

    • Including support for popular standalone headsets like the Meta Quest 1/2/3 and Pro, Pico 4, Magic Leap 2, and Lynx R1.

  • Ограниченная поддержка гарнитур Apple на базе VisionOS «из коробки».

    • В настоящее время поддерживается только экспорт приложения для использования на плоской поверхности внутри гарнитуры. Эффект погружения не поддерживается.

  • Другие устройства, поддерживаемые через структуру плагинов XR.

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

Система графического интерфейса

Графический интерфейс Godot построен с использованием тех же узлов Control, что используются для создания игр в Godot. Пользовательский интерфейс редактора можно легко расширить многими способами с помощью аддонов.

Узлы:

  • Кнопки.

  • Флажки, кнопки-переключатели, переключатели.

  • Text entry using LineEdit (single line), TextEdit (multiple lines), and CodeEdit (supports syntax highlighting, line numbers, and more).

  • Dropdown menus using PopupMenu and OptionButton with support for an optional search bar.

  • Полосы прокрутки.

  • Ярлыки.

  • RichTextLabel для текста, отформатированного с использованием BBCode, с поддержкой анимированных пользовательских эффектов.

  • Деревья (также могут использоваться для представления таблиц).

  • Color picker with RGB, HSV, and OKHSL modes, as well as custom color palettes.

  • Элементы управления можно вращать и масштабировать.

  • Drag-and-drop support.

Изменение размера:

  • Якоря для удержания элементов графического интерфейса в определённом углу, краю или по центру.

  • Контейнеры для автоматического размещения элементов графического интерфейса (GUI).

  • Масштабирование до нескольких разрешений с помощью 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.