Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

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

Siehe Systemanforderungen für Hardware- und Software-Versionsanforderungen.

Bemerkung

Informationen zur Konsolenunterstützung finden Sie auf der Godot-Website.

Mit Editor und exportierten Projekten kompatibel:

  • Windows (x86 und ARM, 64-bit und 32-bit).

  • macOS (x86 und ARM, nur 64-bit).

  • Linux (x86 und ARM, 64-bit und 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.

    • Offizielle Binärdateien werden unter Verwendung des Godot-Engine-Buildroot kompiliert, so dass die Binärdateien mit allen gängigen Linux-Distributionen funktionieren.

  • Android (Editor-Unterstützung ist experimentell).

  • Webbrowser. Experimentell in 4.0, es wird empfohlen, stattdessen Godot 3.x zu verwenden, wenn man für HTML5 entwickelt.

Bemerkung

Linux unterstützt rv64 (RISC-V), ppc64 & ppc32 (PowerPC), und loongarch64. Allerdings muss man den Editor für diese Platform (sowie die Export-Vorlagen) selber kompilieren, da derzeit keine offiziellen Downloads bereitgestellt werden. RISC-V Kompilieranweisungen können auf der Seite Kompilieren für Linux, *BSD gefunden werden.

Nur mit exportierten Projekten kompatibel:

  • iOS.

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

Funktionen:

  • Szenenbaum-Editor.

  • Integrierter Skripteditor. Unterstützt außerdem das Bearbeiten von Textdateien und Verwenden benutzerdefinierter Syntaxhervorhebungen.

  • Unterstützung von externen Skripteditoren wie z. B. Visual Studio Code oder Vim.

  • GDScript-Debugger.

    • Unterstützt das Debuggen in Threads.

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

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

  • Unterstützt Tracing-Profiler wie Tracy und Perfetto für komplexere Optimierungsaufgaben.

  • Jedes Skript kann im Editor ausgeführt werden und benutzerdefinierte Funktionen wie anklickbare Schaltflächen im Inspektor bereitstellen, ohne dass ein Editor-Plugin erstellt werden muss.

  • Live-Neuladen von Skripten.

  • Live-Bearbeitung von Szenen.

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

  • Live-Kamera-Replikation (standardmäßig deaktiviert).

    • Die Kamera im Editor bewegen und das Ergebnis im laufenden Projekt ansehen.

  • Remote-Inspektor.

    • Änderungen werden im Editor nicht angezeigt und nicht beibehalten, wenn das laufende Projekt geschlossen wird.

  • Mehrere Projektinstanzen gleichzeitig über eine einzige Editorinstanz ausführen (nützlich für Client-Server-Tests).

  • Optionale Spieleinbettung, um das Projekt in einem Fenster innerhalb des Editors auszuführen.

    • 2D- und 3D-Nodes im Viewport des Projekts auswählen, um sie im Editor zu untersuchen.

    • Die Kamera innerhalb des Projekts mithilfe der 2D- und 3D-Kamera-Überschreibungen bewegen.

    • Unterstützt das Anpassen, das Anhalten und den Bildsprung der Zeitskala.

    • Unterstützt das Stummschalten des Projekts.

  • Lineal-Werkzeug zum Messen von Entfernungen in 2D und 3D.

  • Unterstützung für das Einrasten an Vertices in 3D.

  • Unterstützung für das Verfolgen der Auswahl bei ihrer Bewegung im 3D-Raum durch zweimaliges Ausführen von „Auf Auswahl zentrieren“.

  • Integrierte Offline-Klassenreferenz-Dokumentation.

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

Plugins:

Rendering

Godot 4 beeinhaltet drei Renderer:

  • Forward+. Der fortschrittlichste Renderer, ausschließlich für Desktop-Plattformen geeignet. Wird standardmäßig auf Desktop-Plattformen verwendet. Dieser Renderer nutzt Vulkan, Direct3D 12 oder Metal als Rendering-Treiber und verwendet das RenderingDevice-Backend.

  • Mobile. Weniger Funktionen, rendert einfache Szenen jedoch schneller. Geeignet für mobile und Desktop-Plattformen. Wird standardmäßig auf mobilen Plattformen verwendet. Dieser Renderer nutzt Vulkan, Direct3D 12 oder Metal als Rendering-Treiber und verwendet das RenderingDevice-Backend.

  • Kompatibilität, manchmal auch als GL-Kompatibilität bezeichnet. Der am wenigsten fortschrittliche Renderer, geeignet für Low-End-Desktop- und mobile Plattformen. Wird standardmäßig auf der Webplattform verwendet. Dieser Renderer nutzt OpenGL als Rendering-Treiber.

Siehe auch

Siehe Übersicht über die Renderer für einen detaillierten Vergleich der Rendering-Methoden.

2D-Grafik

  • Sprites, Polygonen und Linien rendern.

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

  • AnimatedSprite2D als Helfer zum Erstellen 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.

  • Oversampling für SVG-Bilder unter Verwendung des Importtyps DPITexture. Dies ermöglicht schärfere Ergebnisse beim Vergrößern der Textur, indem das SVG-Quellbild zur Laufzeit auf eine neue Auflösung neu gerastert wird.

    • Beim Oversampling können optional die Skalierungen einzelner CanvasItem-Elemente berücksichtigt werden, um beim Skalieren von Nodes eine schärfere Darstellung zu erzielen.

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

  • CPU-basierte Partikel.

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

  • Optionales Debanding zur Reduzierung von Banding-Artefakte in Farbverläufen.

  • HDR-Ausgabe auf unterstützten Plattformen und Renderern.

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.

  • Physik-Interpolation.

Kollisionserkennung:

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

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

3D-Grafik

  • Interne Beleuchtungsberechnungen mit linearem HDR.

  • Optionales Debanding zur Reduzierung von Banding-Artefakte in Farbverläufen.

  • HDR-Ausgabe auf unterstützten Plattformen und Renderern.

  • Perspektivische, orthografische und Frustum-Offset Kameras.

  • Bei Verwendung des Forward+-Renderers wird ein Tiefen-Voraub-Durchlauf genutzt, um die Performance 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.

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

  • Detailmapping für Albedo- und Normalmaps.

  • Subsurface scattering and transmittance.

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

Echtzeitbeleuchtung:

  • Gerichtete Lichter (Sonne/Mond).

  • Rundstrahlende Lichter.

  • Spotlichter mit einstellbarem Kegelwinkel und einstellbarer Dämpfung.

  • Rechteckige Lichtflächen mit einer optionalen Textur zum Festlegen von Umriss und Farbe.

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

  • Einstellbare Licht-„Größe“ für kugelförmige Omni-Lichter und scheibenförmige Spotlichter (dadurch werden Schatten bei variablem Halbschatten unschärfer).

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

  • Bei Verwendung des Forward+-Renderers (Standard: 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 den Mobile-Renderer verwenden, können bis zu 8 Omni-Lichter, 8 Spotlichter und 8 Lichtflächen pro Mesh-Ressource angezeigt werden. Mit gebackener Beleuchtung kann diese Beschränkung bei Bedarf umgangen werden.

Shadow Mapping:

  • DirectionalLight3D: Orthogonal (am schnellsten), PSSM mit 2- und 4-facher Aufteilung. Unterstützt Blending zwischen den Aufteilungen.

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

  • SpotLight3D: Einzelne Textur. Unterstützt farbige Projektortexturen.

  • AreaLight3D: Eine einzige Textur mit Dual-Paraboloid-Verzerrung zur Annäherung an die Form der Lichtquelle.

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

  • PCSS-ähnliche Schattenunschärfe, die auf der Größe der Lichtquelle und dem Abstand zur Oberfläche basiert, auf die der Schatten geworfen wird. Wird für alle Lichttypen unterstützt.

  • Einstellbare Schattenunschärfe für jede Lichtquelle einzeln.

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.

    • Optionally supports directional lighting based on spherical harmonics.

    • Optionally supports baking a shadowmask for distant static directional shadows.

    • Optional supersampling at bake-time to improve quality and reduce light leaking at the cost of increased bake times and memory usage during baking.

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

    • Unterstützt standardmäßig GPU-basierte Rauschunterdrückung mit JNLM oder eine qualitativ hochwertigere CPU-/GPU-basierte Rauschunterdrückung mit OIDN (OIDN muss separat heruntergeladen werden).

    • Lightmaps are rendered with bicubic filtering to reduce scaling artifacts.

  • 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 Performance 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+-Renderers (Standard: 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 Mobile-Renderers 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 zur Laufzeit angewiesen. Das bedeutet, dass Decals ohne Performance-Einbuß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 Decals, um die Performance zu verbessern.

  • Bei Verwendung des Forward+-Backends (Auf dem Desktop Standard) 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 mobilen Renderers 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, AgX).

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

Texturfilterung:

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

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

VRAM-Texturkomprimierung:

  • BPTC (für hochwertige Komprimierung auf Desktop-Plattformen).

  • ASTC (für hochwertige Komprimierung auf mobilen Plattformen).

  • ETC2 (für schnelle Komprimierung auf mobilen Plattformen).

  • S3TC (für schnelle Komprimierung auf Desktop-Plattformen).

  • Basis Universal (langsam, erfordert jedoch nur ein einziges Encoding für alle Plattformen).

Kantenglättung:

  • Temporal Antialiasing (TAA).

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

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

  • Fast Approximate Antialiasing (FXAA).

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

Auflösungsskalierung:

  • 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 Performance auf Low-End-Systemen oder die Darstellungsqualität auf High-End-Systemen zu verbessern.

  • Bei der Auflösungsskalierung kommen die Nearest-Neighbor-Filterung, die bilineare Filterung, AMD FidelityFX Super Resolution 1.0 (FSR1) oder AMD FidelityFX Super Resolution 2.2.1 (FSR2) zum Einsatz.

  • 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 Performance 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 den Export 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.

  • Physik-Interpolation.

Kollisionserkennung:

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

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

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

Shader

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

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

  • Custom shaders can procedurally generate and modify textures in real-time using DrawableTexture2D.

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

  • Syntax highlighting is provided on GitHub by using gdshader as the language name in a Markdown code block.

  • Visueller Shader-Editor.

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 8 und höher.

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

  • Unterstützt Windows, Linux und macOS. Seit Version 4.2 ist auch die experimentelle Unterstützung für Android und iOS verfügbar.

    • 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 Performance und eine Integrationen von Drittanbietern zu erzielen.

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

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

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

  • Aktiv weiterentwickelte GDExtension-Bindings für D, Swift und Rust, die von der Community bereitgestellt werden. (Einige dieser Bindings sind möglicherweise noch experimentell und nicht produktionsreif).

Audio

Funktionen:

  • Mono-, Stereo-, 5.1- und 7.1-Ausgabe.

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

    • Optionaler Dopplereffekt in 2D und 3D.

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

  • Support for polyphony (playing several sounds from a single 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.

  • AudioListener2D and AudioListener3D nodes to listen from a position different from the camera.

  • Unterstützung für prozedurale Audiogenerierung.

  • Audioeingang zur Aufnahme von Mikrofonen.

  • Text to speech unter Verwendung plattformeigener TTS-Engines.

  • MIDI-Eingang.

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

genutzte APIs:

  • Windows: WASAPI.

  • MacOS: CoreAudio.

  • Linux: PulseAudio oder ALSA.

Importieren

Formate:

  • Bilder: Siehe Bilder importieren.

  • Audio:

    • WAV mit optionaler QOA- oder IMA-ADPCM-Komprimierung.

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

    • The mouse cursor's appearance can be changed to a custom image or one of the system cursors.

    • When captured, raw input is used on Windows and Linux to sidestep the OS' mouse acceleration settings.

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

  • Pen/tablet input with pressure and tilt support.

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

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

  • Support for loading system fonts on Windows, macOS, and Linux.

    • Standardmäßig werden Systemschriftarten verwendet, um nicht unterstützte Zeichen anzizeigen. Dies ermöglicht die Darstellung multilingualer Texte, ohne dass große Schriftart-Dateien bei einem Projekt beigelegt werden müssen.

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

  • Support for pluralization and translation contexts.

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

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

  • Support for pseudolocalization to test your project for i18n-friendliness.

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.

  • Erstelle transparente Fenster als Overlays, mit polygonbasierter Maus-Passthrough-Unterstützung.

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

  • Fullscreen mode (borderless and exclusive).

  • Rahmenloses Fenster (Vollbild oder nicht-Vollbild).

  • Keep a window always on top.

  • Lass ein Fenster den Fokus ignorieren (nützlich für Overlays).

  • Deklariere ein Fenster als ein Popup (versteckt vor dem Task Switcher) oder exklusiv (verhindert, dass mit anderen Fenstern des gleichen Prozesses interagiert werden kann).

  • Native file dialog support on Windows, macOS, Linux, and Android.

  • Tray icon support on Windows and macOS.

  • Globale Menü Integration auf MacOS.

  • Client-side decorations on 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.

  • Support for screen readers on Windows, macOS, and Linux.

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

Siehe auch

See Creating applications for details on using these features.

Mobile

  • Virtual joystick and buttons for touch input.

  • In-app purchases on Android and iOS.

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

  • Support for picture-in-picture mode on Android.

XR Unterstützung (AR und VR)

  • Support for desktop headsets using OpenXR. If a headset works with SteamVR, it should work with Godot.

    • Godot also supports Quest over Link, AndroidXR Direct Preview, and Pico Connect.

  • Support for Android-based headsets using OpenXR. Including support for the following standalone headsets:

    • Meta Quest 1/2/3 and Pro

    • Pico 4/4 Ultra

    • Magic Leap 2

    • Lynx R1

    • HTC Vive Focus Vision

    • Android XR headsets

  • Support for the Linux-based standalone Steam Frame using OpenXR.

  • Limited support for visionOS Apple headsets.

    • Derzeit ist nur der Export als Anwendung im Fenstermodus möglich: Die App wird als 2D-Fenster im 3D-Raum der Brille angezeigt. Immersive Erlebnisse werden nicht unterstützt.

  • 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 Bedienoberfläche von Godot wurde mit denselben Kontroll-Nodes erstellt, mit denen auch Spiele in Godot erstellt werden. Die Bedienoberfläche des Editors kann mithilfe von Add-Ons auf vielfältige Weise erweitert werden.

Nodes:

  • Buttons.

  • Checkboxes, Check-Buttons, Radio-Buttons.

  • Text entry using LineEdit (single line), TextEdit (multiple lines), and CodeEdit (supports syntax highlighting, line numbers, and more).

  • Dropdown menus using PopupMenu and OptionButton with support for an optional search bar.

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

  • Color picker with RGB, HSV, and OKHSL modes, as well as custom color palettes.

  • Steuerelemente können gedreht und skaliert werden.

  • Drag-and-drop support.

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.

  • Der Editor kann die in einem Projekt verwendeten Funktionen erkennen und ein Kompilierungsprofil erstellen, mit dessen Hilfe kleinere Binärdateien für Exportvorlagen erstellt werden können, bei denen nicht benötigte Funktionen deaktiviert sind.

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

    • Die meisten Built-in-Module können zur Kompilierzeit deaktiviert werden, um die Binärgröße in benutzerdefinierten Builds zu reduzieren. Weitere Informationen finden Sie unter Einen Build auf Größe optimieren.

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