Udostępnij za pośrednictwem


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

Zrzut ekranu przedstawiający rozproszone obiekty fizyki.

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.

    Zrzut ekranu gry wykorzystującej grawitację.

  • Zrób obiekt "lepki" — trzyma się tego, co uderza. Przykłady: rzucanie rzutką na deskę dart, dołączanie obrazu do ściany.

    Zrzut ekranu przedstawiający obrazy przymocowane do ściany.

  • Dodaj animacje autoodtwórz, które współdziałają z ciałami fizyki.

    Zrzut ekranu wyzwalacza animacji.

  • Zezwól uczestnikom na resetowanie obiektów (na przykład zresetowanie tablicy szachowej lub wyczyszczenie pomieszczenia po rozrzuceniu obiektów).

    Dwuczęściowy zrzut ekranu pokoju z meblami w chaosie, a następnie ten sam pokój z meblami z powrotem na miejscu.

  • Wyzwalanie zdarzeń, gdy obiekt wchodzi w zderzak wyzwalacza.

    Zrzut ekranu woluminu wyzwalacza.

  • Utwórz pole zawierające. Obiekty pozostaną w granicach pola.

    Zrzut ekranu przedstawiający pole zawierające.

  • Kontrolowanie prędkości obiektu.

  • Steruj pływalnością obiektów — na przykład utwórz łodzie i inne obiekty morskie "float".

    Zrzut ekranu łodzi pływającej na wodzie.

  • 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ą.

    Zrzut ekranu wielu piłek w połowie odbijania.

  • Teleportuj obiekt do nowej pozycji i (opcjonalnie) nowej rotacji.

    Dwuczęściowy zrzut ekranu przedstawiający punkty początkowe i końcowe procesu teleportacji.

Terminologia

W artykułach z fizyki siatki", "ciało" jest używane jako skrót dla "Rigidbody".

Następne kroki