02. Juli 2024

Das erste Evergine-Release 2024 ist da!

Wir freuen uns, das neue Release von Evergine anzukündigen! Es ist unser erstes großes Update im Jahr 2024. Ursprünglich für Februar geplant, hat sich das Release verzögert, da wir uns auf die Entwicklung kundenspezifischer Funktionen für einige unserer Kunden konzentriert haben. Wir danken Ihnen für Ihre Geduld und entschuldigen uns für etwaige Unannehmlichkeiten.

Evergine ist die Grafik-Engine, die wir bei Plain Concepts mit großer Sorgfalt entwickelt haben, um unsere internen Produkte anzutreiben. Unser Lizenzmodell ist seit über einem Jahrzehnt unverändert und legt Wert auf Zugänglichkeit für alle Nutzer:

  • Evergine ist für die kommerzielle Nutzung völlig kostenlos.
  • Keine Registrierung erforderlich.
  • Wir überwachen weder Ihre Nutzung noch Ihre Aktivitäten (keine Telemetrie).
  • Die Lizenz gilt für alle Branchen.

Was ist neu?

Wir setzen alles daran, die wichtigsten Funktionswünsche der Industrie umzusetzen, und diese neue Version von Evergine enthält mehrere zentrale Verbesserungen. Wir haben die vollständige Unterstützung für .NET 8.0 auf allen unseren Plattformen integriert und nutzen damit die erheblichen Leistungsverbesserungen von C# 12, den Runtimes und den Precompilern. Unsere OpenXR-Unterstützung wurde um neue Funktionen erweitert, um die neuesten VR/MR-Geräte zu unterstützen. Eine der meistgewünschten Funktionen, verschachtelte Prefabs, ist jetzt zusammen mit einem neuen Prefab-Editor verfügbar. Außerdem haben wir intensiv daran gearbeitet, das Laden von Geometrien und Texturen mithilfe von Technologien wie Draco und Skia zu beschleunigen. Diese Updates bieten Ihnen leistungsstarke Werkzeuge und eine verbesserte Performance, damit Sie noch beeindruckendere Projekte umsetzen können.

Herunterladen und installieren

Alle Schritte zur Migration eines bestehenden Projekts auf die neue Version der Engine finden Sie hier: https://docs.evergine.com/2024.6.28/manual/get_started/upgrade_project.html

Neue .NET-8-Vorlagen

Mit diesem Release führen wir neue .NET-8-Vorlagen für alle unsere Plattformen ein, einschließlich Mobile (iOS, Android) und Web. Microsoft entwickelt diese Technologie rasant weiter und integriert zahlreiche Leistungsverbesserungen, die für 3D-Grafikanwendungen entscheidend sind.

Zu den wichtigsten Neuerungen in .NET 8.0 gehören eine optimierte Speichernutzung und geringere Speicherfragmentierung, verbesserte Compiler-Optimierungen für eine schnellere und effizientere Codeausführung, eine verbesserte Garbage Collection sowie kürzere Startzeiten durch Ahead-of-Time-Kompilierung (AOT).

Der Support für .NET 6.0 endet offiziell im November 2024. Wenn Sie ein neues 3D-Grafikprojekt beginnen, empfehlen wir Ihnen daher dringend, die neuen Vorlagen für Ihre Zielplattform zu verwenden, um .NET 8.0 schon heute in Evergine zu nutzen.

Offizielle Unterstützung für Quest 3

Wir freuen uns, die offizielle Unterstützung für die Meta Quest 3 bekannt zu geben. Das bedeutet, dass wir alle neuen Funktionen, einschließlich des Farb-Passthrough, geprüft und optimiert haben, um eine optimale Leistung sicherzustellen. Mit diesem neuen Release kann jede auf Evergine basierende Quest-2-App nun so kompiliert werden, dass sie die Funktionen der Quest 3 unterstützt.

Die Quest 3 bietet gegenüber ihrem Vorgänger mehrere Verbesserungen. Sie verfügt über ein größeres Sichtfeld mit einem horizontalen FOV von 110° (zuvor 97°) und einem vertikalen FOV von 96° (zuvor 93°). Außerdem ist sie mit dem Snapdragon-XR2-Chipsatz der zweiten Generation und 8 GB RAM ausgestattet, verglichen mit 6 GB bei der Quest 2. Darüber hinaus eröffnet das vollfarbige Passthrough neue Möglichkeiten für Mixed-Reality-Anwendungen. Dadurch ist die Quest 3 besonders für industrielle Branchen von Vorteil, da sie sowohl Virtual- als auch Augmented-Reality-Erlebnisse verbessert.

Sehen Sie sich das XRSample in unserem Beispiel-Repository auf GitHub an, um die Möglichkeiten auf der Meta Quest 3 zu erleben: https://github.com/EvergineTeam/XRSample

Verschachtelte Prefabs, neuer Prefab-Editor und Codegenerierung für Prefabs

Wir freuen uns, zwei bedeutende neue Funktionen in Evergine vorzustellen: verschachtelte Prefabs (Nested Prefabs) und den Prefab-Editor.

