Unity und Havok Physics für DOTS-basierte Projekte

Erstellen Sie ansprechende, interaktive und dynamische Welten auf Basis des C# Data-Oriented Technology Stack von Unity.

Physics colliders

Make games that matter

Physics solutions help you give weight to the elements of your game. Whether you’re building in 2D or 3D, a first-person camera or a side-scroller, your characters and objects can react realistically to the game world around them.

Unity Physics und Havok Physics

Unity Physics und Havok Physics basieren auf dem DOTS-Framework (Data-Oriented Technology Stack). Sie können ein Projekt von einer Lösung zur anderen übertragen und beide können gleichzeitig ausgeführt werden. Sie sind datenkompatibel und ermöglichen Ihnen die Verwendung der leistungsstarken Tools und Workflows von Unity.

Unity Physics

Schnell. Schlank. Zustandslos. Anpassbar. Das ist das Mantra hinter unserer neuen Unity Physics-Lösung.

Sie basiert auf dem Unity C# DOTS-Framework und ist netzwerkfähig, komplett anpassbar und auf sofortige Leistungsfähigkeit ausgelegt. Ganz gleich, ob Sie den neuesten Bestseller für Mobilgeräte oder ein neues vernetztes Multiplayer-Konsolenerlebnis entwickeln – Unity Physics nutzt den Burst-Compiler und das Job-System zwecks Skalierung über eine Reihe von Hardware hinweg.

Unity Physics ist derzeit als Vorschauveröffentlichung über den Package Manager verfügbar und mit Unity 2019.1 und neueren Versionen kompatibel.

Havok Physics

Havok Physics
Havok Physics ist eine leistungsfähige Lösung für Kunden, die komplexe Physiksimulationen erstellen müssen. Sie basiert auf der branchenführenden Havok Physics-Engine, die von mehr als der Hälfte der Toptitel dieser Konsolengeneration verwendet wird. Sie ist im selben C#-DOTS-Framework geschrieben wie Unity Physics, beinhaltet jedoch die Funktionen, Leistung, Stabilität und Funktionalität der proprietären Havok Physics-Engine mit Closed-Code, die im nativen C++ geschrieben ist.

Lesen Sie die Dokumentation, um zu erfahren, wie Sie auf Havok Physics zugreifen.

Leistung 
Havok Physics ist auf typische Spielanwendungsfälle optimiert. Die Kernalgorithmen wurden über viele Jahre hinweg optimiert. Aufgrund der verschiedenen automatischen Cache-Strategien (einschließlich Ruhemodus für inaktive Objekte) werden CPU-Ressourcen nur dort eingesetzt, wo sie auch gebraucht werden. 

Siehe Havok Physics Unity integration : Performance - YouTube 

Verhalten
Havok Physics ist eine robuste Physik-Engine, die auf die Leistungsanforderungen auch der grafisch anspruchsvollsten Spiele, die oft detaillierte Szenen mit viel physischer Interaktion enthalten, angepasst ist. In einer mehr als zwanzigjährigen Zusammenarbeit mit Partnern in der gesamten Branche hat Havok zahlreiche der schwierigsten Probleme von Physiksimulationen identifiziert, gelöst und arbeitet fortwährend an neuen Lösungen. So lassen sich physische Objekte stabil stapeln, Artefakte bei sich schnell bewegenden Objekten minimieren und insgesamt das Verhalten besser kontrollieren, insbesondere bei der Arbeit mit nicht-optimierter Kollisionsgeometrie. 

Siehe Stacking Stability – YouTube und Mesh Welding – YouTube

Physics for object-oriented projects

If you’re working on an object-oriented project, there are two built-in physics engines to consider that cover both 3D and 2D game development.

Rust with PhysX

Built-in 3D physics: NVIDIA PhysX integration

Unity’s built-in 3D physics engine is an integration of the PhysX engine in close partnership with NVIDIA. PhysX is available directly through the Editor.

NVIDIA PhysX SDK is an open source, scalable real-time physics engine that enables advanced simulations for more immersive game play with true-to-life simulations and real-time dynamic effects. PhysX is a library for representing 3D worlds that lets you create and destroy actors and tracks their explicit or proximity-based interactions. 

PhysX SDK’s dynamics simulation capability includes support for collision, joints, and actuation using maximal and/or reduced coordinates. You can also query the world using a number of different tools, ranging from simple ray casts to sweep and overlap tests.

