Приступая к работе
В этом документе описаны шаги по созданию многопользовательской игры с помощью Mirror. Описанные здесь инструкции являются упрощенной версией инструкций более сложного уровня для реальной игры; она не всегда работает в точности так, как сложная, но она предоставляет базовый рецепт процесса.
Видео туториалы
Посмотрите эти потрясающие видеоролики показывающие как начать работу с Mirror.
Шаблоны скриптов
Создавайте новые скрипты Network Behaviour и другие сценарии быстрее
Смотреть Шаблоны скриптов.
Network Manager Setup
Создайте новый Network Manager из меню Assets > Create > Mirror.
Добавьте новый GameObject на сцену и переименуйте его в “NetworkManager”.
Добавьте только что созданному объекту Network Manager компонент “NetworkManager”.
Также добавьте NetworkManagerHUD на данный объект. Он реализует пользовательский интерфейс для управления состоянием сетевой игры.
Смотреть Как пользоваться NetworkManager'ом.
Prefab игрока
Найдите prefab для объекта игрока или же создайте его
Добавьте NetworkIdentity компонент prefab'у игрока
Назначьте
Player Prefab
в поле "player prefab" NetworkManager’аУдалите объект игрока на сцене если он там есть
Смотрите Player Objects для получения более подробной информации.
Движение игрока
Добавьте NetworkTransform компонент на prefab игрока
Проверьте чтобы SyncDirection у компонента стоял на селекторе ClientToServer.
Обновите скрипт передвижения, чтобы выполнялась проверка на
isLocalPlayer
Добавьте метод OnStartLocalPlayer для того чтобы в нём взять контроль над главной камерой сцены.
Например, данный скрипт обрабатывает движение только для локального игрока:
Базовое состояние игрока
Наследуйте скрипты, содержащие важные данные именно от NetworkBehaviour вместо MonoBehaviours
Используйте SyncVar для синхронизации важных переменных
Смотреть Синхронизация состояний.
Удаленные действия
Наследуйте скрипты, которые выполняют важные действия именно от NetworkBehaviour вместо MonoBehaviours
Обновите важные функции игрока на [Command]
Смотреть Удаленные действия.
Неигровые GameObjects
Исправьте неигровые prefab'ы, такие как враги:
Добавьте NetworkIdentity компонент
Добавьте NetworkTransform компонент
Назначьте эти prefab'ы в массив "Spawnable Objects" в NetworkManager'е
Обновите скрипты с действиями и состояниями для работы в сети
Спавнеры
Унаследуйте сценарии спавна на NetworkBehaviours
Измените спавнеры на работу только со стороны сервера (используйте isServer проверку или
OnStartServer()
функцию)Вызывайте
NetworkServer.Spawn()
для создания игровых объектов
Позиция спавна для игроков
Создайте новый GameObject и разместите в точку для стартовой позиции
Добавьте NetworkStartPosition компонент на данный объект
Last updated