Примеры

Mirror включает в себя несколько небольших примеров, которые помогут вам узнать, как использовать различные функции и как настроить все так, чтобы они работали вместе. Только у немногих избранных есть страницы документации, проверьте каталог Mirror/Examples в вашем проекте Unity для получения дополнительных примеров использования Mirror.

  • Additive Levels

    Пример дополнительных уровней демонстрирует использование дополнительных сцен в качестве уровней с Scene Interest Management, пользовательская загрузка сцены с плавным переходом и телепортация игрока из одной сцены в другую с помощью респавна.

  • Additive Scenes Пример с дополнительными сценами демонстрирует сервер, дополнительно загружающий подсцену в основную сцену при запуске и имеющий триггер только для сервера, который генерирует сообщение любому клиенту, чей игрок входит в зону запуска, чтобы также загрузить подсцену и впоследствии выгрузить ее, когда они покидают зону запуска. Только игроки, находящиеся внутри триггерной зоны, могут видеть объекты в подсцене. Компоненты Network Proximity Checker являются ключом к тому, чтобы этот сценарий сработал.

  • Basic Базовый - вот как это звучит... Самая элементарная основа сетевой игры. Функции синхронизации обновляют случайные данные пользовательского интерфейса для каждого игрока.

  • Benchmark Позволяет проводить массовое тестирование вражеских NPC (чудовищные красные кубы!). Смотрите работу компонента Spatial Hashing Interest Management, присоединяющиеся клиенты будут получать данные только от ближайших врагов.

  • Benchmark Idle Аналогично описанному выше, массовое тестирование незанятых сетевых объектов, каждый из которых имеет переменную цветовой синхронизации, настройки можно изменить с помощью инспектора в NetworkManager.

  • Billiards Перетащите белый шар мышью, чтобы применить силу, удары отправляются на сервер через [Command].

  • Billiards Predicted Аналогично описанному выше, но с предсказанием, это устраняет возможную задержку, которую могут вызывать Command->ClientRpc/NetworkTransform, как обычно это бывает

  • CCU SoonTM

  • Character Selection Демонстрирует, как использовать несколько Prefab'ов для появления игроков в вашей игре, а также как настроить название и цвет.

  • Chat Простой пример текстового чата, отправка сообщений между игроками, которые входят в систему через Network Authenticator.

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

  • Couch Co-Op Добавьте в свою игру дополнительных местных игроков, у них у всех один и тот же экран, разные элементы управления. Клиенты удаленного подключения могут делать то же самое, допуская комбинацию локальных игроков и удаленных игроков, например, 2 против 4 или 1 против 4 против 99 (конечно, для этого вам пришлось бы настроить 99 различных входов контроллера / клавиатуры).

  • Discovery Транслируя по локальной сети, клиенты могут находить серверы без необходимости вводить IP-адрес или порты. Другое популярное применение заключается в том, что его можно настроить на автоматическое присоединение к первой найденной транслируемой игре (или создание игры, если таковой нет), функция, часто используемая в играх VR или LAN.

  • Lag Compensation Rollback / Lag Compensation это автономный алгоритм, независимый от Unity / netcode. Это простая демонстрация для тестирования, без Mirror. Мы хотим, чтобы это можно было использовать во всех игровых движках. Демонстрация намеренно вводит задержку, чтобы серверные / клиентские кубы находились в разных положениях при нажатии.

  • Multiple Additive Scenes Пример с несколькими параллельными дополнительными сценами демонстрирует сервер, дополнительно загружающий несколько экземпляров подсцены в основную сцену при запуске с разделением физики и назначающий игрокам экземпляры для проведения матчей независимо. NetworkSceneChecker это ключевой компонент, который заставляет этот пример работать.

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

  • Pong Простой пример "Как создать многопользовательскую игру с помощью Mirror" является Pong. Это показывает использование NetworkManager, NetworkManagerHUD, NetworkBehaviour, NetworkIdentity, NetworkTransform, NetworkStartPosition и некоторые атрибуты.

  • Rigidbody Benchmark Массовый тест сетевой физики.

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

  • Room System Пример системы комнат демонстрирует, как создать "промежуточную" сцену, где игроки собираются перед началом матча. Когда все игроки будут готовы, сервер отправит им всем сообщение о смене сцен (вместе с самим сервером) на реальную игровую сцену, чтобы они все вошли одновременно. Включает в себя полностью воспроизводимую игру с контроллером персонажа, в которой игроки собирают призы, заспавненные сервером, за набранные очки.

  • Snapshot Interpolation Интерполяция моментальных снимков - это автономный алгоритм, независимый от Unity / netcode. Это простая демонстрация для тестирования, без Mirror. Мы хотим, чтобы это можно было использовать во всех игровых движках.

  • Sync Direction Пример использования Sync List и Sync Var, контролируемых посредством Client->Server sync direction.

  • Tanks Это простая сцена с анимированными танками, подключенными к сети rigidbody projectiles, и передвижение с помощью NavMesh.

  • Tanks Co-Op Возьмите под свой контроль бронетехнику, спавнитесь как обычный Prefab, взаимодействуйте с танком, чтобы входить, управлять им и стрелять, выходите, чтобы продолжать оставаться обычным игроком.

  • VR Подборка готовых к многопользовательской игре примеров виртуальной реальности, использующих Unitys XR toolkit, позволяет использовать несколько гарнитур виртуальной реальности с одной настройкой.

Last updated