Mirror включает в себя несколько небольших примеров, которые помогут вам узнать, как использовать различные функции и как настроить все так, чтобы они работали вместе. Только у немногих избранных есть страницы документации, проверьте каталог Mirror/Examples в вашем проекте Unity для получения дополнительных примеров использования Mirror.
-
Пример дополнительных уровней демонстрирует использование дополнительных сцен в качестве уровней с 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, позволяет использовать несколько гарнитур виртуальной реальности с одной настройкой.