Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Featureliste

Diese Seite soll alle Features auflisten, die derzeit von Godot unterstützt werden.

Bemerkung

Diese Seite zeigt unterstützte Features der aktuell stabilen Godot-Version. Einige dieser Features sind möglicherweise nicht in der LTS Release-Reihe (3.x) verfügbar.

Plattformen

Siehe auch

See System requirements for hardware and software version requirements.

Mit Editor und exportierten Projekten kompatibel:

  • Windows (x86, 64-bit and 32-bit).

  • macOS (x86 and ARM, 64-bit only).

  • Linux (x86 and ARM, 64-bit and 32-bit).

    • Binärdateien werden statisch gelinkt und können auf jeder Distribution ausgeführt werden, wenn sie auf einer ausreichend alten Basisdistribution kompiliert werden.

    • Official binaries are compiled using the Godot Engine buildroot, allowing for binaries that work across common Linux distributions (including LTS variants).

  • Android (editor support is experimental).

  • Webbrowser. Experimentell in 4.0, es wird empfohlen, stattdessen Godot 3.x zu verwenden, wenn man auf HTML5 abzielt.

Nur mit exportierten Projekten kompatibel:

Godot zielt darauf ab, so plattformunabhängig wie möglich zu sein und kann mit relativer Leichtigkeit auf neue Plattformen portiert werden.

Bemerkung

Projekte, die in C# mit Godot 4 geschrieben wurden, können derzeit nicht auf die Web-Plattform exportiert werden. Um C# auf dieser Plattform zu verwenden, sollten Sie stattdessen Godot 3 verwenden. Unterstützung für die Plattformen Android und iOS ist ab Godot 4.2 verfügbar, dies ist aber experimentell und es gelten einige Einschränkungen.

Editor

Features:

  • Szenen-Baum Editor.

  • Integrierter Skript-Editor.

  • Unterstützung von externen Skript-Editoren wie z.B. Visual Studio Code oder Vim.

  • GDScript-Debugger.

    • Support for debugging in threads is available since 4.2.

  • Visueller Profiler mit CPU- und GPU-Zeitangaben für jeden Schritt der Rendering-Pipeline.

  • Tools zur Leistungsüberwachung, einschließlich Eigener Performance-Monitore.

  • Live-Neuladen von Skripten.

  • Live-Bearbeitung von Szenen.

    • Änderungen werden im Editor angezeigt und nach dem Schließen des laufenden Projekts auch gespeichert.

  • Remote-Inspektor.

    • Änderungen werden nicht im Editor angezeigt und nach dem Schließen des laufenden Projekts auch nicht gespeichert.

  • Live-Kamera-Replikation.

    • Bewegen Sie die Kamera im Editor und sehen Sie sich das Ergebnis im laufenden Projekt an.

  • Integrierte Offline-Klassenreferenz-Dokumentation.

  • Verwenden Sie den Editor in Dutzenden von Sprachen, die von der Community zur Verfügung gestellt werden.

Plugins:

Rendern

Es stehen 3 Render-Methoden zur Verfügung (die über 2 Render-Treiber laufen):

  • Forward+, läuft über Vulkan 1.0 (mit optionalen Vulkan 1.1 und 1.2-Features). Das fortschrittlichste Grafik-Backend, nur für Desktop-Plattformen geeignet. Standardeinstellung auf Desktop-Plattformen.

  • Forward Mobile, läuft über Vulkan 1.0 (mit optionalen Vulkan 1.1 und 1.2-Features). Weniger Features, rendert aber einfache Szenen schneller. Geeignet für mobile und Desktop-Plattformen. Standardeinstellung auf mobilen Plattformen.

  • Compatibility, läuft über OpenGL 3.3 / OpenGL ES 3.0 / WebGL 2.0. Das am wenigsten fortgeschrittene Grafik-Backend, geeignet für Low-End-Desktop- und Mobilplattformen. Standardeinstellung auf der Webplattform.

