Prima lecție (care nu include cursul introductiv) este dedicată configurației de bază a proiectului. Totul incepe cu faptul ca trebuie sa adaugati un Caractere Standard Asset, de unde vom lua FpsController in viitor. Dar mai aproape de corpul rețelei ...
Conceptul general al UNET este că există un server și există clienți.
Serverul poate fi fie o mașină dedicată, fie un jucător obișnuit. În cel de-al doilea caz, se numește gazda (adică client + server.
Jucătorii rămași se alătură serverului și transmit toate datele prin acesta. Aceasta este diferența principală față de rețeaua veche, unde jucătorii au făcut schimb de date direct.
Gazda, spre deosebire de alți jucători, transmite datele la sine, deoarece este serverul. În plus, aceste date, precum datele altor jucători, sunt transferate celorlalți jucători.
Următorul concept important este un obiect local. Acesta este un obiect care este asociat cu clientul local actual. Un jucător nu poate executa comenzi pe un obiect care nu îi aparține. Un caz comun este de a verifica dacă obiectul jucătorului (prefabricat pe scenă) aparține clientului local actual. Dacă avem doi clienți în cameră și fiecare are propriul obiect al jucătorului, atunci pentru fiecare obiect trebuie să fie pornite / oprite unele componente. Proprietatea isLocalPlayer indică dacă obiectul este asociat cu clientul local.
Orice obiect de rețea trebuie să aparțină fie serverului, fie altui jucător.
Cu toate acestea, numai serverul poate crea obiectul. După ce serverul creează obiectul, toți clienții conectați îl pot vedea (dacă obiectul este vizibil :)). După aceasta, subsistemul de rețea poate sincroniza starea obiectului și gestiona ciclul său de viață.
În componenta NetworkIdentity, există încă un câmp - localPlayerAuthority. Se spune că obiectul este sub autoritatea clientului local. Acest lucru este necesar pentru alte componente ale sistemului, de exemplu, NetworkTransform.
Dar există obiecte care trebuie să fie sub puterea serverului. De exemplu, mulțimi, bonusuri, pradă pe hartă.
Înainte - managerul. Aceasta este o componentă standard a sistemului. El știe cum să gestioneze scenele, să poată să creeze un prefab player și să îl asocieze cu un client local. În general, o mulțime de magie are loc sub capota lui.