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 <https://godotengine.org/consoles/>`_.

Можливо запустити як редактор так і експортовані проєкти :

  • Windows (x86 і ARM, 64- і 32-розрядні).

  • macOS (x86 та ARM, тільки 64-розрядні).

  • Linux (x86 та ARM, 64 та 32-розрядні).

    • Бінарні файли статично пов’язані і можуть працювати на будь-якому дистрибутиві, якщо вони складені на досить старій базі.

    • Офіційні двійкові файли скомпільовані за допомогою Godot Engine buildroot, що дозволяє створювати двійкові файли, які працюють у звичайних дистрибутивах Linux.

  • Android (підтримка редактора є експериментальна).

  • Web browsers. Експериментальна в 4.0, рекомендується використовувати Godot 3.x для HTML5.

Примітка

Linux підтримує rv64 (RISC-V), ppc64 та ppc32 (PowerPC), а також loongarch64. Однак вам доведеться самостійно скомпілювати редактор для цієї платформи (а також експортувати шаблони), офіційних завантажень наразі немає. Інструкції з компіляції RISC-V можна знайти на сторінці Компіляція для Linux, *BSD.

Запускає експортовані проєкти:

  • iOS.

Godot прагне бути максимально незалежним від платформи і може бути відносно легко ported to new platforms.

Примітка

Проекти, написані на C# для Godot 4, наразі не можна експортувати на веб-платформу. Щоб використовувати C# на цій платформі, розгляньте Godot 3. Підтримка платформ Android та iOS доступна з Godot 4.2, але є експериментальною та some limitations apply.

Редактор

Особливості:

  • Дерево сцени.

  • Вбудований редактор скриптів.

  • Підтримка для external script editors наприклад, Visual Studio Code або Vim.

  • 'GDScript debugger.

    • Підтримка дебагінгу в потоках доступна з версії 4.2.

  • Візуальний профайлер із індикацією часу CPU та GPU для кожного кроку шкали візуалізації.

  • Інструменти моніторингу продуктивності, включаючи custom performance monitors.

  • Миттєве перезавантаженя скриптів.

  • Редагування сцени в реальному часі.

    • Зміни одразу відобразяться в редакторі і збережуться після закриття проєкту.

  • Дистанційний інспектор.

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

  • Реплікація камери в реальному часі.

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

  • Вбудована довідка для класів.

  • Використовуйте редактор на десятках мов, що надаються спільнотою.

Плагіни (додатки):

  • З asset library можна завантажити плагіни для розширення функціональності редактора.

  • Create your own plugins за допомогою GDScript, щоб додати нові функції, чи прискорити свою роботу.

  • Download projects from the asset library у Диспетчері проектів та імпортуйте їх напряму.

Рендеринг

Godot 4 містить три рендерери:

  • Вперед+. Найдосконаліший рендерер, який підходить лише для настільних платформ. Використовується за умовчанням на настільних платформах. Цей засіб візуалізації використовує Vulkan, Direct3D 12 або Metal як драйвер візуалізації, а також використовує серверну частину RenderingDevice.

  • Мобільний. Менше функцій, але швидше рендерить прості сцени. Підходить для мобільних і настільних платформ. Використовується за умовчанням на мобільних платформах. Цей засіб візуалізації використовує Vulkan, Direct3D 12 або Metal як драйвер візуалізації, а також використовує серверну частину RenderingDevice.

  • Сумісність, яку іноді називають GL Compatibility. Найменш просунутий рендерер, підходить для недорогих настільних і мобільних платформ. Використовується за умовчанням на веб-платформі. Цей рендерер використовує OpenGL як драйвер візуалізації.

Дивіться Огляд рендерерів для детального порівняння методів візуалізації.

