Unity3d unet урок 1 готуємо проект

Перший урок (не рахуючи вступний звичайно) присвячений базовому налаштуванні проекту. Все починається з того, що потрібно додати стандартний Ассет Characters, з якого візьмемо в подальшому FpsController. Але ближче до тіла мережі ...

Загальна концепція UNET така - є сервер, а є клієнти.

Unity3d unet урок 1 готуємо проект

Сервером може бути як виділена машина, так і звичайний гравець. У другому випадку його називає хостом (host) - тобто клієнт + сервер.

Решта гравців приєднуються до сервера і передають усі дані через нього. Це головна відмінність від старої мережі, де гравці обмінювалися даними безпосередньо.

Хост, на відміну від інших гравців, передає дані сам собі, тому що він є сервером. Однак далі, ці дані, як і дані інших гравців, передаються іншим гравцям.

Unity3d unet урок 1 готуємо проект

Наступне важливе поняття - локальний об'єкт. Це об'єкт, який асоційований (пов'язаний) з поточним локальним клієнтом. Гравець не може виконувати команди на об'єкті, який йому не належить. Частий випадок - перевірка приналежності об'єкта гравця (префаб на сцені) до поточного локального клієнта. Якщо у нас двоє клієнтів в кімнаті і у кожного свій об'єкт гравця, то потрібно для кожного об'єкта якісь компоненти влючая / вимкнути. Властивість isLocalPlayer говорить про те, асоційований даний об'єкт з локальним клієнтом.

Будь-мережевий об'єкт повинен належати або сервера, або якогось гравця.

Однак, створити об'єкт може тільки сервер. Після того, як сервер створить об'єкт, все підключені клієнти зможуть його побачити (якщо об'єкт видимий :)). Після цього мережева підсистема зможе синхронізувати стан об'єкта і управляти його життєвим циклом.

У компоненті NetworkIdentity є ще одне поле - localPlayerAuthority. Воно говорить про те, що об'єкт знаходиться під владою локального клієнта. Це потрібно для інших компонентів системи, наприклад, NetworkTransform.

Але є об'єкти, які повинні знаходиться під владою сервера. Наприклад моби, бонуси, Лут на карті.

Unity3d unet урок 1 готуємо проект

Далі - менеджер. Це стандартний компонент системи. Він вміє керувати сценами, вміє спавн префаб гравця і асоціювати його з локальним клієнтом. Загалом, багато магії відбувається під його капотом.

Схожі статті