Godot News: 4.0 setzt die Segel
Die freie Spiele-Engine Godot bezeichnet Version 4.0 als größten Meilenstein ihrer Geschichte. Heute ist nach über drei Jahren Entwicklungszeit die Version 4.0 erschienen, die ein solides Fundament für die weitere Entwicklung darstellt.
Godot ist eine mächtige und freie Spiele-Engine. Nun wurde Version 4.0 veröffentlicht und schickt sich an, die größte Veröffentlichung in der Geschichte Godots zu werden.
Wir sind stolz darauf, mit Ihnen zusammenzuarbeiten. Godot 4.0 ist das Ergebnis jahrelanger Bemühungen und Ihrer Zeit. Gemeinsam haben wir eine starke neue Basis geschaffen. Eine, die neue Horizonte eröffnet und Godot die Flügel verleiht, um mit den Winden des Wandels zu reiten, mit neuen Technologien zu wachsen und weiterhin die sich entwickelnden Bedürfnisse der Nutzer zu erfüllen. Von nun an bauen wir auf dieser Grundlage auf und konzentrieren unsere kommenden Bemühungen auf Verbesserungen der Benutzerfreundlichkeit und der Leistung.
Godot v4 in Zahlen
- 4 Jahre der Entwicklung.
- 12.000 zusammengeführte Pull-Requests.
- 7.000 behobene Probleme.
- 1.500 einzelne Mitarbeiter in der Engine und in der Dokumentation.
Die Godot 4.0-Version ist nach allen Maßstäben unsere bisher größte Veröffentlichung.
Es wurde kein Stein auf dem anderen gelassen, alle Teile der Engine wurden modernisiert, refaktorisiert, überarbeitet, neu geschrieben, umgestaltet.
Godot3-Reihe weiterhin unterstützt
Die 3er-Reihe von Godot wird weiterhin unterstützt und viele der Änderungen von Godot v4 werden zur kommenden LTS-Version 3.6 zurückportiert.
Godot-3-Benutzer werden natürlich auch weiterhin viel Unterstützung erhalten, da wir relevante Funktionen und Fehlerbehebungen in die kommende Godot-Version 3.6 zurückportieren. Dies wird unser Long-Term-Support (LTS)-Release sein, das wir für die absehbare Zukunft pflegen wollen, um das bestehende Godot 3-Projekt zu unterstützen. Während der Entwicklung von Godot 4 haben wir eine Menge kompatibler und relevanter Arbeit rückportiert, und Sie werden feststellen, dass einige neue Funktionen bereits in Godot 3.4 und 3.5 eingeflossen sind.
Highlights der Beta-Version
Eine große Anzahl von ungültigen Verhaltensweisen wird nun korrekt validiert und in GDScript-Dateien gemeldet (GH-72608). Dazu gehören einige Verhaltensweisen, die zuvor als korrekt funktionierend angezeigt wurden, aber von der Engine nie wirklich unterstützt wurden (z. B. Überschreibung/Schatten der nativen Methoden der Engine). Sie können Fehler in Warnungen umwandeln oder sie ganz deaktivieren, wenn Sie dies wünschen.
- CanvasGroup-Knoten werden aufgrund einer falschen Schattierungslogik nicht mehr dunkler angezeigt als sie sollten (GH-72695).
- Die verbleibenden gemeldeten Fälle, in denen die IDs von Unterressourcen ohne Benutzereingabe vertauscht wurden, sollten nun behoben sein (GH-72257). Auch wenn das Problem behoben sein sollte, ist dies nicht die endgültige Lösung für das Problem. Wir werden die zugrundeliegenden Systeme in zukünftigen Versionen von Godot weiter verbessern, um diese Art von Situation zu vermeiden.
- Eine Liste aller globalen geskripteten Klassen kann jetzt mit einer neuen Methode, ProjectSettings.get_global_class_list() (GH-71665), abgerufen werden. Diese Methode liefert die Informationen über Ihre benutzerdefinierten Klassen, die Sie nicht aus ClassDB abrufen können und bisher aus der Projektdatei oder einer Cachedatei auslesen mussten.
- Unter bestimmten Bedingungen, nämlich wenn Partikel involviert waren, konnte das Durchlaufen des Debuggers extrem langsam und unempfindlich sein. Dies sollte nun behoben sein (GH-72827).
- Die Übersetzungsressourcen wurden umorganisiert, um ihre Auswirkungen auf die Größe des Haupt-Repositorys zu verringern (GH-70623). Wir haben auch die Einrichtung der Weblate-Plattform für Godot 4 abgeschlossen, so dass die Übersetzungsarbeiten beginnen können!
Neuigkeiten des Release Candidate
- Android: Umbenennung von Godots "custom build" in "gradle build", um den zugrunde liegenden Build-Prozess besser zu reflektieren (GH-72552).
- Android: Verbesserte Erkennung von Vulkan-Fähigkeiten unter Android (GH-72780, GH-72806, GH-72816).
- Animation: Verbesserte Konsistenz der Benennung von Animationsknoten (GH-72509).
- Animation: Fix AnimationNodeTransition Initialisierung und AnimationNode remapping Methode (GH-72722).
- Animation: Fix Animation der Audiowiedergabe unter Berücksichtigung der Zeit beim Suchen (GH-72727).
- Animation: Fix AnimationTrackEditor öffnet sich nicht, wenn ein AnimationPlayer Knoten ausgewählt wird, während ein anderer Editor geöffnet ist (GH-72805).
- Animation: Fix AnimationEditor ignoriert Region von Sprite2D (GH-72812).
- C#: C# Array mit Core synchronisieren (GH-71786).
- C#: MSBuild-Protokolle und Panel-Verbesserungen (GH-72061).
- C#: Qualifizierung des Namespace der Konsole, um Verwechslungen mit Plugin-Objekten zu vermeiden (GH-72434).
- C#: AppContext.BaseDirectory für Editor-Builds setzen und Verzeichnisse in der Ausgabe beim Export beibehalten (GH-72553, GH-72554).
- C#: IEquatable<> und Gleichheitsoperatoren für StringName und NodePath implementieren (GH-72633, GH-72635).
- C#: Umbenennen der Exporteinstellungen mono -> dotnet und Entfernen der unbenutzten AOT-Einstellungen (GH-72849).
- Kern: ProjectSettings.get_global_class_list() offenlegen und dokumentieren (GH-71665).
- Kern: Behebung der Rücksetzung von Sub-Ressourcen-IDs beim Vorladen (GH-72257).
- Kern: Behebung mehrerer Absturzursachen in Camera2D (GH-72550, GH-72665).
- Kern: Fix: Rückgabe von Dangling-Daten aus einem char StringName Konstruktor (GH-72703).
- Editor: Fix Rechtsklick auf einige Dateien ändert den Menüeintrag 'Neu' in 'Im Dateimanager anzeigen' (GH-72576).
- Editor: Verbesserte Editor-Layout-Dialoge (GH-72559).
- Editor: Fehlerhafte globale Skalierung von scaled_orthogonal() & subgizmo behoben (GH-72669).
- Editor: Verbesserte Navigation im Dialog Verbinden (GH-72741).
- Editor: Behebung der Absturzursache durch Ghost SpriteFramesEditor (GH-72783).
- Editor: Fix Sprung zur Definition für Methoden mit Strg + LMB bei Verwendung von self (GH-72789).
- Editor: Mehrere Korrekturen bei der Behandlung von Über-Plugins (GH-72796).
- Editor: Behebung einiger Fälle, in denen das Steppen durch den Debugger extrem langsam war (GH-72827).
- Editor: EditorExportPlugin._get_export_features binden (GH-72860).
- GDExtension: _err_print_error mit Message-Parameter für GDExtension verfügbar machen (GH-71865).
- GDExtension: Unnötiges stdio.h aus der GDExtension-Schnittstelle entfernen (GH-72786).
- GDExtension: Verwendung von GDExtensionBool in der GDExtension-Schnittstelle beim Löschen (GH-72878).
- GDScript: Fix Code-Vervollständigung, die nicht-statische Mitglieder für benutzerdefinierte Klassen vorschlägt (GH-70002).
- GDScript: Bessere Handhabung der @rpc-Annotation und Autovervollständigung (GH-72276).
- GDScript: Korrektur der Warnung vor unerreichbarem Code für elif-Blöcke (GH-72330).
- GDScript: Verbesserte Benutzerfreundlichkeit von Setter-Ketten (GH-72398).
- GDScript: Verbesserte Validierung und Dokumentation von @export_flags (GH-72493).
- GDScript: Fixierung der Typsicherheit für das Ergebnis des ternären Operators (GH-72512).
- GDScript: Fix can_reference Prüfung für typisierte Arrays (GH-72546).
- GDScript: Behebt mehrere Bedingungen, die zu einem Absturz führen (GH-72557, GH-72567, GH-72592).
- GDScript: Hinzufügen von Warnungen, die standardmäßig auf Fehler gesetzt sind (GH-72608).
- GDScript: Fix await type Inferenz (GH-72677).
- GDScript: Fix @export_multiline für PackedStringArray (GH-72708).
- GDScript: Erlaube @onready nicht ohne Node zu erben (GH-72794, GH-72804).
- GUI: Verwenden Sie min_size/max_size, um die Fenstergröße und Position mit popup_center* Methoden zu begrenzen (GH-62179).
- GUI: Behebung einiger Fälle von falscher Position eines Popups in OptionButton (GH-69185).
- GUI: Fix SplitContainer Rendering und Theming (GH-71862).
- GUI: Fix get_parent_anchorable_rect() gibt in manchen Fällen nicht die richtige Größe zurück (GH-72204).
- GUI: Caret wird beim Verschieben in LineEdit immer angezeigt (GH-72471).
- GUI: RichTextLabel's Kontextmenü anpassbar machen (GH-72651).
GUI: Behebt Absturz bei der Verwendung von undefinierten Systemschriften (GH-72743). - Importieren: Erlaubt das erneute Anhängen von neuen Dateien während des Importprozesses und verwendet es für eingebettete glTF-Bilder (GH-72455, GH-72628).
- Importieren: Korrekturen am glTF-Export mit Back- und Null-Prüfungen (GH-72700).
- Importieren: Bessere Fehlerbehandlung für den Blender RPC-Import (GH-72802).
- Eingabe: Fix für Maus/Ziehen/Berühren InputEvents, die keine Geräte-ID haben (GH-72740).
- Eingabe: Fix Viewport.get_mouse_position für SubViewports (GH-71768).
- Eingabe: Behebung mehrerer Eingabe- und Fokusprobleme in X11 (GH-72785, GH-72826).
- Internationalisierung: Getrennte Übersetzung von Eigenschaften und Editor, Verschieben der Quellen in separates godot-editor-l10n Repo (GH-70623).
macOS: Die minimale Anzeigedauer des Splash-Screens funktioniert nicht korrekt (GH-72307). - Navigation: Fix NavigationMesh-Baking AABB Editor Handhabung und Visualisierung (GH-72655).
- Physik: Korrektur der Ausbreitungsreihenfolge für 2D-Physik-Picking-Ereignisse (GH-68492).
- Rendering: Korrigierte Transponierung von Textur-Rect für OpenGL (GH-72586).
- Rendering: Hinzufügen von Layer-Slice-Unterstützung zu Rendergerät und
- Renderpuffern (GH-72589).
- Rendering: SoftBody3D wurde nicht mehr korrekt ausgewertet (GH-72631).
- Rendering: Offenlegung von RenderingServer.canvas_light_blend_mode (GH-72643).
- Rendering: Instanzfarbe und Instanz custom_data ignorieren, wenn sie nicht im OpenGL-Renderer verwendet werden (GH-72681).
- Rendering: Fix MultiMesh visible_instance_count wurde nach dem ersten Frame ignoriert (GH-72684).
- Rendering: Doppelte Schattierung von CanvasGroup-Knoten wird vermieden (GH-72695).
- Rendering: Implementierung von cull_mask für Abziehbilder und Lichter in mobilen und kompatiblen Backends (GH-72810).
- Rendering: Setzen von Instanzierungsflags bei Verwendung von GPUPartikeln im OpenGL-Renderer (GH-72853).
- Rendering: Optimieren von draw_dashed_line() und draw_rect() (GH-72880).
- Shader: Erlaubt .gdshader Dateien im 3-zu4-Projekt-Konverter (GH-72334).
- Shader: Behebung eines Shader-Fehlers bei der Verwendung eines Nicht-Konst-Initialisierers für eine Konstante (GH-72494).
- Shader: Verhinderung eines Vorschaufehlers für den Instanzparameter in visuellen Shadern (GH-72660).
- Fenster: Korrektur der Fenstergröße für Vollbildfenster während der Fenstererstellung (GH-72622).
- Fenster: Aktualisierung von last_focused_window, wenn das fokussierte Unterfenster gelöscht wird (GH-72624).
- XR: Unterstützung für XR-Umgebungsüberblendungsmodus hinzugefügt (GH-72604).
Godot v4 in Bild und Ton
Die Veröffentlichungshinweise für Godot v4 sind nicht nur sehr visuell geprägt, sondern auch über alle Maßen umfangreich.
Deswegen binden wir an dieser Stelle das hervorragende Erklärvideo von GDQuest ein, das einen guten Eindruck der Neuerungen bereitstellt (englisch). Die vollständigen Neuerungen von Godot v4 können in den englishsprachigen Veröffentlichungshinweisen nachgelesen werden.
Fazit und Verfügbarkeit
Godot 4.0 ist ein spannendes Release mit vielen Commits, das eine solide Basis für die weitere Entwicklung und häufigere Veröffentlichungen darstellt.
Godot ist kostenlos verfügbar, freut sich aber über Spenden.
Comments