2D графіка

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

    • Високорівневі інструменти для малювання ліній та полігонів, такі як class_Polygon2D та Line2D, з підтримкою текстурування.

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

  • Шари паралакса.

    • Підтримка псевдо-3D, з попереднім переглядом у редакторі.

  • 2D lighting з картами нормалей і дзеркальними картами.

    • Точкове (омні/спот) і спрямоване 2D світло.

    • Жорсткі або м'які тіні (регулюються для кожного світла окремо).

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

  • Вимальовування шрифтів за допомогою растрових зображень, растеризація за допомогою FreeType або багатоканальних знакових полів відстані (MSDF).

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

    • DynamicFont підтримує монохромні шрифти, а також кольорові шрифти (наприклад, емодзі). Підтримувані формати: TTF, OTF, WOFF1 та WOFF2.

    • Динамічні шрифти підтримують додаткові контури шрифту з регульованою шириною та кольором.

    • Динамічні шрифти підтримують змінні шрифти та функції OpenType, включаючи лігатури.

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

    • Динамічні шрифти підтримують передискретизацію, щоб зберегти чіткість шрифтів при високій роздільній здатності.

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

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

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

  • На основі GPU particles за підтримки custom particle shaders.

  • Частинки, що оброблюються CPU.

  • Необов'язково 2D HDR rendering для кращого світіння.

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

  • TileMaps для проектування 2D рівнів з плиток.

  • 2D-камера з вбудованими функціями згладжування та перетягування країв.

  • Path2D вузол для малювання шляху у 2d просторі.

    • Може бути намальовано в редакторі або згенеровано процедурно.

    • Вузол PathFollow2D, щоб змусити вузли рухатися по Path2D.

  • Допоміжний клас для роботи з 2D-геометрією.

2D фізика

Фізичні тіла:

  • Статичні тіла.

  • Тіла, які можна анімувати (для об’єктів, що рухаються лише за скриптом або анімацією, як-от двері та платформи).

  • Тверді тіла.

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

  • Суглоби.

  • Області для виявлення тіл, що входять в них, або виходять за межі цих областей.

Виявлення зіткнень:

  • Вбудовані форми: лінія, коробка, коло, капсула, межа світу (нескінченна площина).

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

