Omówienie fizyki siatki
W środowisku usługi Mesh symulacja fizyki jest kluczem do umożliwienia angażowania zawartości dynamicznej. Aby zapewnić uczestnikom usługi Mesh wysokiej jakości współdzielone środowiska fizyki i zaoferować deweloperom wydajny przepływ pracy w tworzeniu zawartości niestandardowej , utworzyliśmy system fizyki usługi Mesh. Fizyka mesh opiera się na lokalnej symulacji autorytatywnej, co powoduje bardzo prostą architekturę. Nie ma potrzeby logiki po stronie serwera i specjalnej logiki na klientach. Co najważniejsze, takie podejście powoduje bardzo dynamiczne i małe opóźnienia dla każdego zawodnika wchodzącego w interakcję ze swoim środowiskiem, nawet w przypadku połączenia z siecią o dużym opóźnieniu.
Symulacja fizyki rozproszonej
Fizyka siatki synchronizuje pozycje sztywnych ciał i powinna wypracować gotowe do użycia, zakładając, że wszyscy klienci mają taką samą scenę. Większość funkcji fizyki aparatu Unity (na przykład sztywne, zderzacze, materiały i ograniczenia) będzie synchronizowana bez dodatkowego wysiłku dewelopera:
Uwagi:
- Tylko sztywne położenie i orientacje osoby są synchronizowane z interpolacją
- Należy unikać zmian stanu dyskretnego (na przykład ograniczeń możliwych do przerwania) i zdarzeń wyzwalacza
Każdy klient jest odpowiedzialny za symulowanie niektórych organów, nazywanych własnością symulacji rozproszonej. Gdy gracz dotyka sztywnego ciała, własność symulacji jest natychmiast przenoszona, aby umożliwić interakcję z małymi opóźnieniami. W przypadku sąsiednich ciał aparat synchronizacji fizyki wykonuje lokalne przewidywanie, interpolację i automatyczną redystrybucję własności w celu zminimalizowania artefaktów wizualnych.
Fizyka usługi Mesh oferuje interakcje i dodatkowe funkcje związane z fizyką, takie jak:
- różne pola do fizycznego wpływania na ciała wewnątrz (buoyancy, grawitacja)
- różnych składników do modyfikowania zachowania poszczególnych ciał (magnetycznych, lepkich, rzucanych)
- możliwość resetowania ciał do ich pozycji startowych (selektywne czyszczenie sceny)
- Tryb odtwarzania z obsługą emulacji siatki na potrzeby testowania wielu użytkowników powyższych funkcji
Oto więcej rzeczy, które można wykonać za pomocą funkcji fizyki usługi Mesh:
Zezwalaj uczestnikom na chwytanie i przenoszenie obiektów.
Kontrolowanie wpływu grawitacji na obiekty.
Zrób obiekt "lepki" — trzyma się tego, co uderza. Przykłady: rzucanie rzutką na deskę dart, dołączanie obrazu do ściany.
Dodaj animacje autoodtwórz, które współdziałają z ciałami fizyki.
Zezwól uczestnikom na resetowanie obiektów (na przykład zresetowanie tablicy szachowej lub wyczyszczenie pomieszczenia po rozrzuceniu obiektów).
Wyzwalanie zdarzeń, gdy obiekt wchodzi w zderzak wyzwalacza.
Utwórz pole zawierające. Obiekty pozostaną w granicach pola.
Kontrolowanie prędkości obiektu.
Steruj pływalnością obiektów — na przykład utwórz łodzie i inne obiekty morskie "float".
Sterowanie prędkością kątową obiektu.
Utwórz eksplozję, powodując przejście pobliskich obiektów na zewnątrz lub w określonym kierunku.
Utwórz obiekty "bouncy", które odbijają się od siebie ze wstępnie zdefiniowaną prędkością.
Teleportuj obiekt do nowej pozycji i (opcjonalnie) nowej rotacji.
Terminologia
W artykułach z fizyki siatki", "ciało" jest używane jako skrót dla "Rigidbody".