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
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.
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.
Aggiungere animazioni di riproduzione automatica che interagiscono con i corpi fisici.
Consenti ai partecipanti di reimpostare gli oggetti (ad esempio, reimpostare una scacchiera o pulire una stanza dopo che gli oggetti sono stati sparsi).
Genera eventi quando un oggetto entra in un collisore di trigger.
Creare un campo di contenimento. Gli oggetti rimarranno entro i limiti del campo.
Controllare la velocità di un oggetto.
Controllare la galleggiabilità degli oggetti, ad esempio rendere "float" le barche e altri oggetti in mare.
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.
Teletrasportare un oggetto in una nuova posizione e (facoltativo) una nuova rotazione.
Terminologia
In tutti gli articoli sulla fisica delle mesh, "body" viene usato come forma abbreviata per "Rigidbody".