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

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

Примітка

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

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

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

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

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

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

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

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

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

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

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

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

  • Плагіни редактора можна завантажити з: ref: бібліотека активів <doc_what_is_assetlib> для розширення функціональності редактора.

  • Створіть власні плагіни за допомогою 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.

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

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

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

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

  • GLES3: Sub-surface scattering and transmittance.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Небо:

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

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

Туман:

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

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

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

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

Частинки:

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

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

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

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

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

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

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

  • GLES3: Optional debanding to avoid color banding (effective when HDR rendering is enabled).

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

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

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

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

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

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

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

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

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

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

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

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

  • Fast approximate antialiasing (FXAA).

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

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

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

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

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

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

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

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

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

3D фізика

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

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

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

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

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

  • Суглоби.

  • М'які тіла.

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

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

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

  • Built-in shapes: cuboid, sphere, capsule, cylinder.

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

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

Шейдери

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

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

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

  • Audio input to record microphones with real-time access using the AudioEffectCapture class.

  • 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 (тільки статичні сцени, можуть бути завантажені безпосередньо як меш (сітка)).

Вхід

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

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

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

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

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

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

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

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

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

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

  • Gamepad, keyboard and mouse input support are also available on 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-адрес за допомогою обробників протоколів за замовчуванням, або спеціальних (якщо вони зареєстровані в системі).

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

Мобільний

  • Покупки в додатках на Android та iOS.

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

  • Support for subview embedding on Android.

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

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

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

  • Популярні гарнітури VR, такі як Oculus Quest та HTC Vive, підтримуються завдяки плагінам.

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

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

Вузли:

  • Кнопки.

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

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

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

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

  • Мітки.

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

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

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

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

Розміри:

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

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

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

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

Теми:

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

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

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

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

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

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

Анімація

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

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

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

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

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

Формати

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

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

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

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

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

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

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

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

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

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

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

Різне

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

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

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

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

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

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

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

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

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

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

Дивись також

`Дорожня карта (план розробки)<https://github.com/godotengine/godot-roadmap> `__ репозиторій документації функцій, які були узгоджені і можуть бути реалізовані в майбутніх випусках Godot.