Платформа Лямбда-Мю 3 + Android-приложение
Платформа Лямбда-Мю 3 + Godot Engine
Платформа Лямбда-Мю 3 + Unreal Engine
.. _doc_list_of_features:
List of features
This page aims to list all features currently supported by Godot.
.. note::
This page lists features supported by the current stable version of Godot (3.2). `More features <https://docs.godotengine.org/en/latest/about/list_of_features.html>`__ are available in the latest development version (4.0).
Features
Platforms
Can run both the editor and exported projects:
- 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).
on an old enough base distribution.
Runs exported projects:
- Android 4.4 and later. - iOS 10.0 and later. - HTML5 via WebAssembly (Firefox, Chrome, Edge, Opera). - :ref:`Consoles <doc_consoles>`.
Godot aims to be as platform-independent as possible and can be ported to new platforms with relative ease.
Editor
Features:
- Scene tree editor. - Script editor. - Support for :ref:`external script editors <doc_external_editor>` such as
Visual Studio Code or Vim.
- GDScript :ref:`debugger <doc_debugger_panel>`.
- Performance monitoring tools. - Live script reloading. - Live scene editing.
- Remote inspector.
- Live camera replication.
- Use the editor in dozens of languages contributed by the community.
Plugins:
- Editor plugins can be downloaded from the
:ref:`asset library <doc_what_is_assetlib>` to extend editor functionality.
- 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
Two renderers available:
- OpenGL ES 3.0 renderer (uses OpenGL 3.3 on desktop platforms).
- OpenGL ES 2.0 renderer (uses OpenGL 2.1 on desktop platforms).
Features:
- Sprite, polygon and line rendering.
- AnimatedSprite as a helper for creating animated sprites. - Parallax layers.
- 2D lighting with normal maps.
- Font rendering using bitmaps (BitmapFont) or rasterization using FreeType (DynamicFont).
Supported formats are TTF and OTF.
- 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.
- 2D geometry helper class. - Line2D node to draw textured 2D lines.
2D physics
Physics bodies:
- Static bodies. - Rigid bodies. - Kinematic bodies. - Joints. - Areas to detect bodies entering or leaving it.
Collision detection:
- Built-in shapes: line, box, circle, capsule. - Collision polygons (can be drawn manually or generated from a sprite in the editor).
3D graphics
Two renderers available:
- OpenGL ES 3.0 renderer (uses OpenGL 3.3 on desktop platforms).
- OpenGL ES 2.0 renderer (uses OpenGL 2.1 on desktop platforms).
the OpenGL ES 3.0 renderer are marked *GLES3* below.
Camera:
- Perspective, orthographic and frustum-offset cameras.
Physically-based rendering:
- Follows the Disney PBR model. - Uses a roughness-metallic workflow with support for ORM textures. - Normal mapping. - *GLES3:* Parallax/relief mapping with automatic level of detail based on distance. - *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.
Real-time lighting:
- Directional lights (sun/moon). Up to 4 per scene. - Omnidirectional lights. - Spot lights with adjustable cone angle and attenuation.
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.
Global illumination with indirect lighting:
- Baked lightmaps (fast, but can't be updated at run-time).
- *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 :ref:`procedural geometry generation <doc_procedural_geometry>`. - :ref:`Constructive solid geometry <doc_csg_tools>` (intended for prototyping). - Path3D node to represent a path in 3D space.
- 3D geometry helper class.
3D physics
Physics 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.
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.
Scripting
General:
- Object-oriented design pattern with scripts extending nodes. - Signals and groups for communicating between scripts. - Support for :ref:`cross-language scripting <doc_cross_language_scripting>`. - Many 2D and 3D linear algebra data types such as vectors and transforms.
:ref:`GDScript: <toc-learn-scripting-gdscript>`
- :ref:`High-level interpreted language <doc_gdscript>` with
:ref:`optional static typing <doc_gdscript_static_typing>`.
- Syntax inspired by Python. - Syntax highlighting is provided on GitHub. - :ref:`Use threads <doc_using_multiple_threads>` to perform asynchronous actions
or make use of multiple processor cores.
:ref:`C#: <toc-learn-scripting-gdscript>`
- Packaged in a separate binary to keep file sizes and dependencies down. - Uses Mono 6.x.
- Supports all platforms. - Using an external editor is recommended to benefit from IDE functionality.
:ref:`VisualScript: <toc-learn-scripting-visual_script>`
- :ref:`Graph-based visual scripting language <doc_what_is_visual_script>`. - 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, …):
- When you need it, link to native libraries for higher performance and third-party integrations.
performance is suitable.
- Official bindings for C and C++.
- Maintained D, Kotlin, Python, Nim, and Rust bindings provided by the community.
Audio
Features:
- Mono, stereo, 5.1 and 7.1 output. - Non-positional and positional playback in 2D and 3D.
- Support for re-routable :ref:`audio buses <doc_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.
APIs used:
- *Windows:* WASAPI. - *macOS:* CoreAudio. - *Linux:* PulseAudio or ALSA.
Import
- Support for :ref:`custom import plugins <doc_import_plugins>`.
Formats:
- *Images:* See :ref:`doc_import_images`. - *Audio:*
- *3D scenes:*
are available for Bash, zsh and fish.
- Support for :ref:`C++ modules <doc_custom_modules_in_c++>` statically linked
into the engine binary.
- Engine and editor written in C++03.
Clang and MSVC. MinGW is also supported.
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.
.. seealso::
The `roadmap <https://github.com/godotengine/godot-roadmap>`__ repository documents features that have been agreed upon and may be implemented in future Godot releases.