Mit verschachtelten Prefabs können Sie komplexe, hierarchische Prefab-Strukturen erstellen, indem Sie Prefabs in andere Prefabs einbetten. Dieser modulare Ansatz ermöglicht die effiziente Wiederverwendung von Komponenten, sorgt für Konsistenz und spart Zeit bei der Projektentwicklung.

Der Prefab-Editor bietet eine intuitive Oberfläche zum Erstellen und Bearbeiten von Prefabs mit Echtzeit-Aktualisierungen und präziser Steuerung. Dieses Tool vereinfacht die Verwaltung von Prefabs und ermöglicht detaillierte Anpassungen, ohne bestehende Instanzen zu beeinflussen, bis die Änderungen übernommen werden.

Diese Funktionen steigern die Effizienz Ihrer Arbeitsabläufe, fördern ein modulares Design und gewährleisten die Konsistenz Ihrer Projekte. Sie sind besonders bei großen 3D-Projekten von Vorteil, da sie eine einfachere Verwaltung und schnellere Iterationen ermöglichen.

Im Einklang mit unserem Anspruch an effizienten Code bringt dieses Release eine wesentliche Verbesserung: Prefabs werden in Code umgewandelt. Diese Änderung führt zu deutlich kürzeren Ladezeiten von Szenen, wie die folgende Tabelle zeigt:

Bildlader verwenden jetzt SkiaSharp

Auf Grundlage des Feedbacks unserer Kunden haben wir unsere Bildlader durch die Integration der Bibliothek SkiaSharp verbessert. Diese Änderung verkürzt die Ladezeiten von Bildern zur Laufzeit oder aus Assets erheblich, insbesondere auf Plattformen wie Meta Quest und Web. Auf der Web-Plattform werden PNG- und JPG-Dateien häufig über URLs oder aus Inhalten geladen. Diese Neuerung bringt hier eine Leistungssteigerung von bis zu 98 %, wovon jedes Webprojekt erheblich profitiert.

Das folgende Diagramm und die Tabelle zeigen die durchschnittlichen Ergebnisse unserer internen Tests, in denen wir die alten Lader mit den neuen SkiaSharp-basierten Ladern verglichen haben.

Neue Unterstützung für glTF-Draco-Komprimierung

Draco ist eine von Google entwickelte Bibliothek zum Komprimieren und Dekomprimieren von 3D-Geometrienetzen und Punktwolken. Ihr Hauptziel ist es, die Größe von 3D-Assets zu reduzieren und so die Effizienz bei Speicherung und Übertragung deutlich zu steigern, insbesondere in Webprojekten.

Darüber hinaus unterstützt die glTF-Spezifikation eine Erweiterung, mit der sich komprimierte Geometriedaten (wie Vertices, Normalen, Farben und Texturkoordinaten) mithilfe der Draco-Komprimierung laden lassen.

Mit diesem Release haben wir Unterstützung für die glTF-Draco-Erweiterung eingeführt. Sie können Ihre Inhaltsdateien jetzt also als komprimiertes glTF hinzufügen und so die Gesamtgröße der Inhalte verringern.

Die folgende Tabelle zeigt die Ergebnisse, die wir mit einem Testsatz von glTF-Dateien erzielt haben. Wie erwartet erreichen Modelle mit komplexerer Geometrie höhere Kompressionsraten:

Neue Evergine-Runtime-Bibliotheken

Wir freuen uns, die neuen Evergine.Runtime-Bibliotheken vorzustellen, die das Laden dynamischer Modelle in Evergine flexibler und effizienter machen.

Das Laden dynamischer Modelle war schon immer eine Herausforderung. Deshalb haben wir neue Runtime-Pakete eingeführt, die die Formate GLB und STL unterstützen. Mit diesen Paketen können Sie Szenarien abdecken, in denen Ihre Modelle nicht Teil des ursprünglichen Anwendungspakets sind, also keine statischen Anwendungs-Assets sind oder als Raw-Assets gekennzeichnet sind.

Mit den Evergine.Runtime-Bibliotheken können Sie Modelle jetzt dynamisch aus dem Internet herunterladen und Ihren Benutzern nahtlos anzeigen. Diese Funktion ist besonders nützlich für Anwendungen, die Modellaktualisierungen in Echtzeit oder die Integration nutzergenerierter Inhalte erfordern. Die neuen Runtime-Loader-Pakete optimieren diesen Prozess und machen es einfacher denn je, dynamische Inhalte in Ihre Projekte einzubinden.

Diese Neuerungen ermöglichen es Entwicklern, dynamischere und interaktivere Anwendungen zu erstellen, die den Benutzern stets die neuesten Inhalte bereitstellen, ohne dass häufige Updates oder große Erstdownloads nötig sind.

Entdecken Sie die neuen Evergine.Runtime-Bibliotheken und erfahren Sie, wie sie Ihren 3D-Entwicklungsworkflow verändern können. Darüber hinaus werden wir mit diesem neuen Ansatz die Unterstützung für viele weitere Industrieformate bereitstellen.