2D Grafik

  • Rendern von Sprites, Polygonen und Linien.

    • High-Level Tools zum Zeichnen von Linien und Polygonen wie Polygon2D und Line2D, mit Textur-Support.

  • AnimatedSprite2D als Helfer zur Erstellung von animierten Sprites.

  • Parallax-Ebenen.

    • Pseudo-3D-Unterstützung inklusive Vorschau im Editor.

  • 2D-Beleuchtung mit Normal Maps und Specular Maps.

    • Punkt- (Omni/Spot) und direktionale 2D-Lichter.

    • Harte oder weiche Schatten (je Lichtquelle wählbar).

    • Benutzerdefinierte Shader können auf eine Echtzeit- SDF-Darstellung der 2D-Szene zugreifen, die auf LightOccluder2D-Node basiert, die für verbesserte 2D-Beleuchtungseffekte einschließlich 2D-Global Illumination verwendet werden können.

  • Schriftarten-Rendern unter Verwendung von Bitmaps, Rasterung unter Verwendung von FreeType oder Multi-Channel Signed Distance Fields (MSDF).

    • Bitmap-Schriftarten können mithilfe von Tools wie BMFont exportiert, oder (für Schriftarten mit fester Breite) aus Bildern importiert werden.

    • Dynamische Schriftarten unterstützen monochrome sowie mehrfarbige Schriftarten (z.B. Emoji). Unterstützte Formate sind TTF, OTF, WOFF1 und WOFF2.

    • Dynamische Schriftarten unterstützen optionale Schrift-Konturen mit einstellbarer Breite und Farbe.

    • Dynamische Schriftarten unterstützen variable Schriftarten und OpenType-Features wie Ligaturen.

    • Dynamische Schriftarten unterstützen simulierte Fett- und Kursivschrift, wenn die Schriftdatei diese Stile nicht enthält.

    • Dynamische Schriftarten unterstützen Oversampling, um Schriftarten in höheren Auflösungen scharf zu halten.

    • Dynamische Schriftarten unterstützen Subpixel-Positionierung, um die Schrift bei kleinen Größen schärfer zu machen.

    • Dynamische Schriftarten unterstützen LCD-Subpixel-Optimierungen, um die Schrift bei kleinen Größen noch schärfer zu machen.

    • Signed Distance Field-Schriftarten können ohne erneute Rasterung in jede Auflösung skaliert werden. Durch die Verwendung mehrerer Kanäle lassen sich SDF-Schriften im Vergleich zu monochromen SDF-Schriften besser auf kleinere Größen skalieren.

  • GPU-basierte Partikel-Systeme mit Unterstützung für benutzerdefinierte Partikel-Shader.

  • CPU-basierte Partikel.

  • Optionales 2D-HDR-Rendering für bessere Glow-Möglichkeiten.

2D-Tools

  • TileMaps für 2D-Tile-basiertes Leveldesign.

  • 2D-Kamera mit integrierter Glättung und Schlepprändern.

  • Path2D-Node zur Repräsentation eines Pfades im 2D-Raum.

    • Kann im Editor gezeichnet oder prozedural erzeugt werden.

    • PathFollow2D-Node, um Nodes einem Path2D folgen zu lassen.

  • Hilfs-Klasse für 2D-Geometrie.

2D-Physik

Physik-Bodies:

  • Static-Bodies.

  • Animierbare Bodies (für Objekte, die sich nur per Skript oder Animation bewegen, z.B. Türen und Plattformen).

  • Rigid-Bodies.

  • Character-Bodies.

  • Gelenke.

  • Regionen, die Bodies erkennen, die sie betreten oder verlassen.

Kollisionserkennung:

  • Built-in-Shapes: Linie, Rechteck, Kreis, Capsule, Welt-Grenze (unendliche Fläche).

  • Kollisions-Polygone (können manuell gezeichnet oder aus einem Sprite im Editor erzeugt werden).

3D-Grafik

  • HDR-Rendering mit sRGB.

  • Perspektivische, orthografische und Frustum-Offset Kameras.

  • Bei Verwendung des Forward+-Backends wird ein Tiefenvordurchlauf verwendet, um die Leistung in komplexen Szenen zu verbessern, indem die Kosten des Überzeichnens reduziert werden.

  • Variable Rate Shading auf unterstützten GPUs in Forward+ und Forward Mobile.

Physikbasiertes Rendering (integrierte Material-Merkmale):

  • Folgt dem Disney PBR Model.

  • Unterstützt Burley-, Lambert-, Lambert Wrap- (Half-Lambert), und Toon-Diffusions-Shading-Modi.

  • Unterstützt Modi Schlick-GGX, Toon und „Deaktiviert“ für Glanz-Reflexion.

  • Nutzt einen metallisch-rohen Arbeitsablauf mit Unterstützung für ORM Texturen.

  • Horizon Specular Occlusion (Filamentmodell) um das Erscheinungsbild des Materials zu verbessern.

  • Normal Mapping.

  • Parallaxen-/Relief-Mapping mit automatischem Detailgrad abhängig von der Entfernung.

  • Detailmapping für Albedo- und Normalmaps.

  • Sub-Surface-Scattering und Lichtdurchlässigkeit.

  • Screen-Space-Lichtbrechung mit Unterstützung für Material-Rauheit (führt zu verschwommener Brechung).

  • Nahausblendung (Soft-Partikel) und Fernausblendung.

  • Fernausblendung kann Alpha-Blending oder Dithering nutzen, um den Weg durch die Transparenz-Pipeline zu vermeiden.

  • Dithering kann auf Pixel- oder Objekt-Basis berechnet werden.

