Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты
Важно: UNet — это устаревшее решение, а также новая многопользовательская и сетьсистема Unity, которая обеспечивает многопользовательскую игру. игры через компьютерную сеть. Подробнее
См. в Словарь
Решение (Netcode для GameObjects) находится в разработке. Дополнительную информацию и дальнейшие действия см. на веб-сайте Unity Netcode for GameObjects.

В многопользовательской системе Unity существует два типа сетевых игровых объектов:

  • Те, которые создаются динамически во время выполнения

  • Те, которые сохраняются как часть сцены

Игровые объекты, которые создаются динамически во время выполнения, используют многопользовательскую систему порождения и префабыТип ассета, позволяющий хранить GameObject вместе с компонентами и свойствами. Префаб действует как шаблон, из которого вы можете создавать новые экземпляры объектов на сцене. Подробнее
См. в Словарь
, из которого они созданы, должны быть зарегистрированы в Диспетчер сетиКомпонент сети, который управляет сетевым состоянием проекта. Подробнее
См. в списке Словарь
подключенных к сети GameObjectОсновной объект в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
См. в сборных Словарь
.

Однако сетевые игровые объекты, которые вы сохраняете как часть СценыСцена, содержат среду и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь
(и, следовательно, уже существует в сцене при ее загрузке) обрабатываются по-разному. Эти игровые объекты загружаются как часть сцены как на клиенте, так и на сервере и существуют во время выполнения до того, как многопользовательская система отправит какие-либо сообщения о появлении.

При загрузке сцены все сетевые игровые объекты в сцене отключаются** **как на клиенте, так и на сервере. Затем, когда сцена полностью загружена, Network Manager автоматически обрабатывает сетевые игровые объекты сцены, регистрируя их все (и, следовательно, вызывая их синхронизацию между клиентами) и активируя их, как если бы они были созданы во время выполнения.

Сохранение сетевых игровых объектов в вашей сцене (вместо их динамического создания после загрузки сцены) имеет некоторые преимущества:

  • Они загружаются вместе с уровнем, поэтому паузы во время выполнения не будет.
  • Они могут иметь определенные модификации, отличные от готовых.
  • Другие экземпляры GameObject в сцене могут ссылаться на них, что позволяет избежать использования кода для поиска GameObjects и создания ссылок на них во время выполнения.

Когда Network Manager создает сетевые игровые объекты сцены, эти игровые объекты ведут себя как динамически создаваемые игровые объекты. Unity отправляет им обновления и вызывает ClientRPC.

Если игровой объект сцены уничтожается на сервере до того, как клиент присоединится к игре, он никогда не будет включен для новых присоединяющихся клиентов.

Когда клиент подключается, ему отправляется сообщение о появлении ObjectSpawnScene для каждого из существующих игровых объектов Scene. на сервере, которые видны этому клиенту. Это сообщение активирует GameObject на клиенте и содержит последнее состояние этого GameObject с сервера. Это означает, что на клиенте активируются только те игровые объекты, которые видны клиенту и не уничтожаются на сервере. Как и обычные игровые объекты, не являющиеся сценой, эти игровые объекты сцены запускаются с последним состоянием, когда клиент присоединяется к игре.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3