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

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

Примітка

Ця сторінка показує список особливостей які підтримує поточна, стабільна версія Godot(3.4). Більше особливостей доступні в останній версії (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.

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

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

Туман:

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

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

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

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

Частинки:

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

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

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

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

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

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

  • GLES3: Перепона навколишнього світу в екранному просторі.

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

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

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

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

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

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

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

  • 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, надані спільнотою.

Аудіо

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

  • Вихід моно, стерео, 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.