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

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

Примітка

Ця сторінка показує список особливостей які підтримує поточна, стабільна версія Godot(3.2)`Більше особливостей<https://docs.godotengine.org/en/latest/about/list_of_features.html>`__Наявні в найновішій версії(4.0).

Можливості

Платформи

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

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

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

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

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

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

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 supports optional font outlines with adjustable width and color.
    • Підтримка масштабування шрифтів для збереження їх чіткості при високій роздільній здатності.
  • GPU-based particles with support for custom particle shaders.

  • CPU-based particles.

2D tools

  • 2D camera with built-in smoothing and drag margins.

  • Path2D node to represent a path in 2D space.

    • Може бути намальовано в редакторі або згенеровано процедурно.
    • PathFollow2D node to make nodes follow a Path2D.
  • 2D geometry helper class.

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

2D physics

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

  • Static bodies.
  • Тверді тіла.
  • Kinematic bodies.
  • Joints.
  • Areas to detect bodies entering or leaving it.

Collision detection:

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

3D графіка

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

  • OpenGL ES 3.0 рендер (використовуйте OpenGL 3.3 на настільних платформах).
    • Високоякісні візуальні ефекти. Рекомендується на настільних платформах.
    • HDR рендер з sRGB.
  • Рендер з OpenGL Es 2.0 (використовує OpenGL 2.1 на настільних платформах).
    • Рекомендується на мобільних і веб-платформах.
    • LDR рендер для більшої сумісності.
    • Не всі функції доступні. Функції, доступні лише при використанні рендерера OpenGL ES 3.0, позначені нижче як * GLES3 *.

Camera:

  • Perspective, orthographic and frustum-offset cameras.

Physically-based rendering:

  • Наслідує PBR модель Діснея.
  • Uses a roughness-metallic workflow with support for ORM textures.
  • Normal Map (Карта нормалей).
  • GLES3: Parallax/relief mapping with automatic level of detail based on distance.
  • GLES3: Sub-surface scattering and transmittance.
  • GLES3: Proximity fade (soft particles).
  • Затухання з відстаню, яке може використовувати альфа-змішування або відтіняння, щоб уникнути проходження прозорого трубопроводу.
  • Дитеринг може бути визначено на рівні пікселів або окремих об'єктів.

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

  • Directional lights (sun/moon). Up to 4 per scene.
  • Всенаправлене світло.
  • Точкове світло з регульованим кутом конуса і загасанням.

Shadow mapping:

  • DirectionalLight: Orthogonal (fastest), PSSM 2-split and 4-split. Supports blending between splits.
  • OmniLight: Dual paraboloid (fast) or cubemap (slower but more accurate). Supports colored projector textures in the form of panoramas.
  • SpotLight: Single texture.

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

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

    • Карти освітлення запечені на CPU.
  • GLES3: GI probes (slower, semi-real-time). Supports reflections.

Reflections:

  • GLES3: Voxel-based reflections (when using GI probes).
  • Fast baked reflections or slow real-time reflections using ReflectionProbe. Parallax correction can optionally be enabled.
  • GLES3: Screen-space reflections.
  • Reflection techniques can be mixed together for greater accuracy.

Sky:

  • Panorama sky (using an HDRI).
  • Procedural sky.

Fog:

  • Depth fog with an adjustable attenuation curve.
  • Height fog (floor or ceiling) with adjustable attenuation.
  • Support for automatic depth fog color depending on the camera direction (to match the sun color).
  • Optional transmittance to make lights more visible in the fog.

Particles:

  • GLES3: GPU-based particles with support for custom particle shaders.
  • CPU-based particles.

Post-processing:

  • Tonemapping (Linear, Reinhard, Filmic, ACES).
  • GLES3: Automatic exposure adjustments based on viewport brightness.
  • GLES3: Near and far depth of field.
  • GLES3: Screen-space ambient occlusion.
  • Glow/bloom with optional bicubic upscaling and several blend modes available: Screen, Soft Light, Add, Replace.
  • Color correction using an one-dimensional ramp.
  • Brightness, contrast and saturation adjustments.

Texture filtering:

  • Nearest, bilinear, trilinear or anisotropic filtering.

Texture compression:

  • GLES3: BPTC for high-quality compression (not supported on macOS).
  • GLES3: ETC2 (not supported on macOS).
  • ETC1 (recommended when using the GLES2 renderer).
  • GLES3: S3TC (not supported on mobile/Web platforms).

