Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
lm3:ce:start [2020/11/12 19:41] admin |
lm3:ce:start [2020/12/08 20:14] (текущий) ruben |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ==== Документация по продукту Lambda-Mu Community Edition Version 3 ==== | ==== Документация по продукту Lambda-Mu Community Edition Version 3 ==== | ||
| + | |||
| + | ==== Туториалы ==== | ||
| + | |||
| + | Платформа Лямбда-Мю 3 + Android-приложение | ||
| + | * [[: | ||
| + | * [[: | ||
| + | * [[: | ||
| + | |||
| + | Платформа Лямбда-Мю 3 + Godot Engine | ||
| + | * [[: | ||
| + | * [[: | ||
| + | * [[: | ||
| + | |||
| + | Платформа Лямбда-Мю 3 + Unreal Engine | ||
| + | * [[: | ||
| + | |||
| === Технические характеристики === | === Технические характеристики === | ||
| Строка 20: | Строка 36: | ||
| List of features | List of features | ||
| - | ================ | + | |
| + | ====== | ||
| This page aims to list all features currently supported by Godot. | This page aims to list all features currently supported by Godot. | ||
| .. note:: | .. note:: | ||
| + | < | ||
| - | | + | |
| - | Godot (3.2). `More features < | + | Godot (3.2). `More features < |
| - | are available in the latest development version (4.0). | + | are available in the latest development version (4.0). |
| + | |||
| + | </ | ||
| Features | Features | ||
| - | -------- | + | |
| + | ---- | ||
| Platforms | Platforms | ||
| - | ^^^^^^^^^ | + | |
| + | | | ||
| **Can run both the editor and exported projects:** | **Can run both the editor and exported projects:** | ||
| - | - Windows 7 and later (64-bit and 32-bit). | + | - Windows 7 and later (64-bit and 32-bit). - macOS 10.12 and later (64-bit, x86 and ARM). - Linux (64-bit and 32-bit, x86 and ARM). |
| - | - macOS 10.12 and later (64-bit, x86 and ARM). | + | |
| - | - Linux (64-bit and 32-bit, x86 and ARM). | + | - Binaries are statically linked and can run on any distribution if compiled |
| + | |||
| + | on an old enough base distribution. | ||
| - | - Binaries are statically linked and can run on any distribution if compiled | + | - Official binaries are compiled on Ubuntu 14.04. |
| - | on an old enough base distribution. | + | |
| - | - Official binaries are compiled on Ubuntu 14.04. | + | |
| **Runs exported projects:** | **Runs exported projects:** | ||
| - | - Android 4.4 and later. | + | - Android 4.4 and later. - iOS 10.0 and later. - HTML5 via WebAssembly (Firefox, Chrome, Edge, Opera). - : |
| - | - iOS 10.0 and later. | + | |
| - | - HTML5 via WebAssembly (Firefox, Chrome, Edge, Opera). | + | |
| - | - : | + | |
| - | Godot aims to be as platform-independent as possible and can be ported to new | + | Godot aims to be as platform-independent as possible and can be ported to new platforms with relative ease. |
| - | platforms with relative ease. | + | |
| Editor | Editor | ||
| - | ^^^^^^ | + | |
| + | | | ||
| **Features: | **Features: | ||
| - | - Scene tree editor. | + | - Scene tree editor. - Script editor. - Support for : |
| - | - Script editor. | + | < |
| - | - Support for : | + | |
| - | Visual Studio Code or Vim. | + | Visual Studio Code or Vim. |
| + | |||
| + | </ | ||
| - GDScript : | - GDScript : | ||
| - | - No support for debugging in threads yet. | + | |
| - | - Performance monitoring tools. | + | |
| - | - Live script reloading. | + | |
| - | - Live scene editing. | + | |
| - | - Changes will reflect in the editor and will be kept after closing the running project. | + | - Performance monitoring tools. - Live script reloading. - Live scene editing. |
| + | |||
| + | | ||
| - Remote inspector. | - Remote inspector. | ||
| - | - Changes won't reflect in the editor and won't be kept after closing the running project. | + | |
| - Live camera replication. | - Live camera replication. | ||
| - | - Move the in-editor camera and see the result in the running project. | + | |
| - Use the editor in dozens of languages contributed by the community. | - Use the editor in dozens of languages contributed by the community. | ||
| Строка 87: | Строка 108: | ||
| - Editor plugins can be downloaded from the | - Editor plugins can be downloaded from the | ||
| - | | + | |
| - | - Create your own plugins using GDScript to add new features or speed up your workflow. | + | < |
| - | - Download projects from the asset library in the project manager and import them directly. | + | :ref:`asset library < |
| + | |||
| + | </ | ||
| + | |||
| + | - Create your own plugins using GDScript to add new features or speed up your workflow. - Download projects from the asset library in the project manager and import them directly. | ||
| 2D graphics | 2D graphics | ||
| - | ^^^^^^^^^^^ | + | |
| + | | | ||
| **Two renderers available: | **Two renderers available: | ||
| - OpenGL ES 3.0 renderer (uses OpenGL 3.3 on desktop platforms). | - OpenGL ES 3.0 renderer (uses OpenGL 3.3 on desktop platforms). | ||
| - | - High-end visuals. Recommended on desktop platforms. | + | |
| + | | ||
| - OpenGL ES 2.0 renderer (uses OpenGL 2.1 on desktop platforms). | - OpenGL ES 2.0 renderer (uses OpenGL 2.1 on desktop platforms). | ||
| - | - Recommended on mobile and Web platforms. | + | |
| + | | ||
| **Features: | **Features: | ||
| Строка 105: | Строка 134: | ||
| - Sprite, polygon and line rendering. | - Sprite, polygon and line rendering. | ||
| - | - High-level tools to draw lines and polygons such as Polygon2D and Line2D. | + | |
| - | - AnimatedSprite as a helper for creating animated sprites. | + | - AnimatedSprite as a helper for creating animated sprites. - Parallax layers. |
| - | - Parallax layers. | + | |
| - | - Pseudo-3D support by automatically duplicating a layer several times. | + | |
| - 2D lighting with normal maps. | - 2D lighting with normal maps. | ||
| - | - Hard or soft shadows. | + | |
| - Font rendering using bitmaps (BitmapFont) or rasterization using FreeType (DynamicFont). | - Font rendering using bitmaps (BitmapFont) or rasterization using FreeType (DynamicFont). | ||
| - | - Bitmap fonts can be exported using tools like BMFont. | + | |
| - | | + | - DynamicFont supports monochrome fonts as well as colored fonts. |
| - | | + | |
| - | - DynamicFont supports optional font outlines with adjustable width and color. | + | |
| - | - Support for font oversampling to keep fonts sharp at higher resolutions. | + | |
| - | - GPU-based particles with support for custom particle shaders. | + | Supported formats are TTF and OTF. |
| - | - CPU-based particles. | + | |
| + | - DynamicFont supports optional font outlines with adjustable width and color. | ||
| + | - Support for font oversampling to keep fonts sharp at higher resolutions. | ||
| + | |||
| + | - GPU-based particles with support for custom particle shaders. - CPU-based particles. | ||
| 2D tools | 2D tools | ||
| - | ^^^^^^^^ | ||
| - | - 2D camera with built-in smoothing and drag margins. | + | | |
| - | - Path2D node to represent a path in 2D space. | + | |
| - | - Can be drawn in the editor or generated procedurally. | + | - 2D camera with built-in smoothing and drag margins. - Path2D |
| - | - PathFollow2D | + | |
| - | - 2D geometry helper class. | + | - Can be drawn in the editor or generated procedurally. |
| - | - Line2D node to draw textured 2D lines. | + | - PathFollow2D node to make nodes follow a Path2D. |
| + | |||
| + | - 2D geometry helper class. - Line2D node to draw textured 2D lines. | ||
| 2D physics | 2D physics | ||
| - | ^^^^^^^^^^ | + | |
| + | | | ||
| **Physics bodies:** | **Physics bodies:** | ||
| - | - Static bodies. | + | - Static bodies. - Rigid bodies. - Kinematic bodies. - Joints. - Areas to detect bodies entering or leaving it. |
| - | - Rigid bodies. | + | |
| - | - Kinematic bodies. | + | |
| - | - Joints. | + | |
| - | - Areas to detect bodies entering or leaving it. | + | |
| **Collision detection: | **Collision detection: | ||
| - | - Built-in shapes: line, box, circle, capsule. | + | - Built-in shapes: line, box, circle, capsule. - Collision polygons (can be drawn manually or generated from a sprite in the editor). |
| - | - Collision polygons (can be drawn manually or generated from a sprite in the editor). | + | |
| 3D graphics | 3D graphics | ||
| - | ^^^^^^^^^^^ | + | |
| + | | | ||
| **Two renderers available: | **Two renderers available: | ||
| - OpenGL ES 3.0 renderer (uses OpenGL 3.3 on desktop platforms). | - OpenGL ES 3.0 renderer (uses OpenGL 3.3 on desktop platforms). | ||
| - | - High-end visuals. Recommended on desktop platforms. | + | |
| - | | + | |
| + | - HDR rendering with sRGB. | ||
| - OpenGL ES 2.0 renderer (uses OpenGL 2.1 on desktop platforms). | - OpenGL ES 2.0 renderer (uses OpenGL 2.1 on desktop platforms). | ||
| - | - Recommended on mobile and Web platforms. | + | |
| - | | + | |
| - | | + | - LDR rendering for greater compatibility. |
| - | | + | - Not all features are available. Features available only when using |
| + | |||
| + | the OpenGL ES 3.0 renderer are marked *GLES3* below. | ||
| **Camera:** | **Camera:** | ||
| Строка 175: | Строка 204: | ||
| **Physically-based rendering: | **Physically-based rendering: | ||
| - | - Follows the Disney PBR model. | + | - Follows the Disney PBR model. - Uses a roughness-metallic workflow with support for ORM textures. - Normal mapping. - *GLES3:* Parallax/ |
| - | - Uses a roughness-metallic workflow with support for ORM textures. | + | < |
| - | - Normal mapping. | + | |
| - | - *GLES3:* Parallax/ | + | the transparent pipeline. |
| - | - *GLES3:* Sub-surface scattering and transmittance. | + | |
| - | - *GLES3:* Proximity fade (soft particles). | + | </ |
| - | - Distance fade which can use alpha blending or dithering to avoid going through | + | |
| - | the transparent pipeline. | + | |
| - Dithering can be determined on a per-pixel or per-object basis. | - Dithering can be determined on a per-pixel or per-object basis. | ||
| **Real-time lighting:** | **Real-time lighting:** | ||
| - | - Directional lights (sun/moon). Up to 4 per scene. | + | - Directional lights (sun/moon). Up to 4 per scene. - Omnidirectional lights. - Spot lights with adjustable cone angle and attenuation. |
| - | - Omnidirectional lights. | + | |
| - | - Spot lights with adjustable cone angle and attenuation. | + | |
| **Shadow mapping:** | **Shadow mapping:** | ||
| - *DirectionalLight: | - *DirectionalLight: | ||
| - | | + | |
| + | < | ||
| + | Supports blending between splits. | ||
| + | |||
| + | </ | ||
| - *OmniLight: | - *OmniLight: | ||
| - | | + | |
| + | < | ||
| + | Supports colored projector textures in the form of panoramas. | ||
| + | |||
| + | </ | ||
| - *SpotLight: | - *SpotLight: | ||
| Строка 203: | Строка 239: | ||
| - Baked lightmaps (fast, but can't be updated at run-time). | - Baked lightmaps (fast, but can't be updated at run-time). | ||
| - | - Lightmaps are baked on the CPU. | + | |
| - *GLES3:* GI probes (slower, semi-real-time). Supports reflections. | - *GLES3:* GI probes (slower, semi-real-time). Supports reflections. | ||
| Строка 209: | Строка 245: | ||
| **Reflections: | **Reflections: | ||
| - | - *GLES3:* Voxel-based reflections (when using GI probes). | + | - *GLES3:* Voxel-based reflections (when using GI probes). - Fast baked reflections or slow real-time reflections using ReflectionProbe. |
| - | - Fast baked reflections or slow real-time reflections using ReflectionProbe. | + | |
| - | Parallax correction can optionally be enabled. | + | < |
| - | - *GLES3:* Screen-space reflections. | + | Parallax correction can optionally be enabled. |
| - | - Reflection techniques can be mixed together for greater accuracy. | + | |
| + | </ | ||
| + | |||
| + | - *GLES3:* Screen-space reflections. - Reflection techniques can be mixed together for greater accuracy. | ||
| **Sky:** | **Sky:** | ||
| - | - Panorama sky (using an HDRI). | + | - Panorama sky (using an HDRI). - Procedural sky. |
| - | - Procedural sky. | + | |
| **Fog:** | **Fog:** | ||
| - | - Depth fog with an adjustable attenuation curve. | + | - 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 |
| - | - Height fog (floor or ceiling) with adjustable attenuation. | + | |
| - | - Support for automatic depth fog color depending on the camera direction | + | < |
| - | (to match the sun color). | + | (to match the sun color). |
| + | |||
| + | </ | ||
| - Optional transmittance to make lights more visible in the fog. | - Optional transmittance to make lights more visible in the fog. | ||
| **Particles: | **Particles: | ||
| - | - *GLES3:* GPU-based particles with support for custom particle shaders. | + | - *GLES3:* GPU-based particles with support for custom particle shaders. - CPU-based particles. |
| - | - CPU-based particles. | + | |
| **Post-processing: | **Post-processing: | ||
| - | - Tonemapping (Linear, Reinhard, Filmic, ACES). | + | - 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: |
| - | - *GLES3:* Automatic exposure adjustments based on viewport brightness. | + | |
| - | - *GLES3:* Near and far depth of field. | + | < |
| - | - *GLES3:* Screen-space ambient occlusion. | + | Screen, Soft Light, Add, Replace. |
| - | - 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. | + | - Color correction using an one-dimensional ramp. - Brightness, contrast and saturation adjustments. |
| **Texture filtering: | **Texture filtering: | ||
| Строка 250: | Строка 290: | ||
| **Texture compression: | **Texture compression: | ||
| - | - *GLES3:* BPTC for high-quality compression (not supported on macOS). | + | - *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). |
| - | - *GLES3:* ETC2 (not supported on macOS). | + | |
| - | - ETC1 (recommended when using the GLES2 renderer). | + | |
| - | - *GLES3:* S3TC (not supported on mobile/Web platforms). | + | |
| **Anti-aliasing: | **Anti-aliasing: | ||
| Строка 259: | Строка 296: | ||
| - Multi-sample antialiasing (MSAA). | - Multi-sample antialiasing (MSAA). | ||
| - | Most of these effects can be adjusted for better performance or to further | + | 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. |
| - | improve quality. This can be helpful when using Godot for offline rendering. | + | |
| 3D tools | 3D tools | ||
| - | ^^^^^^^^ | ||
| - | - Built-in meshes: cube, cylinder/ | + | | |
| - | - Tools for : | + | |
| - | - : | + | |
| - | - Path3D node to represent a path in 3D space. | + | |
| - | - Can be drawn in the editor or generated procedurally. | + | - Built-in meshes: cube, cylinder/ |
| - | | + | |
| + | | ||
| + | - PathFollow3D node to make nodes follow a Path3D. | ||
| - 3D geometry helper class. | - 3D geometry helper class. | ||
| 3D physics | 3D physics | ||
| - | ^^^^^^^^^^ | + | |
| + | | | ||
| **Physics bodies:** | **Physics bodies:** | ||
| - | - Static bodies. | + | - Static bodies. - Rigid bodies. - Kinematic bodies. - Vehicle bodies (intended for arcade physics, not simulation). - Joints. - Soft bodies. - Ragdolls. - Areas to detect bodies entering or leaving it. |
| - | - Rigid 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: | **Collision detection: | ||
| - | - Built-in shapes: cuboid, sphere, capsule, cylinder (only with Bullet physics). | + | - 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. |
| - | - Generate triangle collision shapes for any mesh from the editor. | + | |
| - | - Generate one or several convex collision shapes for any mesh from the editor. | + | |
| Shaders | 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 < | + | |
| - | - Visual shader editor. | + | |
| - | - Support for visual shader plugins. | + | - *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 < |
| + | |||
| + | | ||
| Scripting | Scripting | ||
| - | ^^^^^^^^^ | + | |
| + | | | ||
| **General: | **General: | ||
| - | - Object-oriented design pattern with scripts extending nodes. | + | - Object-oriented design pattern with scripts extending nodes. - Signals and groups for communicating between scripts. - Support for : |
| - | - Signals and groups for communicating between scripts. | + | |
| - | - Support for : | + | |
| - | - Many 2D and 3D linear algebra data types such as vectors and transforms. | + | |
| : | : | ||
| - : | - : | ||
| - | | + | < |
| - | - Syntax inspired by Python. | + | |
| - | - Syntax highlighting is provided on GitHub. | + | : |
| - | - :ref:`Use threads < | + | |
| - | or make use of multiple processor cores. | + | </ |
| + | |||
| + | - Syntax inspired by Python. - Syntax highlighting is provided on GitHub. - :ref:`Use threads < | ||
| + | |||
| + | < | ||
| + | or make use of multiple processor cores. | ||
| + | |||
| + | </ | ||
| :ref:`C#: < | :ref:`C#: < | ||
| - | - Packaged in a separate binary to keep file sizes and dependencies down. | + | - Packaged in a separate binary to keep file sizes and dependencies down. - Uses Mono 6.x. |
| - | - Uses Mono 6.x. | + | |
| - | - Full support for the C# 7.0 syntax and features. | + | |
| - | - Supports all platforms. | + | - Supports all platforms. - Using an external editor is recommended to benefit from IDE functionality. |
| - | - Using an external editor is recommended to benefit from IDE functionality. | + | |
| : | : | ||
| - | - : | + | - : |
| - | - Works best when used for specific purposes (such as level-specific logic) | + | |
| - | rather than as a language to create entire projects. | + | |
| - | **GDNative (C, C++, Rust, D, ...):** | + | < |
| + | rather than as a language to create entire projects. | ||
| + | |||
| + | </ | ||
| + | |||
| + | **GDNative (C, C++, Rust, D, …):** | ||
| - When you need it, link to native libraries for higher performance and third-party integrations. | - 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++. | - 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. | - Maintained D, Kotlin, Python, Nim, and Rust bindings provided by the community. | ||
| Audio | Audio | ||
| - | ^^^^^ | + | |
| + | | | ||
| **Features: | **Features: | ||
| - | - Mono, stereo, 5.1 and 7.1 output. | + | - Mono, stereo, 5.1 and 7.1 output. - Non-positional and positional playback in 2D and 3D. |
| - | - Non-positional and positional playback in 2D and 3D. | + | |
| - | - Optional Doppler effect in 2D and 3D. | + | |
| - Support for re-routable :ref:`audio buses < | - Support for re-routable :ref:`audio buses < | ||
| - | 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. | + | 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. | ||
| + | |||
| + | | ||
| **APIs used:** | **APIs used:** | ||
| - | - *Windows:* WASAPI. | + | - *Windows:* WASAPI. - *macOS:* CoreAudio. - *Linux:* PulseAudio or ALSA. |
| - | - *macOS:* CoreAudio. | + | |
| - | - *Linux:* PulseAudio or ALSA. | + | |
| Import | Import | ||
| - | ^^^^^^ | + | |
| + | | | ||
| - Support for : | - Support for : | ||
| Строка 384: | Строка 417: | ||
| **Formats: | **Formats: | ||
| - | - *Images:* See : | + | - *Images:* See : |
| - | - *Audio:* | + | |
| - | - WAV with optional IMA-ADPCM compression. | + | |
| - | | + | - Ogg Vorbis. |
| - *3D scenes:* | - *3D scenes:* | ||
| - | - glTF 2.0 *(recommended)*. | + | |
| - | | + | - `ESCN <[[https:// |
| - | (direct export from Blender). | + | |
| - | - FBX (experimental). | + | |
| - | - Collada (.dae). | + | |
| - | - Wavefront OBJ (static scenes only, can be loaded directly as a mesh). | + | |
| - | Input | + | are available for Bash, zsh and fish. |
| - | ^^^^^ | + | |
| - | - Input mapping system using hardcoded input events or remappable input actions. | + | - Support for :ref:`C++ modules < |
| + | < | ||
| - | - Axis values can be mapped to two different actions with a configurable deadzone. | + | into the engine binary. |
| - | - Use the same code to support both keyboards and gamepads. | + | |
| - | - Keyboard input. | + | </ |
| - | - Keys can be mapped | + | - Engine and editor written |
| - | - Mouse input. | + | |
| - | - The mouse cursor can be visible, hidden, captured or confined within the window. | + | Clang and MSVC. MinGW is also supported. |
| - | - When captured, raw input will be used on Windows | + | |
| - | | + | |
| - | - Gamepad input (up to 8 simultaneous controllers). | + | |
| - | - Pen/tablet input with pressure support. | + | |
| - | Navigation | + | instead of the ones provided by Godot. The build system doesn' |
| - | ^^^^^^^^^^ | + | |
| - | - A* algorithm in 2D and 3D. | + | < |
| - | - Navigation meshes. | + | Builds can be fully reproducible. |
| - | | + | - Godot 4.0 will be written in C++17. |
| - | - Generate navigation meshes from the editor. | + | |
| - | Networking | + | </ |
| - | ^^^^^^^^^^ | + | |
| - | - Low-level TCP networking using StreamPeer and TCP_Server. | + | - Licensed under the permissive MIT license. |
| - | - 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. | + | .. seealso:: |
| - | + | ||
| - | - 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. | + | |
| - | + | ||
| - | Internationalization | + | |
| - | ^^^^^^^^^^^^^^^^^^^^ | + | |
| - | + | ||
| - | - Full support for Unicode including emoji. | + | |
| - | - Store localization strings using :ref:`CSV < | + | |
| - | or : | + | |
| - | - 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' | + | |
| - | 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 | + | < |
| - | ^^^^^^^^^^ | + | The `roadmap < |
| + | documents features that have been agreed upon and may be implemented in | ||
| + | future Godot releases. | ||
| - | 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 :ref:`text formatted using BBCode < | ||
| - | - Trees (can also be used to represent tables). | ||
| - | - Containers (horizontal, | ||
| - | - 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. | ||
| - | |||
| - | - :ref:`Stack < | ||
| - | - :ref:`Grid < | ||
| - | - : | ||
| - | | ||
| - | - : | ||
| - | |||
| - | - 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 : | ||
| - | |||
| - | - Supports rounded/ | ||
| - | |||
| - | - Texture-based theming using : | ||
| - | |||
| - | Godot' | ||
| - | like Electron or Qt. | ||
| - | |||
| - | Animation | ||
| - | ^^^^^^^^^ | ||
| - | |||
| - | - 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 formats are human-readable and more friendly to version control. | ||
| - | - Binary formats are faster to save/load for large scenes/ | ||
| - | |||
| - | - Read and write text or binary files using : | ||
| - | |||
| - | - Can optionally be compressed or encrypted. | ||
| - | |||
| - | - Read and write : | ||
| - | - Read and write INI-style configuration files using : | ||
| - | |||
| - | - Can (de)serialize any Godot datatype, including Vector, Color, ... | ||
| - | |||
| - | - Read XML files using : | ||
| - | - 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. | ||
| - | - : | ||
| - | by the engine to support mods and DLCs. | ||
| - | |||
| - | Miscellaneous | ||
| - | ^^^^^^^^^^^^^ | ||
| - | |||
| - | - : | ||
| - | 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 :ref:`C++ modules < | ||
| - | into the engine binary. | ||
| - | - Engine and editor written in C++03. | ||
| - | |||
| - | - Can be : | ||
| - | Clang and MSVC. MinGW is also supported. | ||
| - | - Friendly towards packagers. In most cases, system libraries can be used | ||
| - | | ||
| - | | ||
| - | - Godot 4.0 will be written in C++17. | ||
| - | |||
| - | - Licensed under the permissive MIT license. | ||
| - | |||
| - | - Open developement process with : | ||
| - | |||
| - | .. seealso:: | ||
| - | The `roadmap < | ||
| - | documents features that have been agreed upon and may be implemented in | ||
| - | future Godot releases. | ||