3D графіка

  • HDR-рендеринг з sRGB.

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

  • Під час використання засобу візуалізації Forward+ для покращення продуктивності в складних сценах за рахунок зменшення вартості перерисовки використовується попередній проход глибини.

  • Затінення зі змінною швидкістю на підтримуваних графічних процесорах у Forward+ і Mobile.

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

  • Наслідує модель Disney PBR.

  • Підтримує режими розсіяного затінення Burley, Lambert, Lambert Wrap (half-Lambert) і Toon.

  • Підтримує режими дзеркального затінення Schlick-GGX, Toon та Disabled.

  • Використовує шорстко-металевий робочий процес із підтримкою ORM-текстур.

  • Використовує дзеркальну оклюзію горизонту (модель Filament) для покращення зовнішнього вигляду матеріалу.

  • Normal Map (Карта нормалей).

  • Мапування паралаксу/рельєфу з автоматичним рівнем деталізації залежно від відстані.

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

  • Підповерхневе розсіювання та пропускання.

  • Екранно-просторове заломлення з підтримкою шорсткості матеріалу (що призводить до розмитого заломлення).

  • Згасання поблизу (м'які частинки) і згасання на відстані.

  • Для згладжування відстані можна використовувати альфа-змішування або згладжування, щоб уникнути проходження через прозорий контур.

  • Дитеринг може бути визначено на рівні пікселів або окремих об'єктів.

Освітлення в режимі реального часу:

  • Спрямовувані джерела світла (сонце/місяць). До 4 на сцену.

  • Всебічне світло.

  • Точкове світло з регульованим кутом конуса і загасанням.

  • Енергію дзеркального, непрямого світла та об'ємного туману можна регулювати окремо для кожного джерела світла.

  • Регульований "розмір" світла для штучного освітлення області (також зробить тіні більш розмитими).

  • Додаткова система згасання віддаленого світла та тіней від нього, покращує продуктивність.

  • У разі використання засобу візуалізації Forward+ (за умовчанням на настільному комп’ютері) освітлювальні прилади візуалізуються з кластерною оптимізацією вперед, щоб зменшити їх окрему вартість. Кластерний рендеринг також скасовує будь-які обмеження на кількість джерел світла, які можна використовувати в сітці.

  • Під час використання Mobile Renderer можна відображати до 8 універсальних і 8 точкових світильників на ресурс сітки. Щоб подолати цю межу, якщо необхідно, можна використовувати запечене освітлення.

Карта затінень:

  • DirectionalLight (Спрямовуване світло): Ортогональний (найшвидший), PSSM 2-split та 4-split. Підтримується змішування між розщепленнями.

  • OmniLight (Всебічне світло): Подвійний параболід (швидкий), або кубічна карта (повільніша, але точніша). Підтримує кольорові текстури проєктора у вигляді панорам.

  • SpotLight: Окрема текстура. Підтримує кольорові текстури проектора.

  • Нормальне зміщення тіні та розбивання тіні, щоб зменшити кількість видимих тіньових дефектів і панорамування.

  • PCSS- схоже на розмиття тіні на основі розміру світла та відстані до поверхні, на яку відкидається тінь.

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

Глобальне освітлення з непрямим світлом:

  • Baked lightmaps (швидкий, але не може бути оновлений під час виконання).

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

    • Підтримує освітлення динамічних об'єктів за допомогою автоматичних і ручних зондів.

    • Додатково підтримує спрямоване освітлення та грубі відбиття на основі сферичних обертонів.

    • Карти світла запікаються на GPU за допомогою обчислювальних шейдерів (набагато швидше порівняно з картою освітлення CPU). Запікання можна виконувати лише з редактора, а не в експортованих проектах.

    • Підтримує denoising на основі GPU за допомогою JNLM або на основі CPU/GPU за допомогою OIDN.

  • Voxel-based GI probes. Підтримує динамічне світло і динамічні оклюдери, а також підтримує відображення. Потрібен швидкий етап запікання, який можна виконати в редакторі або під час виконання (зокрема з експортованого проекту).

  • Signed-distance field GI призначене для великих відкритих світів. Підтримує динамічне світло, але не динамічні оклюдери. Підтримує відображення. Випічка не потрібна.

  • Screen-space indirect lighting (SSIL) із половинною або повною роздільною здатністю. Повністю в реальному часі та підтримує будь-які джерела випромінюваного світла (включаючи декалі).

  • VoxelGI та SDFGI використовують відкладений прохід, щоб дозволити візуалізацію GI з половинною роздільною здатністю для покращення продуктивності (продовжуючи функціональну підтримку MSAA).

Відображення:

  • Відбиття на основі вокселів (при використанні зондів GI) і відбиття на основі SDF (при використанні SDF GI). Відображення на основі вокселів видно на прозорих поверхнях, тоді як грубі відображення на основі SDF видно на прозорих поверхнях.

  • Швидке запечене відображення, або повільне в реальному часі з використанням ReflectionProbe (Зонда Відображення). За бажання можна увімкнути параллаксну коробку корекції.

  • Відображення екранного простору з підтримкою шорсткості матеріалу.

  • Техніки відображення можна змішувати для більшої точності або масштабованості.

  • У разі використання засобу візуалізації Forward+ (за замовчуванням на настільному комп’ютері) зонди відображення візуалізуються з кластерною оптимізацією вперед, щоб зменшити їх окрему вартість. Кластерний рендеринг також скасовує будь-які обмеження на кількість зондів відбиття, які можна використовувати на сітці.

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

Наклейки:

  • Supports albedo, емісію, ORM, і карти нормалей.

  • Текстурні канали плавно накладаються на базовий матеріал із підтримкою звичайних/лише-ORM декалей.

  • Підтримка нормального вицвітання для вицвітання наклейки залежно від її кута падіння.

  • Не покладається на генерацію сітки під час виконання. Це означає, що наклейки можна використовувати на сітках зі складною оболонкою без погіршення продуктивності, навіть якщо наклейка пересувається в кожному кадрі.

  • Підтримка найближчої, білінійної, трилінійної або анізотропної фільтрації текстур (налаштовується глобально).

  • Додаткова система зникнення на відстані для зникнення віддалених наклейок, покращуючи продуктивність.

  • У разі використання засобу візуалізації Forward+ (за замовчуванням на настільному комп’ютері) наклейки візуалізуються з кластерною оптимізацією вперед, щоб зменшити їх окрему вартість. Кластерний рендеринг також скасовує будь-які обмеження на кількість декалів, які можна використовувати на сітці.

  • Під час використання мобільного засобу візуалізації можна відображати до 8 наклейок на ресурс сітки.

Небо:

  • Панорамне небо (з використанням HDRI).

  • Процедурне небо та фізичне небо, які реагують на направлене світло в сцені.

  • Підтримує custom sky shaders, які можна анімувати.

  • Карту яскравості, яка використовується для навколишнього та дзеркального світла, можна оновлювати в режимі реального часу залежно від вибраних параметрів якості.

Туман:

  • Глибокий туман.

  • Високий туман.

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

  • Підтримка розсіювання сонця в тумані.

  • Підтримка контролю того, наскільки візуалізація туману має впливати на небо, з окремими елементами керування для традиційного та об’ємного туману.

  • Підтримка ігнорування туману певними матеріалами.

Об'ємний туман:

  • Глобальний volumetric fog, який реагує на світло і тіні.

  • Об’ємний туман може враховувати непряме світло при використанні VoxelGI або SDFGI.

  • Вузли об'ємного туману, які можна розмістити, щоб додати туман у певні області (або вилучити туман із певних областей). Підтримувані форми включають коробку, еліпс, конус, циліндр і 3D-карти щільності на основі текстури.

  • Кожен об'єм туману може мати свій власний шейдер.

  • Може бути використаний разом зі звичайним туманом.

Частинки:

  • GPU графічні частинки з підтримкою під-емітерів (2D + 3D), шляхів (2D + 3D), атракторів та колізій (2D + 3D).

    • Підтримуються форми аттракторів 3D-частинок: коробка, сфера і 3D-векторні поля.

    • Підтримуються форми зіткнень 3D частинок: коробка, сфера, запечене підписане поле відстані і карта висот в реальному часі (підходить для ефектів погоди відкритого світу).

    • Зіткнення 2D частинок опрацьовується за допомогою позначеного поля відстані згенерованого в реальному часі на основі вузлів LightOccluder2D в сцені.

    • Для слідів можна використовувати вбудовані пласкі та об'ємні меші, або користувацькі меші зі скелетами.

    • Підтримка користувацьких шейдерів частинок з ручною емісією.

  • Частинки, що оброблюються CPU.

Пост-обробка:

  • Тональне відображення (Linear, Reinhard, Filmic, ACES, AgX).

  • Автоматичне регулювання експозиції на основі яскравості видошукача (і ручне перевизначення експозиції).

  • Ближня та дальня глибина різкості з регульованою імітацією боке (коробка, шестикутник, коло).

  • Екранно-просторова оклюзія навколишнього середовища (SSAO) при половинній або повній роздільній здатності.

  • Сяйво/цвітіння з додатковим бікубічним масштабуванням і кількома режимами накладання: Екран, М'яке світло, Додати, Замінити, Змішати.

  • Сяйво може мати кольорову текстуру карти бруду, створюючи ефект брудної лінзи.

  • Сяйво може бути used as a screen-space blur effect.

  • Корекція кольору за допомогою одновимірної рампи або 3D LUT-текстури.

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

  • Регулювання яскравості, контрасту та насиченості.

Фільтрування текстур:

  • Найближнє, білінійне, трилінійне та анізотропне фільтрування.

  • Параметри фільтрації визначаються на основі використання, а не на основі текстури.

Стиснення текстур:

  • Basis Universal (повільне, але в результаті файли менші).

  • BPTC для якісного стиснення (не підтримується на macOS).

  • ETC2 (не підтримується на macOS).

  • S3TC (не підтримується на мобільних/веб-платформах).

Згладжування:

  • Тимчасовий antialiasing (TAA).

  • antialiasing AMD FidelityFX Super Resolution 2.2 (FSR2), яке можна використовувати з нативною роздільною здатністю як форму високоякісного тимчасового згладжування.

  • Багатовибіркове згладжування (MSAA) як для 2D згладжування, так і для 3D згладжування.

  • Швидке приблизне згладжування (FXAA).

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

  • Альфа-згладжування, MSAA альфа та альфа-хешування для кожного матеріалу.

Масштабування роздільної здатності:

  • Підтримка для rendering 3D at a lower resolution зберігаючи 2D візуалізацію в початковому масштабі. Це можна використовувати для покращення продуктивності в системах низького класу або покращення візуальних ефектів у системах високого класу.

  • Масштабування роздільної здатності використовує білінійну фільтрацію, AMD FidelityFX Super Resolution 1.0 (FSR1), або AMD FidelityFX Super Resolution 2.2 (FSR2).

  • Зміщення LOD текстури mipmap регулюється автоматично для покращення якості при нижчих показниках роздільної здатності. Його також можна модифікувати ручним зміщенням.

Більшість ефектів, перелічених вище, можна налаштувати для кращої продуктивності або для подальшого покращення якості. Це може бути корисним у випадку using Godot for offline rendering.

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

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

  • GridMaps для проектування рівнів на основі 3D-плиток.

  • Constructive solid geometry (призначений для створення прототипів).

  • Інструменти для procedural geometry generation.

  • Вузол Path3D для зображення шляху в 3D просторі.

    • Може бути намальовано в редакторі або згенеровано процедурно.

    • Вузол PathFollow3D, щоб заставити вузли рухатися по Path3D.

  • Допоміжний клас для роботи з 3D-геометрією.

  • Підтримка експорту поточної сцени як файлу glTF 2.0 як з редактора, так і під час виконання з експортованого проекту.

3D фізика

Фізичні тіла:

  • Статичні тіла.

  • Тіла, які можна анімувати (для об’єктів, що рухаються лише за скриптом або анімацією, як-от двері та платформи).

  • Тверді тіла.

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

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

  • Суглоби.

  • М'які тіла.

  • Рагдолли.

  • Області для виявлення тіл, що входять в них, або виходять за межі цих областей.

Виявлення зіткнень:

  • Вбудовані форми: кубоїд, сфера, капсула, циліндр, межа світу (нескінченна площина).

  • Генерація трикутникових форм зіткнень для будь-якого меша (сітки) з редактора.

  • Створення одної, або кількох, опуклих форм зіткнення для будь-якого меша (сітки) з редактора.

Шейдери

  • 2D: Користувацькі вершинні, фрагментні та світлові шейдери.

  • 3D: Користувацькі вершинні, фрагментні, світлові та шейдери неба.

  • Текстові шейдери, що використовують shader language inspired by GLSL.

  • Візуальний редактор шейдерів.

Скрипти

Загальне:

  • Об'єктно-орієнтований шаблон проєктування зі скриптами, що розширюють вузли.

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

  • Підтримка для cross-language scripting.

  • Багато типів даних 2D, 3D і 4D лінійної алгебри, таких як вектори і перетворення.

GDScript:

  • High-level interpreted language з optional static typing.

  • Синтаксис, на який надихнув Python. Однак GDScript не оснований на Python.

  • Підсвітка синтаксису передбачена на GitHub.

  • Use threads для виконання асинхронних дій, або використання декількох ядер процесора.

C#:

  • Упаковано в окремий бінарний файл, щоб зменшити розміри файлів та залежності.

  • Підтримує .NET 8 і вище.

    • Повна підтримка синтаксису та функцій C# 12.0.

  • Підтримує Windows, Linux і macOS. Починаючи з Godot 4.2, також доступна експериментальна підтримка Android та iOS.

    • На платформі iOS підтримуються лише деякі архітектури: arm64.

    • Наразі веб-платформа не підтримується. Щоб використовувати C# на цій платформі розгляньте, натомість, Godot 3.

  • Рекомендується використовувати зовнішній редактор, щоб скористатися функціоналом IDE.

GDEрозширення (C, C++, Rust, D, ...):

  • Коли вам це потрібно, перейдіть за посиланням на власні бібліотеки для підвищення продуктивності та сторонніх інтеграцій.

    • Для написання скриптів ігрової логіки рекомендується GDScript, або C#, якщо їх продуктивність підходить.

  • Офіційні прив'язки GDExtension для C та C++.

    • Використовуйте, за своїм бажанням, будь-яку систему побудови та мовні функції.

  • Активно розробляються зв’язки GDExtension для зв’язків D, Swift та Rust, наданих спільнотою. (Деякі з цих прив’язок можуть бути експериментальними та не готовими до виробництва).

Аудіо

Особливості:

  • Вихід моно, стерео, 5.1 та 7.1.

  • Непозиційне та позиційне відтворення в 2D та 3D.

    • Необов'язковий ефект Доплера в 2D та 3D.

  • Підтримка перенаправлення audio buses і ефектів з десятками включених ефектів.

  • Підтримка поліфонії (відтворення декількох звуків з одного вузла AudioStreamPlayer).

  • Підтримка довільної гучності та висоти тону.

  • Підтримка масштабування висоти тону в реальному часі.

  • Підтримка послідовного/випадкового відбору вибірки, включаючи запобігання повторенню при використанні випадкової вибірки.

  • Вузли Listener2D та Listener3D для прослуховування з іншої позиції, ніж камера.

  • Підтримка для procedural audio generation.

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

  • Text to speech використовуючи механізми синтезу мовлення, що надаються платформою.

  • MIDI вхід.

    • Ще не підтримується вихід MIDI.

Використані API:

  • Windows: ВАСАПІ.

  • macOS: Аудіо ядро.

  • Linux: PulseAudio чи ALSA.

Імпорт

Формати:

  • Зображення: Дивіться Імпортування зображень.

  • Аудіо:

    • WAV з опціональним стисненням IMA-ADPCM.

    • Ogg Vorbis.

    • MP3.

  • 3D сцени: Дивіться Імпортування 3D сцен.

    • glTF 2.0 (рекомендовано).

    • .blend (шляхом прозорого виклику функції експорту glTF Blender'а).

    • FBX (шляхом прозорого виклику FBX2glTF).

    • Коллада (.dae).

    • Wavefront OBJ (тільки статичні сцени, можна завантажити безпосередньо як сітку або імпортувати як 3D-сцену).

  • Підтримка завантаження сцен glTF 2.0 під час виконання, у тому числі з експортованого проекту.

  • 3D меші використовують Mikktspace для генерації дотичних при імпорті, що забезпечує узгодженість з іншими 3D-застосунками, такими як Blender.

Введення

  • Input mapping system використання жорстко закодованих подій введення або дій введення, які можна переналаштувати.

    • Значення осей можуть бути зіставлені з двома різними діями з настроюваною мертвою зоною.

    • Використовуйте один і той же код для, як для клавіатур, так і для геймпадів.

  • Ввід з клавіатури.

    • Клавіші можна призначити у "фізичному" режимі, щоб вони не залежали від розкладки клавіатури.

  • Ввід з мишки.

    • Курсор миші може бути видимим, прихованим, захопленим або обмеженим у вікні.

    • При захопленні необроблений ввід буде використовуватися в Windows і Linux для обходу налаштувань прискорення мишки ОС.

  • Ввід з геймпаду (до 8 одночасних контролерів).

  • Ввід пера/планшета з підтримкою тиску.

Робота у мережі

  • Низькорівнева TCP-мережа з використанням class_StreamPeer та class_TCPServer.

  • Низькорівнева UDP-мережа з використанням class_PacketPeer та class_UDPServer.

  • Низькорівневі HTTP-запити з використанням HTTPClient.

  • Високорівневі HTTP-запити з використанням HTTPRequest.

    • Підтримка HTTPS прямо з коробки з використанням пов'язаних сертифікатів.

  • High-level multiplayer API з використанням UDP та ENet.

    • Автоматична реплікація за допомогою віддалених процедурних викликів (RPC).

    • Підтримує ненадійні, надійні та впорядковані трансфери.

  • WebSocket клієнт і сервер, доступний на всіх платформах.

  • WebRTC клієнт і сервер, доступний на всіх платформах.

  • Підтримка UPnP, щоб обійти вимогу переадресації портів при розміщенні сервера за NAT.

Інтернаціоналізація

  • Повна підтримка Unicode, включаючи емодзі.

  • Підтримка завантаження системних шрифтів у Windows, macOS та Linux.

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

  • Збереження рядків локалізації за допомогою CSV, або gettext.

    • Підтримка генерації gettext POT та PO файлів з редактора.

  • Використовуйте рядки локалізації у своєму проєкті автоматично в елементах графічного інтерфейсу, або за допомогою функції tr ().

  • Підтримка множинності та контекстів перекладу.

  • Підтримка bidirectional typesetting, формування тексту та локалізованих форм OpenType.

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

  • Підтримка псевдолокалізації для перевірки вашого проекту на дружність до i18n.

Робота з вікном та інтеграція ОС

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

  • Переміщення, зміна розміру, згортання та розгортання вікон, створених проектом.

  • Зміна заголовку та значка вікна.

  • Створюйте прозорі вікна для використання як накладок з підтримкою руху миші на основі полігонів.

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

  • Повноекранний режим.

    • За замовчуванням використовує повноекранний режим без полів у Windows для швидкого використання alt-вкладок, але за бажанням можна використовувати ексклюзивний повноекранний режим, щоб зменшити затримку введення.

  • Вікна без меж (повноекранні або неповноекранні).

  • Завжди тримайте вікно зверху.

  • Зробити так, щоб вікно ігнорувало фокус (корисно для накладень).

  • Оголосити вікно як спливаюче (приховане від перемикача завдань) або ексклюзивне (запобігає взаємодії з іншими вікнами того ж процесу).

  • Вбудована підтримка діалогових вікон файлів у Windows, macOS, Linux та Android.

  • Підтримка значків у треї у Windows та macOS.

  • Інтеграція глобального меню на macOS.

  • Декорації на стороні клієнта в macOS.

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

  • Відкривання шляхів до файлів та URL-адрес за допомогою обробників протоколів за замовчуванням, або спеціальних (якщо вони зареєстровані в системі).

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

  • Підтримка програм зчитування з екрана у Windows, macOS та Linux.

  • Будь-який двійковий файл Godot (редактор, або експортований проект) можна used as a headless server, запустивши його з аргументу командного рядка --headless. Це дозволяє запускати рушій без графічного процесора, або дисплейного сервера.

Дивись також

Див. Створення додатків для отримання детальної інформації про використання цих функцій.

Мобільний

  • In-app purchases on Android and iOS.

  • Підтримка реклами з використанням сторонніх модулів.

Підтримка XR (AR та VR)

  • З коробки support for OpenXR.

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

  • Підтримка для Android-based headsets за допомогою OpenXR через плагін.

    • Включаючи підтримку популярних автономних гарнітур, таких як Meta Quest 1/2/3 і Pro, Pico 4, Magic Leap 2 і Lynx R1.

  • Обмежена підтримка гарнітур Apple з visionOS "з коробки".

    • Наразі підтримується лише експорт програми для використання на плоскій поверхні всередині гарнітури. Імерсивні враження не підтримуються.

  • Інші пристрої підтримуються через структуру плагінів XR.

  • Доступні різні розширені набори інструментів, які реалізують загальні функції, необхідні для програм XR.

Система GUI (графічного інтерфейсу)

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

Вузли:

  • Кнопки.

  • Галочки (прапорці), перемикачі, радіокнопки.

  • Введення тексту за допомогою LineEdit (один рядок) і class_TextEdit (кілька рядків). TextEdit також підтримує функції редагування коду, такі як відображення номерів рядків та підсвічування синтаксису.

  • Випадаючі меню з використанням class_PopupMenu та class_OptionButton.

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

  • Мітки.

  • RichTextLabel для text formatted using BBCode, з підтримкою анімованих користувацьких ефектів.

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

  • Палітра кольорів з режимами RGB та HSV.

  • Елементи контролю можна повертати та масштабувати.

Розміри:

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

  • Контейнери для автоматичного розміщення елементів інтерфейсу за визначеними правилами.

    • Stack макети.

    • Grid макети.

    • Flow макетів (подібно до автообгортання тексту).

    • Margin, centered та aspect ratio макети.

    • Draggable splitter макети.

  • Масштабуйте до multiple resolutions за допомогою режимів розтягування canvas_items або viewport.

  • Підтримка будь-якого співвідношення сторін за допомогою якорів та аспекту розтягування expand.

Теми:

  • Вбудований редактор тем.

    • Створення тем на основі налаштувань поточної теми редактора.

  • Процедурні векторні теми за допомогою class_StyleBoxFlat.

    • Підтримка закруглених/скошених кутів, тіней та ширини меж та знебарвлення.

  • Теми на основі текстур за допомогою class_StyleBoxTexture.

Невеликий розмір дистрибутиву Godot робить його непоганою альтернативою для таких фреймворків, як Electron, чи Qt.

Анімація

  • Пряма кінематика та зворотна кінематика.

  • Підтримка будь-яких властивостей анімації із настроюваною інтерполяцією.

  • Підтримка методів виклику в анімаційних доріжках.

  • Підтримка відтворення звуків в анімаційних доріжках.

  • Підтримка кривих Безьє в анімації.

Формати файлів

  • Сцени та ресурси можна зберігати в text-based або двійкові формати.

    • Текстові формати зручні для читання та ще зручніші для контролю версій.

    • Бінарні формати швидше зберігаються/завантажуються для великих сцен/ресурсів.

  • Читання та запис текстових або бінарних файлів з використанням FileAccess.

    • За бажання можна стиснути, або зашифрувати.

  • Читання і запис файлів JSON.

  • Читання і запис конфігураційних файлів INI-стилю з допомогою ConfigFile.

    • Можливість (де)серіалізувати будь-який тип даних Godot, включаючи Vector2/3, Color, ...

  • Читання файлів XML з допомогою class_XMLParser.

  • Load and save images, audio/video, fonts and ZIP archives в експортованому проекті без необхідності проходити через систему імпорту Godot.

  • Пакування ігрових даних у файл PCK (власний формат, оптимізований для швидкого пошуку), у ZIP-архів, або безпосередньо у виконуваний файл для розповсюдження одного файлу.

  • Export additional PCK files які можуть бути прочитані движком для підтримки модів та DLC.

Різне

  • Video playback з вбудованою підтримкою Ogg Theora.

  • Movie Maker mode записувати відео з поточного проекту із синхронізованим звуком та ідеальним темпом кадрів.

  • Low-level access to servers що дозволяє обійти накладні витрати дерева сцен, коли це необхідно.

  • Command line interface для автоматизації.

    • Експорт та розгортання проєктів за допомогою платформ безперервної інтеграції.

    • Скрипти завершення доступні для Bash, zsh і fish.

    • Друкуйте кольоровий текст на стандартний вивід на всіх платформах за допомогою print_rich.

  • Редактор може detect features used in a project and create a compilation profile, який можна використовувати для створення менших бінарних файлів шаблонів експорту з вимкненими непотрібними функціями.

  • Підтримка C++ modules, статично прив'язаних до бінарного коду рушія.

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

  • Рушій та редактор написані на C++17.

    • Може бути compiled з допомогою GCC, Clang і MSVC. Також підтримується MinGW.

    • Дружелюбний до упаковщиків. У більшості випадків можна використовувати системні бібліотеки замість тих, які надає Godot. Система збірки нічого не завантажує. Збірки можуть бути повністю відтворюваними.

  • Ліцензовано відповідно до дозволу MIT.

Дивись також

У сховищі пропозицій Godot перелічено функції, які просить спільнота і які можуть бути реалізовані в майбутніх випусках Godot.