Freigeben über


Übersicht über Gitterphysik

In einer Mesh-Erfahrung ist die Physiksimulation entscheidend, um dynamische Inhalte zu ermöglichen. Um Mesh-Teilnehmern qualitativ hochwertige gemeinsame Physikerfahrungen bereitzustellen und Entwicklern einen produktiven Workflow zum Erstellen von benutzerdefinierten Inhalten zu bieten, haben wir das Mesh Physics-System erstellt. Die Gitterphysik basiert auf der lokalen autoritativen Simulation, was zu einer sehr einfachen Architektur führt. Es ist keine serverseitige Logik und spezielle Logik auf den Clients erforderlich. Am wichtigsten ist, dass dieser Ansatz zu einer sehr reaktionsfähigen und niedrigen Latenz für jeden Spieler führt, der mit seiner Umgebung interagiert, auch wenn er mit einem Netzwerk mit hoher Latenz verbunden ist.

Verteilte Physiksimulation

Screenshot mit verteilten Physikobjekten.

Die Gitterphysik synchronisiert die Positionen starrer Körper und sollte sofort funktionieren, vorausgesetzt, alle Clients teilen sich dieselbe Szene. Die meisten Unity-Physikfeatures (z. B. Starrbodies, Kollidierungen, Materialien und Einschränkungen) werden ohne zusätzlichen Entwickleraufwand synchronisiert:

Hinweise:

  • Nur starre Positionen und Ausrichtungen werden mit Interpolation synchronisiert.
  • Diskrete Zustandsänderungen (z. B. unterbrechungsfähige Einschränkungen) und Triggerereignisse müssen vermieden werden.

Jeder Kunde ist dafür verantwortlich, einige der Körper zu simulieren, die als verteilter Simulationsbesitz bezeichnet werden. Wenn ein Spieler einen starren Körper berührt, wird der Simulationsbesitz sofort übertragen, um interaktionen mit geringer Latenz zu ermöglichen. Bei benachbarten Körpern führt das Physiksynchronisierungsmodul lokale Vorhersage, Interpolation und automatische Besitzerumverteilung durch, um visuelle Artefakte zu minimieren.

Gitterphysik bietet Interaktion und zusätzliche physikbezogene Funktionen wie:

  • verschiedene Felder, um Körper innerhalb physisch zu beeinflussen (Auftrieb, Schwerkraft)
  • verschiedene Komponenten zur Änderung des Verhaltens einzelner Körper (magnetisch, klebbar, werfend)
  • die Möglichkeit, Körper auf ihre Startpositionen zurückzusetzen (selektive Szenenbereinigung)
  • Play Mode with Mesh Emulation support for multi-user testing of the features above

Hier sind weitere Möglichkeiten, die Sie mit den Funktionen der Gitterphysik erledigen können:

  • Erlauben Sie Teilnehmern, Objekte zu erfassen und zu tragen.

  • Steuern, wie sich die Schwerkraft auf Objekte auswirkt.

    Screenshot eines Spiels, das schwerkraft verwendet.

  • Machen Sie ein Objekt "sticky" – es bleibt an dem, was es trifft. Beispiele: Das Werfen eines Darts an einem Dartbrett, das ein Bild an eine Wand anfügt.

    Screenshot von Gemälden, die an einer Wand befestigt sind.

  • Fügen Sie Animationen für die automatische Wiedergabe hinzu, die mit physischen Körpern interagieren.

    Screenshot eines Animationstriggers.

  • Zulassen, dass Die Teilnehmer Objekte zurücksetzen (z. B. ein Schachbrett zurücksetzen oder einen Raum bereinigen, nachdem Objekte verstreut wurden).

    Zweiteiliger Screenshot eines Zimmers mit Möbeln in Unarray und dann dasselbe Zimmer mit Möbeln zurück.

  • Löst Ereignisse aus, wenn ein Objekt in einen Trigger kollidiert.

    Screenshot eines Triggervolumes.

  • Erstellen Sie ein Eindämmungsfeld. Objekte bleiben innerhalb der Grenzen des Felds.

    Screenshot eines Eindämmungsfelds.

  • Steuern der Geschwindigkeit eines Objekts.

  • Kontrollieren Sie die Auftriebsfähigkeit von Objekten , z. B. machen Sie Boote und andere seegende Objekte "float".

    Screenshot eines Bootes, das auf Wasser schwimmend ist.

  • Steuern der Winkelgeschwindigkeit eines Objekts.

  • Erstellen Sie eine Explosion, wodurch objekte in der Nähe nach außen oder in eine bestimmte Richtung verschoben werden.

  • Erstellen Sie "Bouncy"-Objekte, die sich mit einer vordefinierten Geschwindigkeit voneinander abspringen.

    Screenshot von zahlreichen Bällen mitten in der Unzustellbarkeit.

  • Teleportieren eines Objekts an eine neue Position und (optional) neue Drehung.

    Zweiteiliger Screenshot der Start- und Endpunkte eines Teleportierungsprozesses.

Terminologie

Während der Artikel "Mesh Physics" wird "Body" als Kurzform für "Rigidbody" verwendet.

Nächste Schritte