Echtzeit-Beleuchtung:

  • Richtungsabhängige Beleuchtung (Sonne/Mond), bis zu 4 pro Szene.

  • Rundum Beleuchtung.

  • Spot Lights mit einstellbarem Kegelwinkel und Dämpfung.

  • Die Energie von spiegelndem, indirektem Licht und volumetrischem Nebel kann für jedes einzelne Licht eingestellt werden.

  • Einstellbare Licht-„Größe“ für unechte Flächenlichter (macht auch Schatten unschärfer).

  • Optionales Fernausblendungssystem zum Ausblenden entfernter Lichter und ihrer Schatten, um die Leistung zu verbessern.

  • Bei Verwendung des Forward+-Backends (Default bei Desktop) werden die Lichter mit geclusterten Vorwärtsoptimierungen gerendert, um ihre individuellen Kosten zu senken. Das Cluster-Rendering hebt auch alle Beschränkungen für die Anzahl der Lichter auf, die in einem Mesh verwendet werden können.

  • Wenn Sie das Forward Mobile Backend verwenden, können bis zu 8 Rundumlichter und 8 Spotlichter pro Mesh-Ressource angezeigt werden. Mit gebackener Beleuchtung kann dieses Limit bei Bedarf überwunden werden.

Shadow Mapping:

  • DirectionalLight: Orthogonal (am schnellsten), PSSM 2-split und 4-split. Unterstützt Blending zwischen Splits.

  • OmniLight: Dual Parabolid (schnell) oder Cubemap (langsamer, aber genauer). Unterstützt farbige Projektortexturen in Form von Panoramen.

  • SpotLight: Einzelne Textur. Unterstützt farbige Textur-Projektion.

  • Schatten-Normalversatz und Schatten-Pancaking zur Verringerung der sichtbaren Schattenakne und des Peter-Panning.

  • PCSS-ähnlicher Schatten-Blur, der auf der Größe des Lichts und dem Abstand zur Oberfläche basiert, auf die der Schatten geworfen wird.

  • Weiche Schatten können je Lichtquelle konfiguriert werden.

Global Illumination mit indirekter Beleuchtung:

  • Gebackene Lightmaps (schnell, können aber nicht zur Laufzeit aktualisiert werden).

    • Unterstützt das Backen von nur indirektem Licht oder das Backen von sowohl direktem als auch indirektem Licht. Der Backmodus kann für jedes einzelne Licht eingestellt werden, um hybride Lichtback-Setups zu ermöglichen.

    • Unterstützt die Beleuchtung dynamischer Objekte mit automatischen und manuell platzierten Probes.

    • Unterstützt optional gerichtete Beleuchtung und grobe Reflexionen auf der Grundlage sphärischer Oberschwingungen.

    • Lightmaps werden auf der GPU unter Verwendung von Compute-Shadern gebacken (viel schneller als CPU-Lightmapping). Das Backen kann nur im Editor durchgeführt werden, nicht in exportierten Projekten.

    • Unterstützt GPU-basiertes Denoising mit JNLM oder CPU/GPU-basiertes Denoising mit OIDN.

  • Voxel-basierte GI-Probes. Unterstützt dynamische Lichter und dynamische Occluder, während auch Reflexionen unterstützt werden. Erfordert einen schnellen Back-Schritt, der im Editor oder zur Laufzeit durchgeführt werden kann (auch aus einem exportierten Projekt).

  • Signed-Distance Field GI für große offene Welten. Unterstützt dynamische Beleuchtung, aber keine dynamischen Occluder. Unterstützt Reflexionen. Kein Backen erforderlich.

  • Screen-Space Indirect Lighting (SSIL) mit halber oder voller Auflösung. Vollständig in Echtzeit und unterstützt jegliche Art von emissiver Lichtquelle (inklusive Decals).

  • VoxelGI und SDFGI verwenden einen verzögerten Durchlauf, um das Rendering von GI in halber Auflösung zu ermöglichen und so die Leistung zu verbessern (und gleichzeitig eine funktionale MSAA-Unterstützung zu bieten).

Reflexionen:

  • Voxelbasierte Reflexionen (bei Verwendung von GI-Probes) und SDF-basierte Reflexionen (bei Verwendung von Signed Distance Field-GI). Voxel-basierte Reflexionen sind auf transparenten Oberflächen sichtbar, während raue SDF-basierte Reflexionen auf transparenten Oberflächen sichtbar sind.

  • Schnell gebackene Reflexionen oder langsame Echtzeit-Reflexionen nutzen ReflectionProbe. Parallaxe Korrekturen können wahlweise eingeschaltet werden.

  • Screen-Space-Reflexionen mit Unterstützung für Material-Rauheit.

  • Reflexionstechniken können für eine höhere Präzision und Skalierbarkeit kombiniert werden.

  • Bei Verwendung des Forward+ Backends (Default bei Desktop) werden Reflexions-Probes mit „clustered forward“-Optimierungen gerendert, um ihre individuellen Kosten zu senken. Durch das Cluster-Rendering werden auch alle Beschränkungen für die Anzahl der Reflexions-Probes aufgehoben, die in einem Mesh verwendet werden können.

  • Bei Verwendung des Forward Mobile-Backends können bis zu 8 Reflexions-Probes pro Mesh-Ressource angezeigt werden.

