Delen via


Overzicht van Mesh Physics

In een Mesh-ervaring is fysicasimulatie essentieel voor het inschakelen van dynamische inhoud. Om Mesh-deelnemers te voorzien van hoogwaardige gedeelde fysica-ervaringen en ontwikkelaars een productieve werkstroom te bieden bij het maken van aangepaste inhoud, hebben we het Mesh Physics-systeem gemaakt. Mesh Physics is gebaseerd op lokale gezaghebbende simulatie, wat resulteert in een zeer eenvoudige architectuur. Er is geen behoefte aan logica aan de serverzijde en speciale logica op de clients. Het belangrijkste is dat deze benadering resulteert in een zeer responsieve en lage latentie-ervaring voor elke speler die communiceert met hun omgeving, zelfs wanneer deze is verbonden met een netwerk met hoge latentie.

Gedistribueerde fysicasimulatie

Een schermafbeelding met gedistribueerde fysicaobjecten.

Mesh-fysica synchroniseert de posities van stijve lichamen en moet out-of-the-box werken, ervan uitgaande dat alle clients dezelfde scène delen. De meeste fysicafuncties van Unity (bijvoorbeeld rigidbodies, colliders, materialen en beperkingen) worden gesynchroniseerd zonder extra inspanningen van ontwikkelaars:

Opmerkingen:

  • Alleen rigidbody posities en oriëntaties worden gesynchroniseerd met interpolatie
  • Discrete statuswijzigingen (bijvoorbeeld onderbrekingsbeperkingen) en triggergebeurtenissen moeten worden vermeden

Elke client is verantwoordelijk voor het simuleren van enkele van de lichamen, het zogenaamde eigendom van gedistribueerde simulatie. Wanneer een speler een star lichaam aanraakt, wordt het eigendom van de simulatie onmiddellijk overgedragen om interactie met lage latentie mogelijk te maken. Voor naburige lichamen voert de fysicasynchronisatie-engine lokale voorspelling, interpolatie en automatische herdistributie van eigendom uit om visuele artefacten te minimaliseren.

Mesh Physics biedt interactie en aanvullende fysicagerelateerde functies zoals:

  • verschillende velden om lichamen fysiek te beïnvloeden (drijfkracht, zwaartekracht)
  • verschillende componenten om het gedrag van individuele lichamen te wijzigen (magnetisch, plakbaar, gooibaar)
  • de mogelijkheid om lichamen opnieuw in te stellen op hun opstartposities (selectief scène opruimen)
  • Play Mode with Mesh Emulation support for multi-user testing of the features above

Hier volgen nog meer dingen die u kunt doen met Mesh Physics-functies:

  • Deelnemers toestaan objecten te pakken en mee te nemen.

  • Bepalen hoe zwaartekracht van invloed is op objecten.

    Schermafbeelding van een spel dat gebruikmaakt van zwaartekracht.

  • Maak een object "plakkerig", het blijft hangen aan wat het raakt. Voorbeelden: een dart op een dartbord gooien, een afbeelding aan een muur bevestigen.

    Schermafbeelding van schilderijen die aan een muur zijn bevestigd.

  • Voeg automatisch afspeelanimaties toe die interactie hebben met fysica-lichamen.

    Schermafbeelding van een animatietrigger.

  • Toestaan dat deelnemers objecten opnieuw instellen (bijvoorbeeld een schaakbord opnieuw instellen of een ruimte opschonen nadat objecten zijn verspreid).

    Tweedelige schermafbeelding van een kamer met meubels in disarray en vervolgens dezelfde kamer met meubilair terug op de plaats.

  • Brand gebeurtenissen wanneer een object een trigger collider binnenkomt.

    Schermafbeelding van een triggervolume.

  • Maak een insluitingsveld. Objecten blijven binnen de grenzen van het veld.

    Schermafbeelding van een insluitingsveld.

  • De snelheid van een object bepalen.

  • Beheer de drijfkracht van objecten, bijvoorbeeld boten en andere zeeobjecten 'zweven'.

    Schermafbeelding van een boot die op water drijft.

  • De hoeksnelheid van een object bepalen.

  • Maak een explosie, waardoor objecten in de buurt naar buiten of in een specifieke richting worden verplaatst.

  • Maak 'bouncy'-objecten die elkaar stuiteren met een vooraf gedefinieerde snelheid.

    Schermopname van talloze ballen in mid-bounce.

  • Teleporteer een object naar een nieuwe positie en (optioneel) nieuwe draaiing.

    Tweedelige schermafbeelding van de begin- en eindpunten van een teleportatieproces.

Terminologie

In de artikelen over meshfysica wordt 'lichaam' gebruikt als afkorting voor 'Rigidbody'.

Volgende stappen