Anti-aliasing:

  • Multi-sample antialiasing (MSAA).

Most of these effects can be adjusted for better performance or to further improve quality. This can be helpful when using Godot for offline rendering.

3D tools

  • Built-in meshes: cube, cylinder/cone, (hemi)sphere, prism, plane, quad.

  • Tools for procedural geometry generation.

  • Constructive solid geometry (intended for prototyping).

  • Path3D node to represent a path in 3D space.

    • Може бути намальовано в редакторі або згенеровано процедурно.
    • PathFollow3D node to make nodes follow a Path3D.
  • 3D geometry helper class.

3D physics

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

  • Static bodies.
  • Тверді тіла.
  • Kinematic bodies.
  • Vehicle bodies (intended for arcade physics, not simulation).
  • Joints.
  • Soft bodies.
  • Ragdolls.
  • Areas to detect bodies entering or leaving it.

Collision detection:

  • Built-in shapes: cuboid, sphere, capsule, cylinder (only with Bullet physics).
  • Generate triangle collision shapes for any mesh from the editor.
  • Generate one or several convex collision shapes for any mesh from the editor.

Shaders

  • 2D: Custom vertex, fragment, and light shaders.

  • 3D: Custom vertex, fragment, light, and sky shaders.

  • Text-based shaders using a shader language inspired by GLSL <doc_shading_language>.

  • Visual shader editor.

    • Support for visual shader plugins.

Скриптинґ

General:

  • Object-oriented design pattern with scripts extending nodes.
  • Signals and groups for communicating between scripts.
  • Support for cross-language scripting.
  • Many 2D and 3D linear algebra data types such as vectors and transforms.

GDScript:

C#:

  • Packaged in a separate binary to keep file sizes and dependencies down.

  • Uses Mono 6.x.

    • Full support for the C# 7.0 syntax and features.
  • Supports all platforms.

  • Using an external editor is recommended to benefit from IDE functionality.

VisualScript:

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

  • When you need it, link to native libraries for higher performance and third-party integrations.

    • For scripting game logic, GDScript or C# are recommended if their performance is suitable.
  • Official bindings for C and C++.

    • Use any build system and language features you wish.
  • Maintained D, Kotlin, Python, Nim, and Rust bindings provided by the community.

Аудіо

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

  • Mono, stereo, 5.1 and 7.1 output.

  • Non-positional and positional playback in 2D and 3D.

    • Optional Doppler effect in 2D and 3D.
  • Support for re-routable audio buses and effects with dozens of effects included.

  • Listener3D node to listen from a position different than the camera in 3D.

  • Audio input to record microphones.

  • MIDI input.

    • No support for MIDI output yet.

APIs used:

  • Windows: WASAPI.
  • macOS: CoreAudio.
  • Linux: PulseAudio or ALSA.

Імпортувати

Formats:

  • Images: See Імпортування зображень.

  • Audio:

    • WAV with optional IMA-ADPCM compression.
    • Ogg Vorbis.
  • 3D scenes:

    • glTF 2.0 (recommended).
    • ESCN (direct export from Blender).
    • FBX (experimental).
    • Collada (.dae).
    • Wavefront OBJ (static scenes only, can be loaded directly as a mesh).

Вхідні дані

  • Input mapping system using hardcoded input events or remappable input actions.

    • Axis values can be mapped to two different actions with a configurable deadzone.
    • Use the same code to support both keyboards and gamepads.
  • Keyboard input.

    • Keys can be mapped in "physical" mode to be independent of the keyboard layout.
  • Mouse input.

    • The mouse cursor can be visible, hidden, captured or confined within the window.
    • When captured, raw input will be used on Windows and Linux to sidestep the OS' mouse acceleration settings.
  • Gamepad input (up to 8 simultaneous controllers).

  • Pen/tablet input with pressure support.

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

  • Low-level TCP networking using StreamPeer and TCP_Server.

  • Low-level UDP networking using PacketPeer and UDPServer.

  • Low-level HTTP requests using HTTPClient.

  • High-level HTTP requests using HTTPRequest.

    • Supports HTTPS out of the box using bundled certificates.
  • High-level multiplayer API using UDP and ENet.

    • Automatic replication using remote procedure calls (RPCs).
    • Supports unreliable, reliable and ordered transfers.
  • WebSocket client and server, available on all platforms.

  • WebRTC client and server, available on all platforms.

  • Support for UPnP to sidestep the requirement to forward ports when hosting a server behind a NAT.

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

  • Full support for Unicode including emoji.
  • Store localization strings using CSV or gettext.
  • Use localized strings in your project automatically in GUI elements or by using the tr() function.
  • Support for right-to-left typesetting and text shaping planned in Godot 4.0.

