Lista funkcji

Ta strona ma na celu wyszczególnienie wszystkich funkcji aktualnie obsługiwanych przez Godot.

Informacja

This page lists features supported by the current stable version of Godot (3.4). More features are available in the latest development version (4.0).

Funkcje

Platformy

Można uruchomić zarówno edytor jak i wyeksportowane projekty:

  • Windows 7 lub nowszy (64-bitowy i 32-bitowy).

  • macOS 10.12 lub nowszy (64-bitowy, x86 i ARM).

  • Linux (64-bitowy, 32-bitowy, x86 i ARM).

    • Pliki binarne są połączone statycznie i mogą działać w każdym rozkładzie, jeśli zostały skompilowane na wystarczająco starej dystrybucji bazowej.

    • Oficjalne pliki binarne są kompilowane na Ubuntu 14.04.

  • HTML5 przez WebAssembly (Firefox, Chrome, Edge, Opera).

Uruchamia wyeksportowane projekty:

Godot ma na celu jak największą niezależność od platform i może być względnie prosto przeniesiony na nowe.

Edytor

Funkcje

  • Edytor edytor hierarchii węzłów.

  • Built-in script editor.

  • Wsparcie dla zewnętrznych edytorów kodu takich jak Visual Studio Code lub Vim.

  • GDScript debugger.

    • Obecnie brak wsparcia dla debugowania w wątkach.

  • Narzędzia monitorowania wydajności.

  • Zmiana skryptu podczas działania programu.

  • Edycja scen podczas działania programu.

    • Zmiany zostaną odzwierciedlone w edytorze i zostaną zachowane po zamknięciu uruchomionego projektu.

  • Zdalny inspektor.

    • Zmiany nie zostaną odzwierciedlone w edytorze i nie zostaną zapisane po zamknięciu uruchomionego projektu.

  • Przejęcie kontroli nad kamerą.

    • Ruszanie kamerą w edytorze wpływa na kamerę w uruchomionym projekcie.

  • Używaj edytora w dziesiątkach języków dodanych przez społeczność.

Wtyczki:

  • Wtyczki edytora można pobrać z :ref:'biblioteki zasobów <doc_what_is_assetlib>', aby rozszerzyć funkcjonalność edytora.

  • Create your own plugins using GDScript to add new

  • Download projects from the asset library in the project manager and import them directly. features or speed up your workflow.

  • Download projects from the asset library in the project manager and import them directly.

Grafika 2D

Dwa dostępne moduły renderowania:

  • OpenGL ES 3.0 (na platformach desktopowych wykorzystuje OpenGL 3.3).

    • Wysokiej jakości efekty wizualne. Polecane dla platform desktopowych.

  • OpenGL ES 2.0 (na platformach desktopowych wykorzystuje OpenGL 2.1).

    • Polecane na urządzeniach mobilnych i platformach sieciowych.

Funkcje

  • Renderowanie duszków, wielokątów i linii.

    • Wysokopoziomowe narzędzia do rysowania linii i wielokątów takie jak Polygon2D i Line2D.

  • AnimatedSprite jako pomoc przy tworzeniu animowanych duszków (Sprites).

  • Płótna.

    • Pseudo-3D support including preview in the editor.

  • Oświetlenie 2D z mapowaniem normalnych.

    • Twarde lub miękkie cienie.

  • Renderowanie czcionek przy użyciu map bitowych (BitmapFont) lub rasteryzacji używając freetype (DynamicFont).

    • Czcionki bitmapowe mogą zostać wyeksportowane przy użyciu narzędzi takich jak BMFont.

    • DynamicFont obsługuje zarówno czcionki monochromatyczne, jak i kolorowe (np. emotikony ). Obsługiwane formaty to TTF, OTF oraz WOFF1.

    • DynamicFont obsługuje opcjonalne kontury z regulowaną szerokością i kolorem.

    • Obsługa nadpróbkowania czcionek w celu utrzymania ostrości przy wyższych rozdzielczościach.

  • Cząsteczki oparte na GPU z obsługą własnych shaderów cząstek.

  • Cząsteczki oparte na CPU.

Narzędzia 2D

  • Kamera 2D z wbudowanym wygładzaniem i marginesami przeciągania.

  • Węzeł Path2D reprezentujący ścieżkę w przestrzeni 2D.

    • Może być narysowany w edytorze lub wygenerowany proceduralnie.

    • Węzeł PathFollow2D pozwalający węzłom podążać za Path2D.

  • Klasa pomocnicza dla obliczeń geometrycznych 2D.

  • Węzeł Line2D pozwalający rysować teksturowane linie 2D.

Fizyka 2D

Obiekty fizyczne:

  • Obiekty statyczne.

  • Obiekty sztywne.

  • Obiekty kinematyczne.

  • Połączenia.

  • Obszary wykrywające wchodzące lub opuszczające obiekty.

