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

Обзор мультиплеера

Важно: UNet является устаревшим решением, и новое многопользовательское и сетевое решение (Netcode for GameObjects) находится в стадии разработки. Дополнительную информацию и дальнейшие действия см. на веб-сайте Unity Netcode for GameObjects.

Существует два типа пользователей для сетевой функции:

  • Пользователи, создающие многопользовательскую игру с помощью Unity. Эти пользователи должны начать с NetworkManager или API высокого уровняСистема создания многопользовательских возможностей для игр Unity. Он построен поверх нижнего уровня транспортного уровня связи в реальном времени и выполняет многие общие задачи, необходимые для многопользовательских игр. Подробнее
    См. в Словарь
    .
  • Пользователи, создающие сетевую инфраструктуру или сложные многопользовательские игры. Эти пользователи должны начать с API NetworkTransport.

API сценариев высокого уровня

Сеть Unity имеет высокоуровневый API сценариев (который мы будем называть HLAPI). Использование этого означает, что вы получаете доступ к командам, которые охватывают большинство общих требований для многопользовательских игр, не беспокоясь о деталях реализации «нижнего уровня». HLAPI позволяет:

  • Управляйте сетевым состоянием игры с помощью «Диспетчера сетиСетевой компонент, который управляет сетевым состоянием проекта. Подробнее
    См. в Словарь
    ».
  • Управлять играми, размещенными на клиенте, где хост также является клиентом игрока.
  • Сериализация данных с помощью сериализатора общего назначения.
  • Отправлять и получать сетевые сообщения.
  • Отправлять сетевые команды с клиентов на серверы.
  • Выполнять удаленные вызовы процедур (RPC) с серверов на клиенты.
  • Отправлять сетевые события с серверов на клиенты.

Интеграция движка и редактора

Сеть Unity интегрирована в движок и редактор, что позволяет вам работать с компонентами и визуальными средствами для создания многопользовательской игры. Он обеспечивает:

  • NetworkIdentityСетевой компонент, который позволяет вы должны назначить идентификатор вашему игровому объекту, чтобы сеть распознала его как игровой объект локального игрока или игровой объект только для сервера. Подробнее
    См. компонент Словарь
    для сетевых объектов.
  • А NetworkBehaviour для сетевых сценариевКусок кода, позволяющий создавать собственные Компоненты, запускать игровые события, изменять свойства Компонентов с течением времени и реагировать на действия пользователя любым удобным для вас способом. Подробнее
    См. в Словарь
    .
  • Настраиваемая автоматическая синхронизация преобразований объектов.
  • Автоматическая синхронизация переменных сценария.
  • Поддержка размещения сетевых объектов в сценах UnityСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
    См. в Словарь
    .
  • Сетевые компоненты

Интернет-сервисы

Unity предлагает интернет-сервисы для поддержки вашей игры на всех этапах производства и выпуска, в том числе:

  • Служба знакомств
  • Создавайте совпадения и рекламируйте совпадения.
  • Вывести список доступных совпадений и присоединиться к совпадениям.
  • Сервер ретрансляции
  • Игра через Интернет без выделенного сервера.
  • Маршрутизация сообщений для участников матчей.

Транспортный уровень NetworkTransport в реальном времени

Мы включаем транспортный уровень в реальном времени, который предлагает:

  • Оптимизирован протокол на основе UDP.
  • Многоканальный дизайн, чтобы избежать проблем с блокировкой в ​​начале очереди.
  • Поддержка различных уровней качества обслуживания (QoS) для каждого канала.
  • Гибкая топология сети, поддерживающая одноранговые или клиент-серверные архитектуры.

Аутентификация

Сеть Unity реализует простые встроенные функции аутентификации, которые обеспечивают базовую поддержку проверки сеансов, но не являются надежным решением для аутентификации.

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

Поскольку Unity обеспечивает только простую встроенную аутентификацию, если вам требуется надежная защита от вредоносных действий в вашей игре или приложении, вам следует использовать сторонние решения для аутентификации и шифрования или реализовать их самостоятельно с помощью подключаемых модулей, таких как эталонная реализация и API NetworkTransport.

Примеры проектов

Вы также можете ознакомиться с примерами многопользовательских проектов, чтобы увидеть, как эти функции используются вместе. Следующие примеры проектов можно найти в этой записи форума Unity:

  • Пример многопользовательской 2D-танки
  • Многопользовательская игра Invaders с подбором игроков
  • Многопользовательский двухмерный космический шутер с подбором игроков.
  • Минимальный многопользовательский проект
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3