Condividi tramite


Panoramica della fisica delle mesh

In un'esperienza Mesh, la simulazione della fisica è fondamentale per abilitare contenuti dinamici coinvolgenti. Per offrire ai partecipanti a Mesh esperienze fisiche condivise di alta qualità e offrire agli sviluppatori un flusso di lavoro produttivo nella creazione di contenuti personalizzati, è stato creato il sistema Mesh Physics . Mesh Physics si basa su una simulazione autorevole locale, che si traduce in un'architettura molto semplice. Non è necessario usare la logica sul lato server e la logica speciale nei client. Ancora più importante, questo approccio si traduce in un'esperienza molto reattiva e a bassa latenza per ogni giocatore che interagisce con il proprio ambiente, anche quando è connesso a una rete ad alta latenza.

Simulazione della fisica distribuita

Screenshot che mostra gli oggetti fisici distribuiti.

La fisica delle mesh sincronizza le posizioni dei corpi rigidi e dovrebbe funzionare in modo predefinito, presupponendo che tutti i client condividano la stessa scena. La maggior parte delle funzionalità fisiche di Unity (ad esempio, corpi rigidi, collisori, materiali e vincoli) verrà sincronizzata senza ulteriori sforzi da parte degli sviluppatori:

Note:

  • Solo le posizioni del corpo rigido & gli orientamenti sono sincronizzate con l'interpolazione
  • È necessario evitare le modifiche dello stato discreto (ad esempio, i vincoli interrompibili) e gli eventi di trigger

Ogni client è responsabile della simulazione di alcuni corpi, denominata proprietà della simulazione distribuita. Quando un giocatore tocca un corpo rigido, la proprietà della simulazione viene immediatamente trasferita per consentire l'interazione a bassa latenza. Per i corpi adiacenti, il motore di sincronizzazione della fisica esegue stime locali, interpolazioni e ridistribuzione automatica della proprietà per ridurre al minimo gli artefatti visivi.

Mesh Physics offre interazione e funzionalità aggiuntive correlate alla fisica, ad esempio:

  • vari campi per influenzare fisicamente i corpi all'interno (galleggiamento, gravità)
  • vari componenti per modificare il comportamento dei singoli corpi (magnetico, appiccicoso, gettabile)
  • la possibilità di ripristinare i corpi nelle posizioni di avvio (pulizia selettiva della scena)
  • Modalità di riproduzione con supporto dell'emulazione mesh per il test multi-utente delle funzionalità precedenti

Di seguito sono riportate altre operazioni che è possibile eseguire con le funzionalità di Fisica mesh:

  • Consentire ai partecipanti di afferrare e trasportare oggetti.

  • Controllare il modo in cui la gravità influisce sugli oggetti.

    Screenshot di un gioco che usa la gravità.

  • Rendi un oggetto "appiccicoso" - si attacca a qualsiasi cosa colpisca. Esempi: lancio di un dardo su una tavola dardo, collegamento di un'immagine a un muro.

    Screenshot di dipinti collegati a un muro.

  • Aggiungere animazioni di riproduzione automatica che interagiscono con i corpi fisici.

    Screenshot di un trigger di animazione.

  • Consenti ai partecipanti di reimpostare gli oggetti (ad esempio, reimpostare una scacchiera o pulire una stanza dopo che gli oggetti sono stati sparsi).

    Screenshot in due parti di una stanza con mobili in disordine e poi la stessa stanza con mobili sul posto.

  • Genera eventi quando un oggetto entra in un collisore di trigger.

    Screenshot di un volume di trigger.

  • Creare un campo di contenimento. Gli oggetti rimarranno entro i limiti del campo.

    Screenshot di un campo di contenimento.

  • Controllare la velocità di un oggetto.

  • Controllare la galleggiabilità degli oggetti, ad esempio rendere "float" le barche e altri oggetti in mare.

    Screenshot di una barca che galleggia sull'acqua.

  • Controllare la velocità angolare di un oggetto.

  • Creare un'esplosione, facendo sì che gli oggetti vicini si spostino verso l'esterno o in una direzione specifica.

  • Creare oggetti "gonfiabili" che rimbalzano tra loro con una velocità predefinita.

    Screenshot di numerose palle a metà rimbalzo.

  • Teletrasportare un oggetto in una nuova posizione e (facoltativo) una nuova rotazione.

    Screenshot in due parti dei punti iniziale e finale di un processo di teletrasporto.

Terminologia

In tutti gli articoli sulla fisica delle mesh, "body" viene usato come forma abbreviata per "Rigidbody".

Passaggi successivi