25. Januar 2023

Innovationen in der physikalischen Simulation: mehr Interaktion

*Unter Mitwirkung von David Ávila.

Wir arbeiten weiter an den Funktionen unserer 3D-Grafik-Engine Evergine. Heute stellen wir Ihnen eine vor, die uns besonders begeistert und mit der Sie so unterschiedliche Bewegungen wie Teilchenkollisionen oder die Wirkung der Luft auf ein stehendes Auto im Windkanal simulieren können.

Was wir umgesetzt haben

Bisher boten Demos von Physik-Engines im Webbrowser meist nur stark eingeschränkte Funktionen: wenige Objekte und begrenzte Interaktionsmöglichkeiten … Wie Sie unten sehen, haben wir dagegen den gesamten Funktionsumfang einer fortschrittlichen Physik-Engine (Bullet Physics) in den Webbrowser gebracht. Das ermöglicht anspruchsvollere Echtzeit-Physiksimulationen. Im folgenden Beispiel sehen Sie eine Simulation mit Joints, die verschiedene physikalische Objekte miteinander verbinden (die einzelnen Glieder der Brücke) und dynamisch auf die übrigen Würfel der Szene reagieren:

Dieses Physikniveau im Webbrowser zu erreichen, war nicht einfach. Im folgenden Video sehen Sie noch mehr Elemente und wie sie miteinander interagieren, wenn sie von physikalischen Projektilen getroffen werden:

Wofür es eingesetzt wird

Diese Innovation lässt sich in verschiedenen Branchen nutzen, etwa zur Darstellung von Teilchenkollisionen, wovon auch Forschungslabore, Universitäten und andere Bildungseinrichtungen profitieren. Ebenso kann sie für virtuelle Windkanäle eingesetzt werden, um den Luftwiderstand von Fahrzeugen, Flugzeugen oder Brücken zu testen. Zudem ist es nun möglich, bei der Nachbildung atmosphärischer Phänomene in Webanwendungen Blitze mathematisch „einschlagen“ zu lassen. Darüber hinaus ermöglichen realistische physikalische Simulationen die Gestaltung fortschrittlicher Umgebungen für maschinelles Lernen.

Auch WebXR kann von der Web-Unterstützung für physikalische Simulationen profitieren – etwa durch eine WebXR-fähige Webanwendung auf dem Smartphone, die über den Bildschirm die Interaktion mit physikalischen Objekten ermöglicht, die per AR (Augmented Reality) virtuell in der realen Welt platziert werden.

Wie wir es erreicht haben

Bei Evergine ist unsere wichtigste Physik-Engine die Open-Source-Engine Bullet Physic, kurz Bullet. Vor Kurzem ist es uns gelungen, Bullet für WASM zu kompilieren, ein Binärcodeformat für Webbrowser.

Alle uns bekannten Grafik-Engines verwenden externe Physik-Engines und kompilieren nach JavaScript oder S.js, doch nur wenige kompilieren nach WASM. Möglich wurde dies dank Emscripten, mit dem sich WASM aus C++-Code erzeugen lässt, sowie dank der jüngsten Entwicklungen von Microsoft bei den Blazor-Compilern, mit denen wir die Bibliothek Bullet Physics einbinden und in der Evergine-Engine nutzen können. All dies wurde durch die neuesten Entwicklungen ermöglicht, die Microsoft in Blazor.NET6 veröffentlicht hat, einem weiteren Framework des Unternehmens für die Anwendungsentwicklung.

Kurz gesagt: Diese Innovation bringt uns an die Spitze der Grafik-Engines und der 3D-Bilderzeugung im Webbrowser. Wenn Sie mehr über die Neuerungen in Evergine dank der Fortschritte von Blazor und .NET6 erfahren möchten, helfen wir Ihnen gern weiter.

josé manuel blanco
Autor
José Manuel Blanco
Content Specialist