Decals:

  • Unterstützt Albedo, emissives, ORM und Normal-Mapping.

  • Texturkanäle werden glatt über das darunterliegende Material gelegt, wobei normale/ORM-only-Decals unterstützt werden.

  • Unterstützung für normales Ausblenden, um das Decal je nach Einfallswinkel auszublenden.

  • Ist nicht auf die Generierung von Meshes in der Laufzeit angewiesen. Das bedeutet, dass Decals ohne Leistungseinbußen auf komplexen Skinned-Meshes verwendet werden können, selbst wenn sich das Decal in jedem Frame bewegt.

  • Unterstützung für Nearest, Bilinear, Trilinear oder Anisotropic Texture Filtering (global konfiguriert).

  • Optionales Fernausblendungssystem zum Ausblenden entfernter Lichter und ihrer Schatten, um die Leistung zu verbessern.

  • Bei Verwendung des Forward+-Backends (Default bei Desktop) werden Decals mit Clustered-Forward-Optimierungen gerendert, um ihre individuellen Kosten zu senken. Das Cluster-Rendering hebt auch alle Beschränkungen für die Anzahl der Decals auf, die auf einem Mesh verwendet werden können.

  • Bei Verwendung des Forward Mobile-Backends können bis zu 8 Decals pro Mesh-Ressource angezeigt werden.

Himmel:

  • Panorama Himmel (nutzt HDRI).

  • Prozeduraler Himmel und Physik-basierter Himmel, die auf die DirectionalLights in der Szene reagieren.

  • Unterstützung für Benutzerdefinierte Himmel-Shader, die animiert werden können.

  • Die für das Umgebungs- und Glanzlicht verwendete Radiance Map kann je nach den gewählten Qualitätseinstellungen in Echtzeit aktualisiert werden.

Nebel:

  • Exponentialer Tiefennebel.

  • Exponentialer Höhennebel.

  • Unterstützung für automatische Nebelfarbe in Abhängigkeit von der Himmelsfarbe (Luftperspektive).

  • Unterstützung der Sonnenstreuung im Nebel.

  • Unterstützung für die Steuerung des Einflusses des Nebels auf den Himmel, mit separaten Steuerelementen für traditionellen und volumetrischen Nebel.

  • Unterstützung für das Ignorieren des Nebels bei bestimmten Materialien.

Volumetrischer Nebel:

  • Globaler volumetrischer Nebel, der auf Licht und Schatten reagiert.

  • Volumetrischer Nebel kann bei Verwendung von VoxelGI oder SDFGI auch indirektes Licht berücksichtigen.

  • Nebelvolumen-Nodes, die platziert werden können, um Nebel zu bestimmten Bereichen hinzuzufügen (oder Nebel aus bestimmten Bereichen zu entfernen). Zu den unterstützten Shapes gehören Box, Ellipse, Kegel, Zylinder und 3D-Textur-basierte Dichtekarten.

  • Jedes Nebelvolumen kann seinen eigenen benutzerdefinierten Shader haben.

  • Kann zusammen mit herkömmlichem Nebel verwendet werden.

Partikel:

  • GPU-basierte Partikel mit Unterstützung für Sub-Emitter (2D + 3D), Trails (2D + 3D), Attraktoren (nur 3D) und Kollision (2D + 3D).

    • Unterstützte 3D-Partikelattraktor-Shapes: Box, Kugel und 3D-Vektorfelder.

    • Unterstützte 3D-Partikelkollisions-Shapes: Box, Kugel, gebackenes Signed Distance Field und Echtzeit-Höhenkarte (geeignet für Open-World-Wettereffekte).

    • 2D-Partikelkollisionen werden mit einem Signed Distance Field behandelt, das in Echtzeit auf der Grundlage von LightOccluder2D-Nodes in der Szene erzeugt wird.

    • Trails können die integrierte Ribbon-Trail- und Tube-Trail-Meshes oder eigene Meshes mit Skeletten verwenden.

    • Unterstützung für benutzerdefinierte Partikelshader mit manueller Emission.

  • CPU-basierte Partikel.

Post-Processing:

  • Tonemapping (Linear, Reinhard, Filmic, ACES).

  • Automatische Belichtungsanpassung auf der Grundlage der Helligkeit des Viewports (und manuelles Überschreiben der Belichtung).

  • Nah- und Fern-Schärfentiefe mit einstellbarer Bokeh-Simulation (Box, Hexagon, Kreis).

  • Screen-Space Ambient Occlusion (SSAO) bei halber oder voller Auflösung.

  • Glow/Bloom mit optionalem bikubischen Upscaling und verschiedenen Blending-Modi: Screen, Soft Light, Add, Replace, Mix.

  • Glow kann eine farbige Dirt-Map-Textur haben, die wie ein Linsenschmutzeffekt wirkt.

  • Glow kann als Blur-Effekt im Screen-Space verwendet werden.

  • Farbkorrektur mit einer eindimensionalen Rampe oder einer 3D-LUT-Textur.

  • Rauheitsbegrenzer zur Verringerung der Auswirkungen von spiegelndem Aliasing.

  • Helligkeit-, Kontrast- und Sättigungs-Regler.

