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

Компонент Network Identity лежит в основе сетевого высокоуровневого API Unity. Он управляет GameObjectосновным объектом в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
Увидеть в Словарь
уникальный идентификатор в сети, и он использует этот идентификатор чтобы сетевая система знала об игровом объекте.

Компонент Network Identity в окне Inspector
Компонент Network Identity в окне Inspector
Свойства Функции
Server Only Установите этот флажок, чтобы убедиться, что Unity создает GameObject только на сервере, а не на клиентах.
Local Player Authority Установите этот флажок, чтобы предоставить авторизованный сетевой контроль над этим игровым объектом клиенту, которому он принадлежит. Игрок GameObject на этом клиенте имеет над ним полномочия. Другие компоненты, такие как Network Transform, используют это, чтобы определить, какой клиент следует рассматривать как источник полномочий.

Создание сетевых игровых объектов

При использовании авторитетной для сервера сетевой системы Unity сервер должен создавать сетевые игровые объекты с сетевыми идентификаторами, используя NetworkServer.Spawn. Это автоматически создает их на клиентах, подключенных к серверу, и назначает им NetworkInstanceId.

Вы должны поместить компонент Network Identity в любой префабтип актива, который позволяет хранить GameObject вместе с компонентами и характеристики. Префаб действует как шаблон, из которого вы можете создавать новые экземпляры объектов в сцене. Подробнее
См. в Словарь
, которые появляются во время выполнения, чтобы сетевая система могла их использовать. Дополнительную информацию см. в разделе Создание объектов.

Сетевые игровые объекты на основе сцен

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

При создании игры Unity отключает все игровые объекты на основе сцен с компонентами Network Identity. Когда клиент подключается к серверу, сервер отправляет сообщения о появлении, чтобы сообщить клиенту, какие игровые объекты сцены следует включить и какова их самая свежая информация о состоянии. Это гарантирует, что игра клиента не будет содержать GameObjects в неправильных местах, когда они начинают играть, или что Unity не порождает и немедленно уничтожает GameObjects при подключении (например, если событие удалило GameObject до того, как этот клиент подключился). Дополнительные сведения см. в разделе Игровые объекты сетевой сцены.

Информация о сети на панели предварительного просмотра

Этот компонент содержит информацию об отслеживании сети и отображает эту информацию на панели предварительного просмотра. Например, идентификатор сцены, идентификатор сети и идентификатор актива, которые были присвоены объекту. Это позволяет вам проверять информацию, которая может быть полезна для исследования и отладки.

Идентификатор сцены действителен во всех объектах сцены с компонентом NetworkIdentity. Идентификатор сети — это идентификатор этого конкретного экземпляра объекта. Может быть несколько объектов, созданных из определенного префаба, и сетевой идентификатор используется для идентификации того, к какому объекту следует применить сетевое обновление. Идентификатор актива относится к тому, из какого исходного актива был создан экземпляр объекта. Это используется внутренне, когда конкретный префаб GameObject создается по сети.

Во время выполнения здесь отображается дополнительная информация (отключенный NetworkBehaviour отображается нежирным шрифтом):

Информация об панели предварительного просмотра

Свойства Описание
assetId Это идентифицирует префаб, связанный с этим объектом (для создания).
clientAuthorityOwner Клиент, имеющий полномочия для этого объекта. Это будет нулевым, если ни один клиент не имеет полномочий.
connectionToClient NetworkConnection, связанный с этим NetworkIdentity. Это действительно только для объектов игрокаОбъект API высокого уровня (HPAPI), который представляет игрока на сервере и имеет возможность запускать команды (которые представляют собой защищенные вызовы удаленных процедур между клиентом и сервером) из клиента проигрывателя. Подробнее
См. в Словарь
на сервере.
connectionToServer NetworkConnection, связанный с этим NetworkIdentity. Это допустимо только для объектов игрока на локальном клиенте.
hasAuthority Истинно, если этот объект является официальной версией объекта. Это означает либо сервер для обычных объектов, либо клиент с localPlayerAuthority.
isClient Истинно, если этот объект работает на клиенте.
isLocalPlayer Это возвращает true, если этот объект представляет игрока на локальном компьютере.
isServer Истинно, если этот объект запущен на сервере и был создан.
localPlayerAuthority Истинно, если этот объект контролируется клиентом, которому он принадлежит — локальный объект игрока на этом клиенте имеет над ним полномочия. Это используется другими компонентами, такими как NetworkTransformсетевой компонент, который позволяет синхронизировать перемещения игровых объектов по сети. Подробнее
См. в Словарь
.
netIdУникальный идентификатор, присвоенный экземпляру объекта для отслеживания его между сетевыми клиентами и сервером. Подробнее
См. в Словарь
Уникальный идентификатор для этого сетевого сеанса, назначаемый при создании.
observers Список клиентских сетевых подключений, которые могут видеть этот объект. Это только для чтения.
playerControllerId Идентификатор контроллера, связанного с этим объектом. Действует только для объектов игрока.
SceneId Уникальный идентификатор сетевых объектов в сцене. Это заполняется только в игровом режиме.
serverOnly Флаг, чтобы этот объект не порождался на клиентах.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3