Hero image

Создание многопользовательских игр с Unity Netcode

Попробуйте решение Unity для создания сетевого кода и получите библиотеки, учебные материалы и примеры для начала разработки.

Эта веб-страница была переведена с помощью машинного перевода для вашего удобства. Мы не можем гарантировать точность или надежность переведенного контента. Если у вас есть вопросы о точности переведенного контента, обращайтесь к официальной английской версии веб-страницы.

Смотреть

Решения NetCode для казуальных кооперативных игр

Пакет Netcode for GameObjects предназначен для разработки казуальных кооперативных многопользовательских игр. Синхронизируйте сцены и данные GameObjects между множеством клиентов и платформ по модели «авторитарный клиент» или «авторитарный сервер». Unity поможет вам оптимизировать свои многопользовательские игры, предоставив в ваше распоряжение инструменты для профилирования сети как в игровом режиме, так и во время выполнения.

Сервис Relay, который входит в состав Unity Gaming Services, — это экономичное пиринговое решение-компаньон для масштабирования игровых тестов и сборки многопользовательской игры без вложений в выделенный хостинг.

Снежная сцена гоночного автомобиля

Решения NetCode для соревновательных экшен-игр

Пакет Netcode for Entities на базе ECS — ваш помощник в создании соревновательных экшен-игр с высокой производительностью и масштабируемостью. Разрабатывайте амбициозные игровые процессы на полномочном сервере с прогнозированием, интерполяцией и компенсацией задержек.

Снижайте затраты, используя среду сборки на выделенном сервере, которая может автоматически удалять ненужные ассеты. Развертывайте свои проекты на Multiplay Hosting: этот сервис в составе Unity Gaming Services обеспечит гибкость и масштабируемость вашей игровой инфраструктуры, чтобы вы могли сосредоточиться на создании впечатлений для своих игроков.

Основное изображение UGS

Откройте новые возможности для игры с Unity Gaming Services

Создайте небольшую кооперативную игру с Netcode for GameObjects и поддержкой Relay и Lobby для подключения игроков.

Не забывайте и о других решениях Unity для разработки, поддержки и развития вашей игры, которые проверены в крупнейших игровых проектах.

Электрический ток между двумя панелями

Детальный контроль над транспортным слоем

Пакет Unity Transport — это независимая от сетевого кода реализация низкоуровневого сетевого уровня, ориентированная на производительность и надежность. Это современная, защищенная и портируемая библиотека транспортного уровня, которая дополняет в традиционный протокол UDP расширенные функции, включая поддержку Unity Relay, UnityTLS, а также конвейеры.

И в Netcode for GameObjects, и в Netcode for Entities UTP используется в качестве транспорта по умолчанию. Тем не менее разработчики, желающие иметь детальный контроль над сетью, могут использовать UTP в качестве самостоятельной библиотеки.

Смотреть

Примеры NetCode для освоения разработки сетевых компонентов

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

  • Boss Room — это 3D-казуальная кооперативная игра с кодом продакшн-уровня, разработанная с использованием Netcode for GameObjects и интегрированная с Lobby и Relay.
  • Galactic Kittens — это пример кооперативной приключенческой 2D-игры, разработанный с использованием Netcode for GameObjects и иллюстрирующий синхронизацию сетевых объектов.
  • Network Racing — это динамичный пример соревновательной гоночной игры, разработанный с использованием Netcode for Entities и иллюстрирующий прогнозирование, интерполяцию и компенсацию задержек на стороне клиента.
Учитесь и творите вместе с сообществом

Учитесь и творите вместе с сообществом

Как говорится, один в поле не воин, поэтому мы рекомендуем вам присоединиться! Изучайте документацию, технические примеры и контент и начинайте работу.

Кроме того, наши разработчики готовы ответить на ваши вопросы на форуме Multiplayer, в Discord и на GitHub.

Узнайте подробнее о многопользовательской подсистеме

Примеры Bitesize

Репозиторий Bitesize Samples предоставляет серию примеров кода в виде модулей для использования в играх и лучшего понимания Netcode for GameObjects (Netcode).

Примеры Bitesize

Руководство по Netcode for Game Objects

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

Руководство по Netcode for Game Objects

Небольшой шаблон соревновательного Multiplayer режима

Этот шаблон служит отправной точкой для создания и отправки проекта Multiplayer с помощью Netcode for GameObjects и игровых сервисов Unity.

Небольшой шаблон соревновательного Multiplayer режима

Начало работы с Netcode for Entities

Смотрите этот вебинар, посвященный подробному изучению демонстрации Megacity Metro, чтобы узнать, как привлечь сущности в ваш проект вместе с игровыми сервисами Unity.

Начало работы с Netcode for Entities

Начните разработку новой мультиплеерной игры

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

Ответы на часто задаваемые вопросы

Да, NetCode-решения Unity поддерживают модель клиентского сервера (listen-сервера), где один клиент выступает в роли хоста, а остальные подключаются к нему. Подробнее здесь.

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

Пакет Netcode for GameObjects готов к коммерческому использованию с 20 сентября 2022 г., а пакет Netcode for Entities на момент технологического потока 2022.2 является предварительной версией.

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

Пакет Netcode for GameObjects будет доступен в версиях 2020.3, 2021.3, 2022.1 и 2022.2.

Пакет Netcode for Entities будет доступен в версиях 2022.2.

Netcode for GameObjects и Transport полностью интегрированы с Unity Relay.

Что касается Multiplay Hosting, для совместного использования эти решения в настоящее время нужно настраивать вручную, однако наша команда стремится сделать так, чтобы процесс работы с выделенными игровыми серверами был оптимальным и удобным во всех наших решениях.

Да, конечно! Предложения принимаются как по SDK, так и по документации. Мы очень рады возможности вести разработку вместе с сообществом. Кроме того, мы реализуем и другие варианты участия, например RFC для обсуждения архитектуры.

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

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