Примеры
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, позволяет использовать несколько гарнитур виртуальной реальности с одной настройкой.
Last updated