Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Важно: UNet – устаревшее решение, а также новая многопользовательская игра и сетьсистема Unity. что позволяет играть в многопользовательские игры через компьютерную сеть. Подробнее
См. в Словарь
Решение (Netcode для GameObjects) находится в разработке. Дополнительную информацию и дальнейшие действия см. на веб-сайте Unity Netcode for GameObjects.| Многопользовательская система HLAPI Unity обрабатывает GameObjectsосновной объект в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки, и более. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
См. в Словарь
иначе, чем неигровые игровые объекты. Когда новый игрок присоединяется к игре (когда новый клиент подключается к серверу), GameObject этого игрока становится GameObject «локального игрока» на клиенте этого игрока, и Unity связывает соединение игрока с GameObject игрока. Unity связывает один игровой объект GameObject с каждым человеком, играющим в игру, и направляет сетевые команды этому отдельному игровому объекту. Игрок не может вызывать команду для GameObject другого игрока, только для своего собственного.

Класс NetworkBehaviour (из которого вы создаете свои сетевые сценарии) имеет свойство с именем isLocalPlayer. Для каждого игрового объекта игрока клиента Unity устанавливает это свойство в true в сценарии NetworkBehaviour и вызывает обратный вызов OnStartLocalPlayer(). Это означает, что каждый клиент имеет отдельный GameObject, настроенный таким образом, потому что на каждом клиенте отдельный GameObject представляет локального игрока. На диаграмме ниже показаны два клиента и их локальные игроки.

На этой диаграмме кружки представляют игровые объекты игрока, отмеченные как локальный игрок на каждом клиенте.t
На этой диаграмме кружки представляют игровые объекты игрока, отмеченные как локальный игрок на каждом клиенте.

Только GameObject игрока, который является «вашим» (с вашей точки зрения как игрока), имеет установленный флаг isLocalPlayer** **. Обычно вы должны установить этот флаг в сценарии, чтобы определить, следует ли обрабатывать ввод, делать ли камерукомпонентом, создающим изображение конкретная точка зрения в вашей сцене. Вывод либо рисуется на экране, либо фиксируется в виде текстуры. Подробнее
См. в Словарь
отслеживать GameObject или выполнять любые другие действия на стороне клиента, которые должно происходить только для игрока, принадлежащего этому клиенту.

Игровые объекты Player представляют игрока (то есть человека, играющего в игру) на сервере и могут выполнять команды из клиента игрока. Эти команды представляют собой безопасные удаленные вызовы процедур между клиентом и сервером. В этой системе, авторизованной сервером, другие игровые объекты на стороне сервера, не являющиеся игроками, не могут получать команды напрямую от игровых объектов на стороне клиента. Это делается как для безопасности, так и для уменьшения сложности создания вашей игры. Направляя все входящие команды от пользователей через GameObject игрока, вы можете быть уверены, что эти сообщения поступают из нужного места, из нужного клиента и могут обрабатываться централизованно.

Диспетчер сетиКомпонент сети, который управляет сетевым состоянием проекта. Подробнее
См. Словарь
добавляет игрока при каждом подключении клиента на сервер. Однако в некоторых ситуациях вы можете захотеть, чтобы он не добавлял игроков до тех пор, пока не произойдет событие ввода, например пользователь не нажмет кнопку «Пуск» на контроллере. Чтобы отключить автоматическое создание игрока, перейдите к окну Unity InspectorA Unity, в котором отображается информация о текущем выбранном игровом объекте, активе или настройки проекта, позволяющие просматривать и редактировать значения. Подробнее
Посмотрите в Словарь
и снимите флажок Автоматическое создание проигрывателя флажок.

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