Textur-Filterung:

  • Nearest-Neighbor, bilineare, trilineare oder anisotrope Filterung.

  • Die Filteroptionen werden pro Anwendung und nicht pro Textur definiert.

Textur-Kompression:

  • Basis Universal (langsam, führt aber zu kleineren Dateien).

  • BPTC für High-Quality Kompression (keine Unterstützung auf MacOS).

  • ETC2 (keine Unterstützung auf MacOS).

  • S3TC (keine Unterstützung auf mobilen/Web-Plattformen).

Anti-Aliasing:

  • Temporal Antialiasing (TAA).

  • AMD FidelityFX Super Resolution 2.2-Antialiasing (FSR2), das bei nativer Auflösung als eine Form des hochwertigen temporalen Antialiasing verwendet werden kann.

  • Multi-Sample antialiasing (MSAA), sowohl für 2D-Antialiasing als auch für 3D-Antialiasing.

  • Fast Approximate Antialiasing (FXAA).

  • Super-Sample-Antialiasing (SSAA) mit bilinearer 3D-Skalierung und einer 3D-Auflösungsskala über 1,0.

  • Alpha-Antialiasing, MSAA Alpha-to-Coverage und Alpha-Hashing auf pro-Material-Basis.

Skalierung der Auflösung:

  • Unterstützung für Darstellung von 3D in einer niedrigeren Auflösung bei gleichzeitiger Beibehaltung der 2D-Darstellung im Originalmaßstab. Dies kann verwendet werden, um die Leistung auf Low-End-Systemen oder die Darstellungsqualität auf High-End-Systemen zu verbessern.

  • Die Auflösungsskalierung erfolgt mit bilinearer Filterung, AMD FidelityFX Super Resolution 1.0 (FSR1) oder AMD FidelityFX Super Resolution 2.2 (FSR2).

  • Der LOD-Bias der Textur-Mipmaps wird automatisch angepasst, um die Qualität bei niedrigeren Auflösungsskalen zu verbessern. Sie kann auch mit einem manuellen Offset angepasst werden.

Die meisten der oben aufgeführten Effekte können für eine bessere Leistung oder zur weiteren Verbesserung der Qualität angepasst werden. Dies kann hilfreich sein, wenn Godot für Offline-Rendering verwendet wird.

3D-Tools

  • Built-in-Meshes: Kubus, Zylinder/Kegel, (Halb-)Kugel, Prisma, Ebene, Quad, Torus, Band, Rohr.

  • GridMaps für Tile-basiertes 3D-Leveldesign.

  • Konstruktive Festkörpergeometrie (vorgesehen für Prototyping).

  • Tools für prozedurale Geometrien.

  • Path3D-Node steht für einen Pfad im 3D-Raum.

    • Kann im Editor gezeichnet oder prozedural erzeugt werden.

    • PathFollow3D damit Nodes einem Path3D folgen.

  • 3D-Geometrie-Helferklasse.

  • Unterstützung für das Exportieren der aktuellen Szene als glTF 2.0-Datei, sowohl aus dem Editor als auch zur Laufzeit aus einem exportierten Projekt.

3D Physik

Physik-Bodies:

  • Static-Bodies.

  • Animierbare Bodies (für Objekte, die sich nur per Skript oder Animation bewegen, z.B. Türen und Plattformen).

  • Rigid-Bodies.

  • Character-Bodies.

  • Fahrzeug-Bodies (vorgesehen für Arcade Physik, keine Simulation).

  • Gelenke.

  • Soft-Bodies.

  • Ragdolls.

  • Regionen, die Bodies erkennen, die sie betreten oder verlassen.

Kollisionserkennung:

  • Built-in-Shapes: Quader, Kugel, Capsule, Zylinder, Weltgrenze (unendliche Ebene).

  • Erzeugt dreieckige Kollisions-Shapes für jedes Mesh aus dem Editor.

  • Erzeugt eine oder mehrere konvexe Kollisions-Shapes für jedes Mesh aus dem Editor.

Shader

  • 2D: Custom Vertex, Fragment und Beleuchtungs-Shader.

  • 3D: Custom Vertex, Fragment, Beleuchtungs- und Himmels-Shader.

  • Text-basierende Shader, die eine von der GLSL inspirierten Shader-Language verwenden.

  • Visueller Shader Editor.

    • Unterstützung für visuelle Shader Plugins.

Skripting