Verbesserungen an MRTK und XRV (neue Komponenten und Verbesserungen)

Wir freuen uns, einige Neuerungen an unseren Bibliotheken MRTK und XRV vorzustellen, zentralen Werkzeugen für die Entwicklung von XR-Erlebnissen mit unserer 3D-Engine Evergine. Die neuen Funktionen sollen Ihren Entwicklungsprozess reibungsloser und flexibler gestalten. Hier ein kurzer Überblick:

MRTK: Bessere Steuerelemente und mehr Flexibilität

Wir haben einige Anpassungen an MRTK vorgenommen, die Ihnen die Arbeit erleichtern sollten:

  • Verbesserungen an der ListView: Die Abmessungen der ListView lassen sich jetzt einfacher festlegen, sodass sie sich besser in Ihre übrigen UI-Elemente einfügt. Außerdem haben wir eine Ladeanzeige hinzugefügt, die Sie während des Ladens von Daten ein- oder ausblenden können – ideal etwa für Webanfragen.
  • Neue Datenadapter: Wir haben geändert, wie ListViews über Datenadapter befüllt werden. Dadurch werden weniger Strings instanziiert und typisierte Daten verwendet. Das beschleunigt die Ausführung und ermöglicht es Ihnen, das Layout jeder Zelle individuell anzupassen, um einzigartige Ansichten zu erstellen.
  • Neues ComboBox-Steuerelement: Auch die neue ComboBox ist äußerst praktisch. Sie können ihre Größe einfach ändern, das ausgewählte Element dynamisch festlegen sowie die Pfeilschaltfläche und den Platzhaltertext anpassen.

XRV: Bessere Benachrichtigungen und Fensterverwaltung

Auch XRV hat einige interessante neue Funktionen erhalten:

  • Notification Hub: Er ist Teil des Fenstersystems von XRV und ermöglicht die Anzeige schwebender Panels mit Symbol, Titel und Nachricht. Bei mehreren Benachrichtigungen werden diese nacheinander mit einem Zähler-Badge angezeigt, damit die Benutzer nicht überfordert werden.
  • Anpassbare Titelleisten: Sie können die Titelleiste Ihrer Fenster jetzt so anpassen, dass sie eine benutzerdefinierte Ansicht anzeigt. So haben Sie mehr Kontrolle über Aussehen und Funktionsweise Ihrer Fenster.
  • Flexible Aktionsschaltflächen: Statt eines festen Satzes von Aktionsschaltflächen können Sie jetzt beliebig viele hinzufügen. Wenn zu viele vorhanden sind, um sie gleichzeitig anzuzeigen, erscheint eine zusätzliche Schaltfläche, die beim Anklicken die übrigen in einer Liste anzeigt.

Diese Neuerungen sollen Ihnen die Arbeit erleichtern und Ihnen helfen, bessere XR-Anwendungen zu entwickeln.

Ausblick

Evergine ist ein sehr aktives Projekt, und wir fügen laufend neue Funktionen hinzu, um den sich wandelnden Herausforderungen der Industrie gerecht zu werden. Unsere Leidenschaft für Technologie treibt die Entwicklung von Evergine an und sorgt dafür, dass jede Version branchenübergreifend mehr Produktivität bietet.

Derzeit prüfen wir die Aufnahme von DICOM-Unterstützung für das Gesundheitswesen, mit einem eigenen, auf Raytracing basierenden Renderer, der sowohl Desktop- als auch Webanwendungen unterstützt. Dies wird die Entwicklung innovativer Produkte im Gesundheitswesen erleichtern.

Für die neuen Evergine.Runtime-Bibliotheken ist eine spannende Roadmap geplant. Künftige Releases werden weitere spezifische Dateiformate unterstützen, sodass Unternehmen mit industriellen Rohformaten arbeiten können, ohne 3D-Dateien konvertieren zu müssen.

Darüber hinaus treiben wir unsere Forschung zu den Technologien Neural Radiance Fields und Gaussian Splatting voran. Diese Entwicklungen werden in den kommenden Jahren voraussichtlich erhebliche Auswirkungen auf Medienunternehmen haben, ebenso wie auf Unternehmen, die an Digital-Twin-Projekten zur Digitalisierung von Bau und Instandhaltung arbeiten.

Außerdem experimentieren wir über NeRF hinaus mit KI-basierten Technologien und konzentrieren uns dabei auf Tools, mit denen Benutzer neue 3D-Inhalte aus Text oder Bildern generieren können. Die Ergebnisse sind beeindruckend, und diese Technologie entwickelt sich rasant weiter. Wir haben spannende Pläne, diese KI-Funktionen in künftigen Releases in Evergine Studio zu integrieren. Bleiben Sie dran!

Vielen Dank, dass Sie Evergine unterstützen. Wir freuen uns, gemeinsam mit Ihnen bessere Technologie für Ihre Produkte zu entwickeln.

Javier canton
Autor
Javier Cantón
Plain Concepts Research