Skip to content

Archives

  • styczeń 2022
  • grudzień 2021
  • listopad 2021
  • październik 2021
  • wrzesień 2021

Categories

  • Brak kategorii
Trend RepositoryArticles and guides
Articles

Unity-Technologies / multiplayer

On 16 grudnia, 2021 by admin

Witamy w repozytorium Unity Real-time Multiplayer Alpha!

Możesz tu znaleźć wszystkie zasoby potrzebne do rozpoczęcia prototypowania własnych gier wieloosobowych w czasie rzeczywistym.

Podręcznik kodu sieciowego

Podręcznik transportu

Kliknij tutaj, aby odwiedzić forum

  • Zawarta zawartość
  • Unity Transport Package
  • Unity NetCode Package
  • Przykłady
  • Ping
  • Soaker
  • Asteroids
  • LagCompensation
  • NetCube
  • Instalacja

Zawarta zawartość

  • sampleproject/ – Projekt Unity zawierający wszystkie próbki gry wieloosobowej.
  • sampleproject/Assets/Samples/Asteroids – Klon Asteroids demonstrujący podstawowe koncepcje kodu sieciowego.
  • sampleproject/Assets/Samples/LagCompensation – Próbka pokazująca kompensację opóźnień w oparciu o Unity Physics.
  • sampleproject/Assets/Samples/NetCube – Próbka pokazująca podstawowe użycie netcode.
  • sampleproject/Assets/Samples/Ping – Próbka pokazująca podstawowe użycie transportu.
  • sampleproject/Assets/Samples/Soaker – Soak tester dla transportu, do testowania typowego obciążenia produkcyjnego.
  • sampleproject/Assets/Samples/CustomNetworkInterface – Próbka pokazująca jak używać specyficznej dla gry implementacji gniazda w Unity Transport.

Unity Transport Package

Nowy pakiet transportowy Unity, który zastąpi niskopoziomowe API UNet.Podgląd pakietu transportowego obsługuje nawiązywanie połączeń i wysyłanie wiadomości do hosta aremote. Zawiera także narzędzia do serializowania strumieni danych w celu przesłania ich przez sieć.Więcej informacji o pakiecie transportowym można znaleźć w dokumentacji Unity Transport

Unity NetCode Package

Pakiet netcode zapewnia funkcje multiplayer potrzebne do implementacji synchronizacji świata w grze wieloosobowej. Używa pakietu transportowego dla funkcjonalności na poziomie gniazda i jest stworzony dla Entity Component System.Niektóre rzeczy wyższego poziomu, które zapewnia to

  • Serwerowy autorytatywny model synchronizacji.
  • Obsługa RPC, przydatna dla przepływu sterowania lub zdarzeń sieciowych.
  • Klient/serwer światowy bootrapping, dzięki czemu masz wyraźne oddzielenie logiki i możesz uruchomić serwer z wieloma klientami w jednym procesie, jak edytor podczas testowania.
  • Synchronizacja encji z interpolacją i predykcją po stronie klienta działająca domyślnie.
  • Narzędzia do debugowania ruchu sieciowego
  • Obsługa przepływu konwersji obiektów GameObject, więc możesz użyć modelu hybrydowego, aby dodać multiplayer do projektu opartego na GameObject/MonoBehaviour.

Więcej informacji na temat pakietu netcode można znaleźć w dokumentacji Unity NetCode

Przykłady

Ping

Próbka ping jest dobrym punktem wyjścia do poznania wszystkich elementów zawartych w pakiecie transportowym. Klient ping nawiązuje połączenie z serwerem ping, wysyła wiadomość ping i otrzymuje odpowiedź pong. Jest to prosty przykład pokazujący, jak używać nowego pakietu transportowego Unity.Ping składa się z wielu scen, z których wszystkie znajdują się w sampleproject/Assets/Scenes/ .

  • PingMainThread.unity – Implementacja ping tylko w głównym wątku.
  • Ping.unity – W pełni jobified wersja klienta i serwera ping.
  • PingClient.unity – Ten sam jobified kod klienta co Ping.unity, ale bez serwera.
  • PingServer.unity – Dedykowana serwerowa wersja jobified ping. Headless (lub Server Build w 2019.1) Linux 64 bit build tej sceny jest tym, co powinno być wdrożone do Multiplay.
  • PingECS.unity – Wersja ECS próbki jobified ping.

Soaker

Test warunków skrajnych, który utworzy ustaloną liczbę klientów i serwer w tym samym procesie. Każdy klient będzie wysyłał wiadomości z określoną szybkością o określonym rozmiarze i mierzył statystyki.

Asteroids

Mała gra wykorzystująca funkcje pakietu Unity NetCode.

LagCompensation

Próbka pokazująca sposób implementacji kompensacji lagów w oparciu o Unity Physics. W grze opartej na Unity NetCode klient będzie wyświetlał stary stan świata, kompensacja lagów pozwala serwerowi wziąć to pod uwagę podczas wykonywania raycastów, dzięki czemu gracz może celować w to, co jest aktualnie wyświetlane na kliencie.

NetCube

Mała próbka przedstawiająca funkcje pakietu Unity NetCode. Jest to kod używany w prezentacji Unite na temat NetCode

Instalacja

Aby wypróbować próbki w tym repozytorium, wystarczy otworzyćsampleprojects/ w Unity.Jeśli chcesz utworzyć nowy projekt Unity przy użyciu tych pakietów, jest to również możliwe.

  • Upewnij się, że masz obsługiwaną wersję Unity (2019.3 lub nowszą)
  • Utwórz nowy projekt Unity
  • Jeśli chcesz użyć NetCode, dodaj Unity NetCode z menedżera pakietów.
  • Jeśli chcesz użyć transportu, ale nie NetCode, dodaj Unity Transport z menedżera pakietów.
  • Zależności pakietów zostaną automatycznie wciągnięte do projektu

.

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Archiwa

  • styczeń 2022
  • grudzień 2021
  • listopad 2021
  • październik 2021
  • wrzesień 2021

Meta

  • Zaloguj się
  • Kanał wpisów
  • Kanał komentarzy
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress