
Ankündigung des neuen Evergine-Major-Release
Heute haben wir Evergine 2022.9.28 angekündigt. Dies ist das zweite Major-Release in diesem Jahr 2022, gemäß unserer Roadmap mit zwei Major-Releases pro Jahr. In diesem Major-Release haben wir dank des Feedbacks unserer Kunden zahlreiche neue Funktionen und Verbesserungen hinzugefügt.
Was ist neu?
In diesem Major-Release haben wir uns auf Fehlerbehebungen und Leistungsverbesserungen konzentriert und große Fortschritte erzielt, etwa mit der neuen hardwarebeschleunigten Mathematik-API. Außerdem haben wir neue Produktivitätsfunktionen hinzugefügt, darunter den neuen 3D-Text-Editor, Quest-Unterstützung für MRTK-Steuerelemente und Hand Tracking. Wir haben neue Tools entwickelt, etwa die ARCore-Erweiterung und eine ImGui-Erweiterung mit den Bibliotheken ImPlot, ImNodes und ImGuizmo, neben weiteren Tools, die Evergine Studio hinzugefügt wurden. Schließlich haben wir die Referenzdokumentation weiter verbessert. Wir hoffen, dass Ihnen all diese Änderungen gefallen.
Hier können Sie Evergine herunterladen:
Die wichtigsten Highlights
- Neuer Partikel-Editor
- ARCore-Integration
- SIMD-basierte Mathematik
- MRTK auf Quest
- Unterstützung für Quest Hand Tracking
- Neue Schriftarten und Textunterstützung
- ImGui, ImPlot, ImNodes und ImGuizmo
- Visuelle Konfiguration von SceneManagern
- Level of Detail für Modelle
- Experimentelle WebXR-Vorlage
- Rendern in Windows-Forms-Steuerelementen
- Mehr Dokumentation
Neuer Partikel-Editor
Das Partikelsystem in Evergine wird verwendet, um Effekte zu rendern, die sich mit Meshes oder Sprites normalerweise nur schwer darstellen lassen. Bis zu dieser Version musste das Partikelsystem in Evergine jedoch per Code konfiguriert werden. Mit diesem neuen Major-Release stellen wir ein neues Tool in Evergine Studio vor, mit dem Sie alle Parameter dieses komplexen Partikelsystems ganz einfach ausprobieren können.
Lesen Sie hier mehr über den neuen Partikelsystem-Editor und seine Funktionen.
ARCore-Integration
Eine der interessantesten Neuerungen dieser Version für Mobile-Entwickler ist die Unterstützung von ARCore in der ARMobile-Erweiterung. Damit können Sie auf die ARCore-API zugreifen, um die Bewegung des Geräts im Raum zu verfolgen, was zum Rendern von 3D-Objekten über dem Kamerabild genutzt wird. Die Anwendung hat außerdem Zugriff auf Funktionen zur Lichtschätzung und zum Face Tracking.
Lesen Sie hier mehr über die neuen Funktionen der ARMobile-Erweiterung.
SIMD-basierte Mathematik
Die neue Evergine-Version bringt Leistungsverbesserungen in der Bibliothek Evergine.Mathematics. Sie nutzt jetzt die neue Unterstützung für SIMD-API-Befehle in NET6, mit der Sie von den CPU-Herstellern definierte hardwarebeschleunigte Befehle verwenden können. Die neue API prüft, ob die Hardware diese Erweiterungen unterstützt, und verwendet sie in diesem Fall; andernfalls greift sie auf den abwärtskompatiblen Pfad zurück. Auf x64- und x86-Architekturen können SSE- und AVX-Vektoren genutzt werden, auf der Arm64-Architektur AdvSIMD. Das Ergebnis all dieser Arbeit ist ein 3- bis 4-facher Leistungsgewinn bei Operationen mit Math4x4, Matrix3x3, Quaternion und Vector4.
Lesen Sie mehr über die neue SIMD-basierte Mathematik hier.
MRTK auf Quest
Unser Mixed Reality Toolkit (MRTK) mit zahlreichen 3D-Steuerelementen eignet sich zur Erstellung von Mixed-Reality-Anwendungen für HoloLens 2 und ist jetzt auch mit Meta-Quest-Geräten kompatibel. So können Sie damit 3D-Anwendungen für diese Plattform erstellen und den Code zwischen MR- und VR-Geräten teilen. Das ist besonders für schnelles Prototyping von MR-Anwendungen auf Quest nützlich, da das Deployment schneller geht.

Unterstützung für Quest Hand Tracking
Die OpenXR-Integration bietet jetzt Hand Tracking. Mit Hand Tracking in XR-Anwendungen können Benutzer mit ihren Händen mit virtuellen Objekten und Umgebungen interagieren. Dies ist eine neue Art, mit Ihrer virtuellen Szene zu interagieren, ohne die üblichen Hand-Controller zu benötigen.
Meta-Quest-Geräte profitieren am meisten von dieser Funktion.
Lesen Sie mehr über die Unterstützung für Quest Hand Tracking hier.
Neue Schriftarten und Textunterstützung
In dieser Major-Version haben wir einen neuen Asset-Typ und ein Editor-Tool für 3D-Text in Evergine Studio hinzugefügt. Der neue 3D-Text ist GPU-beschleunigt und nutzt die Multi-Channel-Signed-Distance-Field-Technik, um Aliasing-Effekte abhängig von der Größe auf dem Bildschirm zu reduzieren. Mit dem neuen Font-Editor können Sie TTF-Dateien verwenden, um eine neue Schriftart sowie den Zeichensatz in UTF-8- oder ASCII-Codierung zu definieren, den Sie in 3D-Texten verwenden können.
Lesen Sie hier mehr über den neuen 3D-Text und die Schriftart-Tools.

ImGui, ImPlot, ImNodes und ImGuizmo.
Mit dem ersten Release dieses Jahres haben wir die Unterstützung für die ImGui-Bibliothek in unserer Low-Level-API eingeführt. Für dieses Release haben wir eine neue ImGui-Erweiterung entwickelt, die einen ImGuiManager enthält, um die Nutzung über unsere High-Level-API mithilfe von Behaviors zu vereinfachen. Außerdem haben wir Unterstützung für drei der interessantesten Komponenten- und Widget-Bibliotheken auf Basis von ImGui hinzugefügt.
- ImGuizmo enthält einige 3D-Widgets, die für schnelles Prototyping von WYSIWYG-Editoren nützlich sind.
- ImPlot ist eine umfassende Bibliothek zum Rendern einfacher und komplexer Diagramme mit der GPU.
- ImNodes bietet eine einfache Schnittstelle zum Erstellen eines Node-Graph-Editors.
Lesen Sie hier mehr über diese neue Erweiterung.
Visuelle Konfiguration von SceneManagern
Bisher mussten SceneManager per Code konfiguriert werden, doch mit dieser Version bieten wir eine neue Möglichkeit, dies direkt im Studio zu tun. Wechseln Sie in Evergine Studio zum Bereich „Entity Detail“; dort finden Sie jetzt eine neue Registerkarte namens „Scene Managers“. Hier können Sie die Parameter der integrierten Manager wie AssetSceneManager, BehaviorManager oder ShadowMapManager bearbeiten, ebenso wie die Ihrer eigenen SceneManager, die Sie in Visual Studio schreiben.

Level of Detail für Modelle
Level of Detail (LOD) ist eine Technik, die die Anzahl der GPU-Operationen reduziert, die Evergine zum Rendern weit entfernter Modelle benötigt. Damit kann Evergine die Komplexität des für eine Entity gerenderten Modells abhängig von ihrer Entfernung zur Kamera verringern. Sie können LOD-Stufen in Ihrer externen 3D-Modellierungsanwendung konfigurieren, und Evergine erstellt und konfiguriert automatisch die benötigte Entity und die Komponenten für Sie, sobald Sie das Modell per Drag & Drop in eine Szene ziehen. Im Hierarchiebaum wird dies als übergeordnete Entity mit einer untergeordneten Entity für jede definierte LOD-Stufe dargestellt. Die übergeordnete Entity muss eine LODGroup-Komponente enthalten, mit der Sie alle Parameter konfigurieren können, um das Modell abhängig von der Entfernung zur Kamera korrekt zu rendern, und jedes untergeordnete Element erhält eine LODEntry-Komponente mit den Informationen, die die LODGroup zur Definition der jeweiligen Stufe benötigt.

Experimentelle WebXR-Vorlage
Der WebXR-W3C-Vorschlag befindet sich derzeit noch im Entwurfsstadium, ist aber bereits ab Version 79 in Chrome implementiert. Unterstützt wird er derzeit auf dem PC mit Chrome oder Firefox sowie auf Mobilgeräten und der Meta-Quest-Plattform mit dem Chrome-Browser, wo er durch Setzen eines Flags unter chrome://flags aktiviert werden kann.
Wir haben eine neue Projektvorlage hinzugefügt, um WebXR-AR-Technologie + WebGL mit Evergine zu nutzen, und wir werden diesen interessanten neuen Standard für Web-Plattformen weiter verfolgen.
Rendern in Windows-Forms-Steuerelementen
Mit diesem neuen Release können Sie Evergine nicht nur in einem Windows-Forms-Fenster rendern (das den gesamten Fensterbereich einnimmt), sondern auch ein benutzerdefiniertes Steuerelement als Renderziel verwenden. So können Sie eine Evergine-Oberfläche mit anderen Windows-Forms-Steuerelementen kombinieren.
Um Evergine als Benutzersteuerelement zu verwenden, nutzen Sie einfach FormsSurface und registrieren Sie es als Rendering-Steuerelement:
var surface = windowsSystem.CreateSurface(0, 0) as FormsSurface;
window.SetEvergineControl(surface.NativeControl);
windowsSystem.RegisterLoopThreadControl(surface.NativeControl);
window.Show();
Weitere Informationen finden Sie in unserem UIWindowsSystemDemo.
Mehr Dokumentation
Wir haben die Website mit der Referenzdokumentation weiter verbessert und Informationen zu den neu hinzugefügten Erweiterungen ImGui und ARMobile ergänzt. Die Dokumentation zu XRPlatform wurde um neue Funktionen erweitert, und wir haben zwei neue große Abschnitte zur Arbeit mit Audio und Physik erstellt. Audio ist ein zentraler Bestandteil der Engine; hier erläutern wir den vollständigen Workflow, um Projekten Sounds und Effekte hinzuzufügen. Im neuen Abschnitt zur Physik haben wir versucht, die Möglichkeiten der Physik-Engine ausführlich zu erklären.
Alle Änderungen finden Sie unter https://docs.evergine.com/

Upgrade-Leitfaden
Wir haben einige Änderungen zur Unterstützung von LOD in Modellen vorgenommen, die einen erneuten Export dieser Art von Assets erfordern. Wenn Sie ein bestehendes Projekt aktualisieren möchten, sollten Sie den Ordner .evergine (auf derselben Ebene wie Ihre Evergine-Projektdatei) löschen, um diesen Exportvorgang zu erzwingen.
Ausblick
Im Laufe dieses Jahres werden wir weitere Minor-Versionen veröffentlichen, das nächste Major-Release folgt jedoch 2023. Wir arbeiten weiterhin eng mit den Unternehmen zusammen, die Evergine bereits in ihren Produkten einsetzen, sowie mit denen, die jetzt damit beginnen. Wir arbeiten an der Unterstützung neuer industrieller Dateiformate, neuer Plattformen und Technologien. Und schließlich werden wir unsere Web-Plattform weiter verbessern und neue Standards unterstützen, um Unternehmen bei der Entwicklung neuer 3D-Produkte auf Basis von Evergine zu helfen.
Wir hoffen, Sie hatten beim Lesen so viel Freude wie wir beim Schreiben.
Einen schönen Tag noch!