Detekcja kolizji:

  • Wbudowane kształty: linia, prostokąt, koło, kapsuła.

  • Wielokąty (mogą być narysowane manualnie lub wygenerowane z duszka w edytorze).

Grafika 3D

Dwa dostępne moduły renderowania:

  • OpenGL ES 3.0 (na platformach desktopowych wykorzystuje OpenGL 3.3).

    • Wysokiej jakości efekty wizualne. Polecane dla platform desktopowych.

    • Optional HDR rendering with sRGB (enabled by default).

    • Uses an optional depth prepass (enabled by default) to reduce the cost of overdraw, which speeds up complex scene rendering.

  • OpenGL ES 2.0 (na platformach desktopowych wykorzystuje OpenGL 2.1).

    • Polecane na urządzeniach mobilnych i platformach sieciowych.

    • Renderowanie LDR dla większej kompatybilności.

    • Nie wszystkie funkcje są dostępne. Funkcje dostępne tylko przy użyciu modułu renderowania OpenGL ES 3.0 są poniżej oznaczone GLES3.

Kamera:

  • Kamery perspektywiczne, ortograficzne oraz z przesuniętą bryłą widzenia.

Physically-based rendering (built-in material features):

  • Naśladuje model PBR Disneya.

  • Supports Lambert, Lambert Wrap (half-Lambert), Oren-Nayar and Toon diffuse shading modes.

  • Supports Schlick-GGX, Blinn, Phong, Toon and Disabled specular shading modes.

  • Wykorzystuje przepływ pracy zbudowany wokół skali metaliczność-chropowatość z obsługą tekstur ORM.

  • Uses horizon specular occlusion (Filament model) to improve material appearance

  • Mapowanie normalnych.

  • Detail mapping for the albedo and normal maps.

  • Zanikanie odległości, które może wykorzystywać mieszanie alfa lub rozpraszanie, aby uniknąć przechodzenia przez potok przezroczystości.

  • Dithering można określić na podstawie co-piksel lub co-obiekt.

  • *GLES3: * Mapowanie paralaksy / wypukłości z automatycznym poziomem szczegółowości na podstawie odległości.

  • *GLES3: * Przepuszczalność i rozpraszanie podpowierzchniowe.

  • GLES3: Refraction with support for material roughness (resulting in blurry refraction). On GLES2, refraction is still functional but lacks support for material roughness.

  • GLES3: Zanikanie odległościowe (miękkie cząsteczki).

Oświetlenie w czasie rzeczywistym:

  • Światła kierunkowe (słońce/księżyc). Do 4 na scenę.

  • Wielokierunkowe światła.

  • Światła punktowe z modyfikowalnym kątem stożka i osłabianiem.

  • Specular energy can be adjusted on a per-light basis.

  • GLES3: Lighting is done with a single-pass forward approach. By default, up to 32 omni light and 32 spot lights can be displayed per mesh resource. If needed, this limit can be increased at the cost of increased shader compilation times and lower performance. GLES2 uses a multi-pass forward approach to lighting, which doesn't have a limit on the number of lights but is slower with many lights.

Mapowanie cieni

  • DirectionalLight: Ortogonalny (najszybszy), PSSM 2-częściowy i 4-częściowy. Obsługuje mieszanie między podziałami.

  • OmniLight: Podwójna paraboloida (szybka) lub cubemapa (wolniejsza, ale dokładniejsza). Obsługuje kolorowe tekstury nakładane w postaci panoram.

  • Reflektor: Pojedyncza tekstura.

Globalne oświetlenie z pośrednim światłem:

  • Wypalane mapy świetlne (szybkie, ale nie mogą być aktualizowane podczas uruchomionej aplikacji).

    • Obsługuje baking tylko światła pośredniego lub baking zarówno światła bezpośredniego, jak i pośredniego. Tryb bakingu można regulować w zależności od światła, aby umożliwić hybrydowe ustawienia bakingu przy świetle.

    • Obsługuje oświetlenie dynamicznych obiektów za pomocą automatycznego systemu opartego na octree. Nie jest wymagane ręczne umieszczanie próbnika.

    • Mapy świetlne są wypalone na procesorze.

  • GLES3: Sondy GI (wolne, połowiczne w czasie rzeczywistym). Wspierają odbicia.

Odbicia:

  • Fast baked reflections or slow real-time reflections using ReflectionProbe. Parallax box correction can optionally be enabled.

  • Techniki odbicia mogą być za sobą łączone w celu osiągnięcia większej dokładności.

  • GLES3: Odbicia oparte na wokselach (gdy używane są sondy GI).

  • GLES3: refleksje w obrębie ekranu.

Niebo:

  • Panoramiczne niebo (używając HDRI).

  • Proceduralne niebo.