Learn about 3D physics
2D Physics

Built-in physics for 2D games

Unity comes with dedicated and optimized 2D physics, with many more features and optimizations to power your game.

2D Colliders enable accurate detection of your sprites’ shapes, from primitive to custom shapes. If they also include a Rigidbody 2D, the objects will react to gravity and behave as solid objects.

Objects anchored to another object also can benefit from physics with 2D Joints, adding realism to a sliding platform, chain, spring, or car. To simulate buoyancy or magnets, 2D Effectors can add non-contact physics effects.

Learn about 2D physics
Was bedeutet "deterministisch"?

Beim Determinismus geht es darum, in einer physischen Simulation das gleiche Ergebnis zu erhalten, wenn dieselben Eingaben verwendet werden. Sowohl Unity Physics als auch Havok Physics bieten deterministische Ergebnisse. Verschiedene CPU-Architekturen (x86, ARM usw.) erzeugen jedoch kleine Unterschiede in den mathematischen Berechnungen, wodurch die deterministischen Ergebnisse der Simulation auf unterschiedlicher Hardware abweichen können.

Da Burst das Problem des architekturübergreifenden Determinismus später in diesem Jahr lösen wird, wird auch Unity Physics automatisch von dieser Funktion profitieren, sodass die Simulation auf allen Geräten gleich sein wird.

Hinweis: Für Einzelarchitekturdeterminismus erfordert Unity Physics ein künftiges Burst-Update.

Was bedeutet "zustandslose Physik"?

Die meisten Physik-Engines, einschließlich Havok, sorgen mit intelligenten Optimierungen für Leistung und Stabilität. Teile des Status der Welt werden zwischengespeichert, um verschiedene Berechnungen zu umgehen oder zu stabilisieren. Zustandslose Physik sorgt stattdessen durch Brute-Force-Optimierungen für Leistung. Aus diesem Grund und weil künftige Versionen von Burst auf mehreren Architekturen ausgeführt werden können, bieten sich Vorteile für verschiedene vernetzte Szenarien. Andererseits gibt es Szenarien, in denen Havok mehr Leistung und Stabilität erreichen kann.

Welche Auswirkungen hat zustandslose Physik auf vernetzte Spiele?

Da zustandslose Physik in künftigen Versionen von Burst deterministisch auf mehreren CPU-Architekturen ausgeführt werden kann, wird sie für verschiedene vernetzte Konfigurationen einsatzbereit und einfach nutzbar sein, beispielsweise für clientseitige Vorhersagen (z. B. FPS), Lockstep-Client-Simulation (z. B. RTS) sowie GGPO/Rollback (z. B. Kampfspiele).

Welche Vorteile bietet die Verwendung von Havok Physics für meine Spiele?

Da Havok Physics verschiedene Informationen für intelligente Optimierungen zwischenspeichert, kann eine überlegene Leistung in groß angelegten Spielen oder Spielen mit komplexen Physiksystemen erreicht werden. Havok Physics bietet auch mehr Stabilität im Umgang mit durchdringenden Objekten und beim Zusammenstellen von Körpern. Auch das Verhalten wird mit einem erweiterten Reibungsmodell, das Caches erfordert, verbessert.

Kann ich Havok Physics nachträglich auf meine bestehenden Spiele anwenden? Wenn ja, wie schwierig ist das?

Havok Physics und Unity Physics verwenden dasselbe Datenmodell im Unity-Editor. Sie können Inhalte auf eine Weise schreiben und dann eines der beiden oder auch beide Physik-Backends verwenden. Ausschlaggebend hierfür sind die spezifischen Anforderungen Ihres Spiels oder der Teilbereiche Ihrer Spielewelten.

Wird mit dem neuen System etwas zerstört oder verursacht es Komplexität bei aktuellen oder künftigen Projekten?

Nein, sowohl Unity Physics als auch Havok Physics sind Opt-in-Pakete auf Basis von DOTS. Bestehende Inhalte werden nicht zerstört, Sie müssen aber Ihre bestehenden Inhalte womöglich neu abstimmen, wenn Sie zu einem dieser neuen Backends migrieren.

Wir verwenden Cookies, damit wir Ihnen die beste Erfahrung auf unserer Website bieten können. In unseren Cookie-Richtlinien erhalten Sie weitere Informationen.

Verstanden