Dela via


Översikt över meshfysik

I en Mesh-upplevelse är fysiksimulering nyckeln till att aktivera engagerande dynamiskt innehåll. För att ge Mesh-deltagare delade fysikupplevelser av hög kvalitet och erbjuda utvecklare ett produktivt arbetsflöde för att skapa anpassat innehåll har vi skapat Mesh Physics-systemet . Mesh Physics bygger på lokal auktoritativ simulering, vilket resulterar i en mycket enkel arkitektur. Det finns inget behov av logik på serversidan och särskild logik på klienterna. Viktigast av allt är att den här metoden resulterar i en mycket dynamisk och kort svarstid för varje spelare som interagerar med sin miljö, även när den är ansluten till ett nätverk med hög latens.

Distribuerad fysiksimulering

En skärmbild som visar distribuerade fysikobjekt.

Mesh fysik synkroniserar positionerna för stela kroppar och bör fungera out-of-the-box, förutsatt att alla klienter delar samma scen. De flesta funktioner i Unity-fysiken (till exempel styva kroppar, kolliderare, material och begränsningar) synkroniseras utan extra utvecklararbete:

Anteckningar:

  • Endast rigidbody-positioner och orienteringar synkroniseras med interpolering
  • Diskreta tillståndsändringar (till exempel brytbara begränsningar) och utlösarhändelser måste undvikas

Varje klient ansvarar för att simulera några av organen, som kallas för distribuerat simuleringsägarskap. När en spelare rör vid en stel kropp överförs simuleringsägarskapet omedelbart för att tillåta interaktion med låg latens. För närliggande organ utför fysiksynkroniseringsmotorn lokal förutsägelse, interpolation och automatisk ägarskapsdistribution för att minimera visuella artefakter.

Mesh Physics erbjuder interaktion och ytterligare fysikrelaterade funktioner som:

  • olika fält för att fysiskt påverka kroppar inuti (flytkraft, gravitation)
  • olika komponenter för att ändra beteendet hos enskilda kroppar (magnetisk, klibbig, kastbar)
  • möjlighet att återställa kroppar till sina startpositioner (selektiv scenrensning)
  • Uppspelningsläge med mesh-emuleringsstöd för testning av funktionerna ovan

Här är fler saker du kan göra med meshfysikfunktioner:

  • Tillåt deltagarna att ta tag i och bära objekt.

  • Kontrollera hur gravitationen påverkar objekt.

    Skärmdump av ett spel som använder gravitation.

  • Gör ett objekt "klibbigt" – det håller sig till vad det än träffar. Exempel: kasta en pil på en darttavla, fästa en bild på en vägg.

    Skärmdump av målningar fästa på en vägg.

  • Lägg till autospelade animeringar som interagerar med fysikkroppar.

    Skärmbild av en animeringsutlösare.

  • Tillåt deltagare att återställa objekt (till exempel återställa ett schackkort eller rensa ett rum efter att objekt har spridits).

    Skärmbild i två delar av ett rum med möbler i oordning och sedan samma rum med möbler på plats igen.

  • Utlös händelser när ett objekt anger en utlösare.

    Skärmbild av en utlösarvolym.

  • Skapa ett inneslutningsfält. Objekten håller sig inom fältets gränser.

    Skärmbild av ett inneslutningsfält.

  • Kontrollera hastigheten för ett objekt.

  • Kontrollera flytkraften hos objekt – till exempel göra båtar och andra havsgående objekt "flyta".

    Skärmdump av en båt som flyter på vatten.

  • Kontrollera angularhastigheten för ett objekt.

  • Skapa en explosion, vilket gör att närliggande objekt flyttas utåt eller i en specifik riktning.

  • Skapa "hoppiga" objekt som studsar av varandra med en fördefinierad hastighet.

    Skärmdump av många bollar i mitten studs.

  • Teleportering av ett objekt till en ny position och (valfritt) ny rotation.

    Skärmbild i två delar av start- och slutpunkterna för en teleporteringsprocess.

Terminologi

I meshfysikartiklarna används "kropp" som förkortning för "Rigidbody".

Nästa steg