Mgła:

  • Głębokość mgły z regulowaną krzywą tłumienia.

  • Wysokość mgły (podłogi lub sufitu) z regulowanym tłumieniem.

  • Wsparcie dla automatycznego koloru głębi mgły w zależności od kierunku kamery (aby dopasować się do koloru słońca).

  • Opcjonalna przepuszczalność by światła były bardziej widoczne w mgle.

Cząsteczki:

  • GLES3: Cząsteczki oparte na GPU z obsługą niestandardowych shaderów cząsteczek.

  • Cząsteczki oparte na CPU.

Post-processing:*

  • Mapowanie tonów (liniowe, Reinharda, filmowe, ACES).

  • GLES3: Automatyczne dostosowanie ekspozycji bazujące na jasności ekranu.

  • GLES3: Bliska i odległa głębia ostrości.

  • GLES3: Okluzja otoczenia w przestrzeni ekranu.

  • GLES3: Opcjonalny debanding, by uniknąć pasmowania kolorów (efektywne, gdy jest włączone renderowanie HDR).

  • Blask z opcjonalnym dwu-sześciennym skalowaniem i kilkoma typami mieszania: Ekran(Screen), Miękkie światło(Soft Light), Dodaj(Add), Zamień(Replace).

  • Korekcja kolory wykorzystując jednowymiarową krzywą.

  • Dostosowanie jasności, kontrastu oraz nasycenia.

Filtrowanie tekstur:

  • Filtrowanie, bliskie, dwuliniowe, trójliniowe lub anizotropiczne.

Kompresja tekstur:

  • Lossless or lossy WebP (does not save VRAM; only reduces storage size).

  • S3TC (only supported on desktop platforms).

  • ETC1 (rekomendowane przy użyciu renderowania GLES2).

  • GLES3: BPTC dla wysokiej jakości kompresji (nie wspierane w systemie macOS).

  • GLES3: ETC2 (nie wspierane w systemie macOS).

Wygładzanie krawędzi:

  • Wielopróbkowe wygładzanie krawędzi (MSAA).

  • Szybki aproksymacyjny antyaliasing (FXAA).

