Engine & platform

Получите нашу новую техническую электронную книгу о Multiplayer networking для Unity-разработчиков

THOMAS KROGH-JACOBSEN / UNITY TECHNOLOGIESProduct Marketing Core Tech
Dec 10, 2024|5 Мин
Новая электронная книга: Сеть Multiplayer игр для Unity-разработчиков
Эта веб-страница была переведена с помощью машинного перевода для вашего удобства. Мы не можем гарантировать точность или надежность переведенного контента. Если у вас есть вопросы о точности переведенного контента, обращайтесь к официальной английской версии веб-страницы.

Вы опытный разработчик однопользовательских игр, который планирует создать свой первый Multiplayer-проект в Unity? Тогда не забудьте ознакомиться с нашей новой технической электронной книгой для Multiplayer networking, которая теперь доступна для загрузки.

Мы разработали новое руководство с двойной целью: Во-первых, чтобы предоставить вам фундаментальное, подробное объяснение ключевых понятий в сетевом сетевом интерфейсе Multiplayer. Во-вторых, расскажет вам, как использовать сетевые функции Unity и Multiplayer, рассмотрев пример проекта Multiplayer на основе Netcode for GameObjects.

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

В этом руководстве вы предполагаете, что знакомы с Unity и C#, но только начинаете или только начинаете работу с сетевыми функциями.

Получите новую электронную книгу Multiplayer networking
Разработка Multiplayer игр
Время поездки в оба конца — это показатель сетевых задержек.
Время поездки в оба конца — это показатель сетевых задержек.

Может показаться сложным начать разработку Multiplayer, но это становится проще, если вы поймете ключевые понятия сетевого взаимодействия.

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

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

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

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

  • Сравнение RPC и сетевыхпеременных
  • Дизайн для Multiplayer игр
  • Задержка и производительность в сети
  • Моделирование задержки
  • Симулятор Unity Transport
  • Интерполяция на стороне клиента
  • Прогнозирование и прогнозирование на стороне клиента
  • Почему серверные полномочия
  • Как работает прогнозирование на стороне клиента
  • Выверка и откат
  • Ожидание клиента в Netcode for GameObjects
  • Физика детерминизма
  • Прогнозирование на стороне клиента в Netcode for Entities

В заключение мы представляем вам инструменты и решения Unity для разработки Multiplayer: Фреймворки Netcode for GameObjects и Netcode for Entities, сервисы Game Server Hosting (Multiplay), Relay и Vivox для голосового и текстового чатов и многое другое. Сюда же относится введение в функции Unity 6 для Multiplayer, которые делают интеграцию, итерации и развертывание как никогда надежными и быстрыми.

Основы Unity Multiplayer в одном руководстве
Шаг за примером проекта Netcode for GameObjects
Эта простая игровая механика показывает взаимодействие клиента и сервера.
Эта простая игровая механика показывает взаимодействие клиента и сервера.

Мы реализовали теорию в электронной книге, предоставив практический пример настройки и создания первого проекта Unity Netcode for GameObjects. Пример — простой пример проекта, использующий ассеты из пакета Starter Assets – ThirdPerson. Это имитирует 3D-игровой процесс с человекоподобным персонажем с помощью Universal Render Pipeline (URP). Он включает в себя небольшую сцену тестовой площадки и настраиваемый контроллер от третьего лица. Приведя пример, вы познакомитесь с такими понятиями, как:

  • Установка Netcode for GameObjects
  • Добавление NetworkManager
  • Сетевые объекты
  • Player NetworkObject
  • Создание сетевого объекта игрока
  • Режим Multiplayer игры
  • Создание собственных кнопок запуска интерфейса
  • Добавление NetworkBehaviour
  • Авторитет и собственность
  • Синхронизация с помощью NetworkTransform и NetworkAnimator
  • Применение полномочий клиента
  • Авторитетные компоненты режима владельца
  • Синхронизация с сервером
  • Схема дизайна Singleton

Помимо электронной книги вы также можете посмотреть это новое руководство, в котором рассматриваются ключевые этапы настройки Multiplayer игры с помощью Netcode for GameObjects:

Другие примеры, которые помогут вам начать работу
Демофильм Megacity Metro от Unity поддерживает более 128 игроков.
Демофильм Megacity Metro от Unity поддерживает более 128 игроков.

Электронная книга завершается подробным обзором новейших примеров проектов Unity, с которыми вы можете ознакомиться на следующем этапе обучения. Примеры созданы для того, чтобы помочь вам начать работу с Netcode for GameObjects и Netcode for Entities. Сюда относятся новый шаблон VR Multiplayer, обновленные обучающие материалы, репозиторий Bitesize Samples, семплы Netcode ECS и пример Megacity Metro.

Надеемся, что новая электронная книга Multiplayer и дополнительные примеры ресурсов помогут вам эффективно приступить к разработке Multiplayer в Unity 6. Если у вас остались вопросы или комментарии, опубликуйте их в этой статье. И наконец, ознакомьтесь с новейшими ресурсами Unity на странице unity.com/how-to.