Allgemein:

  • Objektorientiertes Design Pattern mit Skripten, um Nodes zu erweiterten.

  • Signale und Gruppen zur Kommunikation zwischen Skripten.

  • Unterstützung für sprachübergreifendes Skripten.

  • Viele 2D-, 3D- und 4D- Datentypen der linearen Algebra wie Vektoren und Transformationen.

GDScript:

C#:

  • In einer separaten Binärdatei verpackt, um Dateigrößen und Abhängigkeiten gering zu halten.

  • Unterstützt .NET 6 und höher.

    • Vollständige Unterstützung für C# 10.0 Syntax und Features.

  • Unterstützt Windows, Linux und macOS. Ab Version 4.2 ist auch experimentelle Unterstützung für Android und iOS verfügbar (erfordert ein .NET 7.0-Projekt für Android und 8.0 für iOS).

    • Auf der Android-Plattform werden nur einige Architekturen unterstützt: arm64 und x64.

    • Auf der iOS-Plattform werden nur einige Architekturen unterstützt: arm64.

    • Die Web-Plattform wird derzeit nicht unterstützt. Um C# auf dieser Plattform zu verwenden, sollten Sie stattdessen Godot 3 in Betracht ziehen.

  • Nutzung eines externen Editors wird empfohlen um von der IDE-Funktionalität zu profitieren.

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

  • Stellen Sie bei Bedarf eine Verknüpfung zu nativen Bibliotheken her, um eine höhere Leistung und eine Integrationen von Drittanbietern zu erzielen.

    • Um Spiele-Logik zu skripten wird GDScript oder C# empfohlen, wenn deren Leistung ausreicht.

  • Offizielle GDExtension Bindings für C und C++.

    • Nutzen Sie das Buildsystem und die Sprachfeatures die Sie möchten.

  • Aktiv entwickelte GDExtension Bindings für D, Haxe, Swift, und Rust-Bindings, die von der Community zur Verfügung gestellt werden. (Einige dieser Bindings können experimentell und nicht produktionsreif sein).

Audio

Features:

  • Mono, Stereo, 5.1 und 7.1 Ausgabe.

  • Positionale und nicht-positionale Wiedergabe in 2D und 3D.

    • Optionaler Doppler-Effekt in 2D und 3D.

  • Unterstützung für Re-Routable Audio Busse und Effekte.

  • Unterstützung für Polyphonie (Abspielen mehrerer Klänge von einem einzigen AudioStreamPlayer-Node).

  • Unterstützung für zufällige Lautstärke und Tonhöhe.

  • Unterstützung für die Tonhöhenskalierung in Echtzeit.

  • Unterstützung für sequentielle/zufällige Stichprobenauswahl, einschließlich der Vermeidung von Wiederholungen wenn eine zufällige Stichprobe gezogen wird.

  • Listener2D und Listener3D Node um von einer anderen Position als die Kamera zu hören.

  • Unterstützung für prozedurale Audiogenerierung.

  • Audioeingang zur Aufnahme von Mikrofonen.

  • MIDI-Eingang.

    • Momentan keine Unterstützung für MIDI-Ausgabe.

genutzte APIs:

  • Windows: WASAPI.

  • MacOS: CoreAudio.

  • Linux: PulseAudio oder ALSA.

Importieren

Formate:

  • Bilder: Siehe Importieren von Bildern.

  • Audio:

    • WAV mit optionaler IMA-ADPCM Kompression.

    • Ogg Vorbis.

    • MP3.

  • 3D-Szenen: Siehe 3D-Szenen importieren.

    • glTF 2.0 (empfohlen).

    • .blend (durch den transparenten Aufruf von Blenders glTF-Exportfunktion).

    • FBX (durch transparenten Aufruf von FBX2glTF).

    • Collada (.dae).

    • Wavefront OBJ (nur statische Szenen, kann direkt als Mesh geladen oder als 3D-Szene importiert werden).

  • Unterstützung für das Laden von glTF 2.0-Szenen zur Laufzeit, auch aus einem exportierten Projekt.

  • 3D-Meshes nutzen Mikktspace um Tangenten während des Imports zu generieren, in Übereinstimmung mit anderen 3D-Anwendungen wie Blender.

Eingabe

  • Eingabe-Zuordnungs-System nutzt fest codierte Eingabeereignisse oder neu zuweisbare Eingabeaktionen.

    • Achsenwerte können zwei verschiedenen Aktionen zugeordnet werden mit einer konfigurierbaren Totzone.

    • Nutze den gleichen Code um Tastatur und Gamepad zu unterstützen.

  • Tastatureingaben.

    • Tasten können im „physischen“ Modus unabhängig vom Tastaturlayout zugeordnet werden.

  • Mauseingaben.

    • Der Mauszeiger kann sichtbar, ausgeblendet, erfasst oder auf das Fenster begrenzt sein.

    • Bei der Erfassung werden Roh-Eingabedaten unter Windows und Linux verwendet, um die Einstellungen der Maus des Betriebssystems zu umgehen.

  • Gamepad-Eingabe (bis zu 8 Controller gleichzeitig).

  • Stift/Tablet-Eingabe mit Erkennung des Anpressdrucks.

