Важно: UNet — это устаревшее решение, а также новая многопользовательская и сетьсистема Unity, которая обеспечивает многопользовательскую игру. игры через компьютерную сеть. Подробнее См. в Словарь Решение (Netcode для GameObjects) находится в разработке. Дополнительную информацию и дальнейшие действия см. на веб-сайте Unity Netcode for GameObjects. |
При создании многопользовательской игры помимо синхронизации свойств сетевых игровых объектов вам, вероятно, потребуется отправлять, получать и реагировать на другие фрагменты информации. - например, когда начинается матч, когда игрок присоединяется к матчу или покидает его, или другая информация, относящаяся к вашему типу игры, например уведомление для всех игроков о том, что флаг был захвачен в стиле «захват флага». игра.
В высокоуровневом API Unity Networking есть три основных способа передачи информации такого типа.
Удаленные действия
Удаленные действия позволяют вам вызывать метод в вашем скрипте по сети. Вы можете настроить методы вызова сервера на всех клиентах или на отдельных клиентах. Вы также можете заставить клиентов вызывать методы на сервере. Используя удаленные действия, вы можете передавать данные в качестве параметров своим методам способом, очень похожим на то, как вы вызываете методы в локальных (не многопользовательских) проектах.
Обратные вызовы в сети
Сетевые обратные вызовы позволяют подключаться к встроенным событиям Unity, которые происходят в ходе игры, например, когда игроки присоединяются или выходят, когда GameObjectsОсновной объект в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
См. в Словарь создаются или уничтожаются, или когда new СценаСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
See in Словарь загружен. Существует два типа сетевых обратных вызовов, которые вы можете реализовать:
обратные вызовы диспетчера сети для обратных вызовов, связанных с диспетчером сетиСетевой компонент, который управляет сетевым состоянием проекта. Подробнее
Просматривать в самом Словарь (например, когда клиенты подключаются или отключаются)Обратные вызовы сетевого поведения для обратных вызовов, относящихся к отдельным сетевым игровым объектам (например, когда вызывается его функция Start или что должен делать этот конкретный игровой объект, если к игре присоединяется новый игрок) р>
Сетевые сообщения
Сетевые сообщения — это подход «низкого уровня» к отправке сообщений (хотя они по-прежнему классифицируются как часть сетевого «API высокого уровня»). Они позволяют отправлять данные напрямую между клиентами и сервером с помощью сценариев. Вы можете отправлять базовые типы данных (int, string и т. д.), а также наиболее распространенные типы данных Unity (например, Vector3). Поскольку вы реализуете это самостоятельно, эти сообщения не связаны напрямую с какими-либо конкретными объектами GameObject или событиями Unity — вы сами решаете их назначение и реализуете!