Список особливостей

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

Примітка

Ця сторінка показує список особливостей які підтримує поточна, стабільна версія Godot(3.5). Більше особливостей доступні в останній версії розробки (4.0).

Можливості

Платформи

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

  • Windows 7 або новіша (64-біт або 32-біт).

  • macOS 10.12 або новіша (64-біт, x86 і ARM).

  • Linux (64-бітна та 32-бітна, x86 та ARM).

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

    • Офіційні двійкові файли скомпільовані на Ubuntu 14.04.

  • HTML5 через WebAssembly (Firefox, Chrome, Edge, Opera).

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

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

Редактор

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

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

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

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

  • GDScript зневаджувач.

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

  • Інструменти для контролю продуктивності.

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

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

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

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

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

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

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

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

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

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

2D графіка

** Доступно два рендери:**

  • OpenGL ES 3.0 рендер (використовуйте OpenGL 3.3 на настільних платформах).

    • Високоякісні візуальні ефекти. Рекомендується на настільних платформах.

  • Рендер з OpenGL Es 2.0 (використовує OpenGL 2.1 на настільних платформах).

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

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

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

    • Інструменти високого рівня для малювання ліній та багатокутників, таких як Polygon2D та Line2D.

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

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

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

  • 2D освітлення з картами нормалей.

    • Різкі або м'які тіні.

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

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

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

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

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

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

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

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

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

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

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

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

  • Клас, що допомагає з 2d геометрією.

  • Line2D вузол для малювання текстурованих 2d ліній.

2D фізика

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

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

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

  • Кінематичні тіла.

  • Суглоби.

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

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

  • Вбудовані фігури: лінія, квадрат, коло, капсула.

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

3D графіка

** Доступно два рендери:**

  • OpenGL ES 3.0 рендер (використовуйте OpenGL 3.3 на настільних платформах).

    • Високоякісні візуальні ефекти. Рекомендується на настільних платформах.

    • Додатковий рендеринг HDR з sRGB (увімкнений за замовчуванням).

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

  • Рендер з OpenGL Es 2.0 (використовує OpenGL 2.1 на настільних платформах).

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

    • LDR рендер для більшої сумісності.

    • Не всі функції доступні. Функції, доступні лише при використанні рендерера OpenGL ES 3.0, позначені нижче як * GLES3 *.