Windowing and OS integration

  • Move, resize, minimize, and maximize the window spawned by the project.

  • Change the window title and icon.

  • Request attention (will cause the title bar to blink on most platforms).

  • Fullscreen mode.

    • Doesn't use exclusive fullscreen, so the screen resolution can't be changed this way. Use a Viewport with a different resolution instead.
  • Borderless window (fullscreen or non-fullscreen).

  • Ability to keep the window always on top.

  • Transparent window with per-pixel transparency.

  • Global menu integration on macOS.

  • Execute commands in a blocking or non-blocking manner.

  • Open file paths and URLs using default or custom protocol handlers (if registered on the system).

  • Parse custom command line arguments.

Mobile

  • In-app purchases on Android and iOS.
  • Support for advertisements using third-party modules.

XR support (AR and VR)

  • Support for ARKit on iOS out of the box.
  • Support for the OpenXR and OpenVR APIs.
  • Popular VR headsets like the Oculus Quest and HTC Vive are supported thanks to plugins.

GUI system

Godot's GUI is built using the same Control nodes used to make games in Godot. The editor UI can easily be extended in many ways using add-ons.

Nodes:

  • Buttons.
  • Checkboxes, check buttons, radio buttons.
  • Text entry using LineEdit (single line) and TextEdit (multiple lines).
  • Dropdown menus using PopupMenu and OptionButton.
  • Scrollbars.
  • Labels.
  • RichTextLabel for text formatted using BBCode.
  • Trees (can also be used to represent tables).
  • Containers (horizontal, vertical, grid, center, margin, draggable splitter, ...).
  • Controls can be rotated and scaled.

Sizing:

  • Anchors to keep GUI elements in a specific corner, edge or centered.

  • Containers to place GUI elements automatically following certain rules.

  • Scale to multiple resolutions using the 2d or viewport stretch modes.

  • Support any aspect ratio using anchors and the expand stretch aspect.

Theming:

  • Built-in theme editor.

    • Generate a theme based on the current editor theme settings.
  • Procedural vector-based theming using StyleBoxFlat.

    • Supports rounded/beveled corners, drop shadows and per-border widths.
  • Texture-based theming using StyleBoxTexture.

Godot's small distribution size can make it a suitable alternative to frameworks like Electron or Qt.

Анімація

  • Direct kinematics and inverse kinematics.
  • Support for animating any property with customizable interpolation.
  • Support for calling methods in animation tracks.
  • Support for playing sounds in animation tracks.
  • Support for Bézier curves in animation.

Formats

  • Scenes and resources can be saved in text-based or binary formats.

    • Text-based formats are human-readable and more friendly to version control.
    • Binary formats are faster to save/load for large scenes/resources.
  • Read and write text or binary files using File.

    • Can optionally be compressed or encrypted.
  • Read and write JSON files.

  • Read and write INI-style configuration files using ConfigFile.

    • Can (de)serialize any Godot datatype, including Vector, Color, ...
  • Read XML files using XMLParser.

  • Pack game data into a PCK file (custom format optimized for fast seeking), into a ZIP archive, or directly into the executable for single-file distribution.

  • Export additional PCK files that can be read by the engine to support mods and DLCs.

Різне

  • Low-level access to servers which allows bypassing the scene tree's overhead when needed.

  • Command line interface for automation.

    • Export and deploy projects using continuous integration platforms.
    • Completion scripts are available for Bash, zsh and fish.
  • Support for C++ modules statically linked into the engine binary.

  • Engine and editor written in C++03.

    • Can be compiled using GCC, Clang and MSVC. MinGW is also supported.
    • Friendly towards packagers. In most cases, system libraries can be used instead of the ones provided by Godot. The build system doesn't download anything. Builds can be fully reproducible.
    • Godot 4.0 will be written in C++17.
  • Licensed under the permissive MIT license.

Дивись також

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