Netzwerkfunktionen

  • Low-level TCP-Netzwerke mittels StreamPeer und TCPServer.

  • Low-Level UDP Netzwerke mittels PacketPeer und UDPServer.

  • Low-Level HTTP Anfragen mittels HTTPClient.

  • High-Level HTTP Anfragen mittels HTTPClient.

    • Unterstützt standardmäßig HTTPS mittels gebündelter Zertifikate.

  • High-Level Mehrspieler API mittels UDP und ENet.

    • Automatische Nachbildungen mittels Remote-Prozeduraufrufe (RPCs = remote procedure calls).

    • Unterstützt unzuverlässige, zuverlässige und beantragte Transfers.

  • WebSocket Client und Server, verfügbar auf allen Plattformen.

  • WebRTC Client und Server, verfügbar auf allen Plattformen.

  • Unterstützung für UPnP um Port-Forwarding zu umgehen, wenn der Server hinter einem NAT gehostet wird.

Internationalisierung

  • Volle Unterstützung für Unicode inklusive Emoji.

  • Speichern von übersetzten Strings mittels CSV oder gettext.

    • Unterstützung für die Erzeugung von gettext POT- und PO-Dateien aus dem Editor.

  • Nutzen Sie übersetzte Strings automatisch in Ihrem Projekt in GUI Elementen oder mit Hilfe der tr() Funktion.

  • Unterstützung für Pluralisierung und Übersetzungskontexte bei der Verwendung von gettext-Übersetzungen.

  • Unterstützung für bidirektionalen Schriftsatz, Text-Shaping und OpenType lokalisierte Formen.

  • Automatische Spiegelung der Benutzeroberfläche für Rechts-nach-Links-Sprachumgebungen.

  • Unterstützung für Pseudolokalisierung, um Ihr Projekt auf i18n-Freundlichkeit zu testen.

Fensterverwaltung und OS Integration

  • Mehrere unabhängige Fenster innerhalb eines einzigen Prozesses erzeugen.

  • Verschieben, Größe verändern, Minimieren und Maximieren der vom Projekt erzeugten Fenster.

  • Ändern des Fenster-Titels und Icons.

  • Aufmerksamkeit erbitten (lässt die Titelzeile auf den meisten Plattformen blinken).

  • Vollbildmodus.

    • Verwendet unter Windows standardmäßig den randlosen Vollbildmodus für schnelles Alt-Tabbing, kann aber optional den exklusiven Vollbildmodus verwenden, um Eingabeverzögerungen zu vermindern.

  • Rahmenloses Fenster (Vollbild oder nicht-Vollbild).

  • Möglichkeit, das Fenster immer im Vordergrund zu behalten.

  • Globale Menü Integration auf MacOS.

  • Befehle blockierend oder nicht-blockierend ausführen (einschließlich der Ausführung mehrerer Instanzen desselben Projekts).

  • Öffnen Sie Dateipfade und URLs mit Default- oder benutzerdefinierten Protokoll-Handlers (sofern im System registriert).

  • Kommandozeilenparameter parsen.

  • Jede Godot-Binärdatei (Editor oder exportiertes Projekt) kann als Headless Server verwendet werden, indem man sie mit dem Kommandozeilenargument --headless startet. Dies erlaubt es, die Engine ohne einen GPU- oder Display-Server zu betreiben.

Mobile

  • In-App-Käufe auf Android und iOS.

  • Unterstützung für Werbung mittels Third-Party Modulen.

XR Unterstützung (AR und VR)

  • Out of the Box-Unterstützung für OpenXR.

    • Einschließlich Unterstützung für beliebte Desktop-Headsets wie Valve Index, WMR-Headsets und Quest over Link.

  • Unterstützung für Android-basierte Headsets mit OpenXR durch ein Plugin.

    • Dazu gehört auch die Unterstützung beliebter eigenständiger Headsets wie dem Meta Quest 1/2/3 und Pro, Pico 4, Magic Leap 2 und Lynx R1.

  • Andere Geräte werden durch eine XR-Plugin-Struktur unterstützt.

  • Es sind verschiedene fortgeschrittene Toolkits verfügbar, die allgemeine Features implementieren, die für XR-Anwendungen erforderlich sind.

GUI System

Die Benutzeroberfläche von Godot wurde mit denselben Kontroll-Nodes erstellt, mit denen auch Spiele in Godot erstellt werden. Die Benutzeroberfläche des Editors kann mithilfe von Add-Ons auf vielfältige Weise erweitert werden.