Камера:

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

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

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

  • Підтримує режими дифузних шейдерів Lambert, Lambert Wrap (наполовину-Lambert), Oren-Nayar та Toon.

  • Підтримує режими дзеркальних шейдерів Schlick-GGX, Blinn, Phong, Toon та Disabled (Вимкнений).

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

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

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

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

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

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

  • GLES3: Parallax/relief mapping with automatic level of detail based on distance.

  • GLES3: Sub-surface scattering and transmittance.

  • GLES3: Заломлення з підтримкою шорсткості матеріалу (в результаті розмитого заломлення). На GLES2 заломлення працює, але не має підтримки для шорсткості матеріалу.

  • GLES3: Ближнє затухання (м'які частинки).

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

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

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

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

  • Енергію відбивання можна регулювати для кожного світла окремо.

  • GLES3: Освітлення використовує однопрохідний підхід. За замовчуванням на ресурс меша може падати світло від 32 навсібічних світил і 32 точкових. При необхідності цю межу можна збільшити за рахунок збільшення часу компіляції шейдера і зниження продуктивності. GLES2 використовує мультипрохідний підхід до освітлення, який не має обмежень на кількість світла, але повільнішає зі збільшенням кількісті джерел світла.

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

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

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

  • SpotLight (Точкове світло): Одна текстура.

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

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

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

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

    • Карти освітлення запечені на CPU.

  • GLES3: Зонди GI (повільні, в режимі напівреального часу). Підтримує відображення.

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

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

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

  • GLES3: Відображення на основі вокселів (при використанні зондів GI).

  • GLES3: Відображення в просторі екрана.

Небо:

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

  • Процедурне небо.

Туман:

  • Глибина тумана з регульованою кривою затухання.

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

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

  • Необов’язковий коефіцієнт пропускання, щоб зробити світло помітнішим у тумані.

Частинки:

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

  • GLES3: Частинки на основі GPU (графічного процесора) з підтримкою користувацьких шейдерів частинок.

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

  • Замалювання (Linear, Reinhard, Filmic, ACES).

  • Світіння/блум c можливим збільшенням роздільної здатності та декількома доступними режимами змішування: Screen (Екран), Soft Light (М'яке світло), Add (Додати), Replace (Замінити).

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

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

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

  • GLES3: Близька і дальня глибина різкості.

  • GLES3: Screen-space ambient occlusion (SSAO).

  • GLES3: Додаткове видалення смуг для уникнення кольорових смуг (діє, коли ввімкнено рендеринг HDR).

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

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

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

  • WebP без втрат, або з втратами (не зберігає VRAM; лише зменшує розмір сховища).

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

  • ETC1 (рекомендується при використанні рендера GLES2).

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

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

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

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

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

Продуктивність:

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

  • Форми оклюдерів у реальному часі (сфери чи полігони). Не такі ефективні, як кімнати та портали (і не підтримують сповіщення про геймплей), але простіші в налаштуванні.

Примітка

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

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

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

  • Інструменти для генерації процедурної геометрії.

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

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

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

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

  • Допоміжний клас 3D-геометрії.

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

3D фізика

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

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

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

  • Кінематичні тіла.

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

  • Суглоби.

  • М'які тіла.

  • Система Ragdolls ("rag" - ганчірка, "doll" - лялька).

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

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

  • Вбудовані форми: куб, куля, капсула, циліндр.

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

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

Шейдери

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

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

  • Текстові шейдери, що використовують мову шейдерів, на зразок GLSL.

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

    • Підтримка плагінів візуальних шейдерів.

Скриптинґ

Загальне:

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

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

  • Підтримка багатомовних скриптів.

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

GDScript:

C#:

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

  • Використовує Mono 6.x.

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

  • Підтримує всі платформи.

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

VisualScript:

GDNative (C, C++, Rust, D, ...):

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

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

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

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

  • Підтримуються прив’язки D, Kotlin, Python, Nim та Rust, надані спільнотою.

Попередження

«З Godot 4.0 буде повністю видалене ядро VisualScript. <https://godotengine.org/article/godot-4-will-discontinue-visual-scripting>`__ Тому не рекомендується створювати нові проекти за допомогою візуальних скриптів у Godot. У майбутніх випусках Godot 4.x VisualScript може бути повторно реалізований як розширення.

Хоча Godot 3.x підтримуватиме VisualScript, ми рекомендуємо спробувати GDScript, особливо якщо ви маєте намір перенести свій проект на Godot 4.

Аудіо

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

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

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

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

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

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

  • Аудіо вхід для запису мікрофонів з доступом в реальному часі за допомогою класу AudioEffectCapture.

  • MIDI вхід.

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

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

  • Windows: WASAPI.

  • macOS: CoreAudio.

  • Linux: PulseAudio чи ALSA.

Імпорт

Формати:

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

  • Аудіо:

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

    • Ogg Vorbis.

    • MP3.

  • 3D сцени:

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

    • ESCN (прямий експорт з Blender).

    • FBX (експериментально, тільки для статичних мешів).

    • Collada (.dae).

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

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

Введення

  • Система вводу використовує жорстко запрограмовані ввідні події, або змінні ввідні дії.

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

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

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

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

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

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

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

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

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

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

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

  • Низькорівненва мережа TCP використовуюча StreamPeer і TCP_Server.

  • Низькорівнева мережа UDP використовуюча PacketPeer і UDPServer.

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

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

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

  • Багатокористувацький високорівневий API з використанням UDP і ENet.

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

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

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

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

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

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

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

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

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

  • Підтримка набору тексту справа наліво та формування тексту, заплановано в Godot 4.0.

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

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

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

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

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

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

  • Вікно без полів (повноекранне, чи не повноекранне).

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

  • Прозоре вікно з попіксельною прозорістю.

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

  • Виконання команд блокуючим, чи не блокуючим способом.

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

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

  • Headless/server binaries можна завантажити для Linux і :ref:` скомпілювати для macOS <doc_compiling_for_osx>`. Будь-який двійковий файл (бінарник) можна використовувати без вікна за допомогою аргументу командного рядка --no-window.

Мобільний

  • Покупки в застосунку на Android та iOS.

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

  • Підтримка вбудовування підвиду на Android.

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

  • Підтримка ARKit на iOS із коробки.

  • Підтримка API OpenXR та OpenVR.

    • Включає підтримку популярних гарнітур, таких як Meta Quest і Valve Index.

  • Підтримка API OpenXR та OpenVR.

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

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

Вузли:

  • Кнопки.

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

  • Введення тексту з допомогою LineEdit (один рядок) і TextEdit (багато рядків).

  • Спливаючі меню з допомогою PopupMenu і OptionButton.

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

  • Мітки.

  • RichTextLabel для текста відформатованого з допомогою BBCode.

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

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

  • Контейнери (горизонтальні, вертикальні, сітка, потік, центр, поле, співвідношення сторін, перетягуваний сплітер (дільник), ...).

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

Розміри:

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

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

  • Масштабування до кількох роздільних здатностей з допомогою 2d, або viewport, режимів розтягування.

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

Теми:

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

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

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

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

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

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

Анімація

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

  • Вузол Tween для легкого виконання процедурної анімації за кодом.

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

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

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

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

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

  • Сцени і ресурси можуть бути збережені в текстових, або бінарних форматах.

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

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

  • Читання та запис текстових, або двійкових, файлів за допомогою File.

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

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

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

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

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

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

  • Експорт додаткових файлів PCK, що можуть читатися редактором для підтримки модів та доповнень (DLC).

Різне

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

  • Інтерфейс командного рядка для автоматизації.

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

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

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

  • Движок і редактор написані в C++03.

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

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

    • Godot 4.0 буде написаний на C++17.

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

Дивись також

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