Performance:

  • Occlusion culling with rooms and portals. Supports gameplay notifications with primary and secondary visibility to disable AI/physics processing for nodes that don't need it.

  • Real-time occluder spheres. Not as effective as rooms and portals (and doesn't support gameplay notifications), but easier to set up.

Informacja

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

Narzędzia 3D

  • Wbudowane siatki: sześcian, cylinder/stożek, (pół)kula, pryzmat, płaszczyzna, wielokąt.

  • Geometria generowana procedularnie.

  • Konstruktywna geometria (przydatne prototypowaniu).

  • Węzeł Path3D (Ścieżka3D) by pokazać ścieżkę w przestrzeni 3D.

    • Może być narysowany w edytorze lub wygenerowany proceduralnie.

    • Węzeł PathFollow3D (ŚledzenieŚcieżki3D) by węzeł podążał za Path3D (Ścieżka3D).

  • Klasa pomocnicza geometrii 3D.

  • Support for exporting the current scene as a glTF 2.0 file from the editor.

Fizyka 3D

Obiekty fizyczne:

  • Obiekty statyczne.

  • Obiekty sztywne.

  • Obiekty kinematyczne.

  • Ciała pojazdów (stworzone dla fizyki arcade, nie symulacji).

  • Połączenia.

  • Miękkie ciała.

  • Ragdolle.

  • Obszary wykrywające wchodzące lub opuszczające obiekty.

Detekcja kolizji:

  • Wbudowane kształty: prostopadłościan, kula, kapsułka, walec.

  • Generuj trójkątne kształty kolizji dla dowolnej siatki z edytora.

  • Wygeneruj jeden lub parę wypukłych kształtów kolizji dla dowolnej siatki obiektu 3D z edytora.

Shadery

  • 2D: niestandardowe wierzchołki, fragmenty oraz shadery światła.

  • 3D: Niestandardowe wierzchołki, fragmenty, światło oraz shadery nieba.

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

  • Wizualny edytor shaderów.

    • Wsparcie dla wizualnego tworzenia wtyczek.

Programowanie

Ogólne:

  • Wzorzec zorientowany obiektowo z skryptami rozszerzającymi węzły.

  • Sygnały i grupy do komunikacji pomiędzy skryptami.

  • Wsparcie dla międzyjęzykowego pisania skryptów.

  • Wiele typów danych algebry liniowej 2D i 3D, takich jak wektory i transformaty.

GDScript:

C#:

  • Pakowane w osobnym pliku binarnym, by utrzymać mały rozmiar plików i niską ilość zależności.

  • Korzysta z Mono 6.x.

    • Pełne wsparcie dla składni i funkcji C# 7.0.

  • Wspiera wszystkie platformy.

  • Używanie zewnętrznego edytora jest rekomendowane, by korzystać z wszystkich funkcjonalności IDE.

VisualScript:

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

  • Kiedy tego potrzebujesz, połącz do natywnych bibliotek dla wyższej wydajności i integracji osób trzecich.

    • Dla programowania logiki gry, rekomendujemy GDScript lub C# pod warunkiem, że ich wydajność jest odpowiednia.

  • Oficjalne wiązania dla C i C++.

    • Użyj dowolnego systemu budowy i funkcji języków.

  • Maintained D, Kotlin, Python, Nim, and Rust bindings provided by the community.

Audio

Funkcje

  • Wyjście mono, stereo, 5.1 i 7.1.

  • Niepozycyjny i pozycyjny playback w 2D i 3D.

    • Opcjonalny efekt Dopplera w 2D i 3D.

  • Support for re-routable audio buses and effects with dozens of effects included.

  • Listener2D and Listener3D nodes to listen from a position different than the camera.

  • Wejście audio do nagrywania z mikrofonów w czasie rzeczywistym, przy użyciu klasy AudioEffectCapture.

  • Wejście MIDI.

    • Brak wsparcia z wyniku MIDI ,jeszcze.

używane API:

  • Windows: WASAPI.

  • macOS: CoreAudio.

  • Linux: PulseAudio lub ALSA.

Zaimportuj

Formaty:

  • Obrazy: Patrz Importing images.

  • Dźwięk:

    • WAV z opcjonalną kompresją IMA-ADPCM.

    • Ogg Vorbis.

    • MP3.

  • Sceny 3D:

    • glTF 2.0 (zalecane).

    • ESCN (bezpośredni eksport z Blendera).

    • FBX (experimental, static meshes only).

    • Collada (.dae).

    • Wavefront OBJ (tylko statyczne sceny, mogą być ładowane bezpośrednio w mesh).

  • 3D meshes use Mikktspace to generate tangents on import, which ensures consistency with other 3D applications such as Blender.

Input

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

    • Axis values can be mapped to two different actions with a configurable deadzone.

    • Użyj takiego samego codu ,by wspierać oba: klawiaturę i gamypad'y.

  • Klawiatura.

    • Klucze mogą być mapowane w modzie "fizycznym" ,by być niezależne od układu klawiatury.

  • Mysz.

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

  • Gamepad, keyboard and mouse input support are also available on Android.

Sieć

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

  • Wysokopoziomowe API multiplayer dzięki UDP i 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.

Umiędzynarodowienie

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

  • Tryb pełnoekranowy.

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

  • Wywoływanie własnych komend wiersza poleceń.

  • Headless/server binaries can be downloaded for Linux and compiled for macOS. Any binary can be used without a window using the --no-window command line argument.

Na telefonie

  • Zakupy wewnątrz aplikacji na systemach Android i iOS.

  • Support for advertisements using third-party modules.

  • Support for subview embedding on Android.

XR support (AR and VR)

  • Support for ARKit on iOS out of the box.

  • Support for the OpenXR APIs.

    • Includes support for popular headsets like the Meta Quest and the Valve Index.

  • Support for the OpenVR APIs.

System interfejsu

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.

Węzły:

  • Przyciski.

  • Checkboxes, check buttons, radio buttons.

  • Text entry using LineEdit (single line) and TextEdit (multiple lines).

  • Dropdown menus using PopupMenu and OptionButton.

  • Scrollbars.

  • Labels (Etykiety).

  • RichTextLabel for text formatted using BBCode.

  • Trees (can also be used to represent tables).

  • Color picker with RGB and HSV modes.

  • Containers (horizontal, vertical, grid, flow, center, margin, aspect ratio, draggable splitter, ...).

  • Controls can be rotated and scaled.

Sizing:

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

  • Kontenery do automatycznego umieszczania elementów GUI według określonych reguł.

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

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

Theming:

  • Wbudowany edytor motywów.

    • Generate a theme based on the current editor theme settings.

  • Procedural vector-based theming using StyleBoxFlat.

    • Supports rounded/beveled corners, drop shadows, per-border widths and antialiasing.

  • Texture-based theming using StyleBoxTexture.

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

Animacja

  • Direct kinematics and inverse kinematics.

  • Tween node to easily perform procedural animations by code.

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

Formaty plików

  • 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 Vector2/3, 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.

Różności

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

  • Command line interface for automation.

    • Wyeksportuj i postaw projekty używając ciągłych platform integracyjnych.

    • Shell completion scripts are available for Bash, zsh and fish.

  • Support for C++ modules statically linked into the engine binary.

  • Silnik i edytor będzie napisany w 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 będzie napisany w C++17.

  • Licensed under the permissive MIT license.

Zobacz także

The Godot proposals repository lists features that have been requested by the community and may be implemented in future Godot releases.