Nodes:

  • Buttons.

  • Checkboxes, Check-Buttons, Radio-Buttons.

  • Texteingabe mit LineEdit (einzelne Zeile) und TextEdit (mehrere Zeilen). TextEdit unterstützt auch Codebearbeitungs-Features wie die Anzeige von Zeilennummern und Syntax Highlighting.

  • Dropdown-Menüs nutzen mittels PopupMenu und OptionButton.

  • Scroll-Leisten.

  • Labels.

  • RichTextLabel für mit BBCode formatierten Text, mit Unterstützung für animierte benutzerdefinierte Effekte.

  • Bäume (können auch zur Darstellung von Tabellen verwendet werden).

  • Farbwähler mit RGB und HSV Modi.

  • Steuerelemente können gedreht und skaliert werden.

Größenbestimmung:

  • Verankerung, um GUI-Elemente in einer bestimmten Ecke, Kante oder Mitte zu halten.

  • Container um GUI-Elemente automatisch nach gewissen Regeln zu platzieren.

  • Skalieren auf mehrere Auflösungen unter Verwendung der Stretch-Modi canvas_items oder viewport.

  • Unterstützt jedes Seitenverhältnis mit Ankern und dem Streckungaspekt expand.

Themes:

  • Integrierter Theme-Editor.

    • Erzeugt ein Theme basierend auf den Editor Theme-Einstellungen.

  • Prozeduale, vektorbasierte Themes mit StyleBoxFlat.

    • Unterstützt abgerundete/abgeschrägte Ecken, Schlagschatten, Randbreiten und Kantenglättung.

  • Texturbasierte Themes mit StyleBoxTexture.

Die geringe Größe der Godot-Distribution kann es zu einer geeigneten Alternative zu Frameworks wie Electron oder Qt machen.

Animation

  • Direct Kinematics und inverse Kinematics.

  • Unterstützung für die Animation jeder Eigenschaft mit änderbarer Interpolation.

  • Unterstützung um Methoden aufzurufen innerhalb von Animations-Tracks.

  • Unterstützung um Sounds abzuspielen innerhalb von Animations-Tracks.

  • Unterstützung für Bézierkurven in Animationen.

Dateiformate

  • Szenen und Ressourcen können in textbasierten oder Binärformaten gespeichert werden.

    • Textbasierte Formate sind lesbarer und damit besser für eine Versionskontrolle.

    • Binärformate sind für große Szenen oder Ressourcen schneller geladen bzw. gespeichert.

  • Lesen und Schreiben von Text- oder Binärdateien mit FileAccess.

    • Kann optional komprimiert oder verschlüsselt werden.

  • Lesen und Schreiben von JSON Dateien.

  • Lesen und Schreiben von INI-Konfigurationsdateien mittels ConfigFile.

    • Kann jeden Godot-Datentyp (de)serialisieren, unter anderem Vector2/3, Color, ...

  • Lesen von XML Dateien mittels XMLParser.

  • Laden und Speichern von Bildern, Audio/Video, Schriftarten und ZIP-Archiven in einem exportierten Projekt, ohne das Godot-Importsystem zu durchlaufen.

  • Packen Sie Spieldaten in eine PCK-Datei (benutzerdefiniertes Format, das für die schnelle Suche optimiert ist), in ein ZIP-Archiv oder direkt in die ausführbare Datei für die Veröffentlichung als einzelne Datei.

  • Exportiere zusätzliche PCK Dateien die von der Engine gelesen werden können, zur Unterstützung von Mods und DLCs.

Verschiedenes

  • Videowiedergabe mit integrierter Unterstützung für Ogg Theora.

  • Movie Maker-Modus, um Videos aus einem laufenden Projekt mit synchronisiertem Ton und perfektem Frame-Pacing aufzunehmen.

  • Low-Level Zugriff auf Server die es erlauben den Szenenbaum-Overhead zu umgehen, falls nötig.

  • Kommandozeilen-Schnittstelle für Automatisierung.

    • Exportieren und Ausliefern von Projekten mithilfe von Continuous-Integration-Plattformen.

    • Shell-Fertigstellung Skripte sind verfügbar für Bash, zsh und fish.

    • Farbiger Text wird auf allen Plattformen mit print_rich auf die Standardausgabe ausgegeben.

  • Unterstützung für C++ Module, die statisch in die Engine-Binärdatei gelinkt sind.

  • Engine und Editor geschrieben in C++17.

    • Kann kompiliert werden mittels GCC, Clang und MSVC. MinGW wird auch unterstützt.

    • Benutzerfreundlich gegenüber Packagern: In den meisten Fällen können Systembibliotheken anstelle der von Godot bereitgestellten Bibliotheken verwendet werden. Das Buildsystem lädt nichts herunter. Builds können somit vollständig reproduzierbar sein.

  • Lizenz mit Zustimmung vom MIT.

Siehe auch

Das Godot Proposals-Repository listet von der Community gewünschte Features auf, die möglicherweise in zukünftigen Godot-Versionen implementiert werden.