Гайд по Mirror мультиплееру в Unity 2д
Vložit
- čas přidán 5. 08. 2024
- Как сделать мультиплеер в своей игре? Посмотрев этот ролик вы явно сможете сделать это.
Документация Mirror: mirror-networking.gitbook.io/...
Telegram канал: t.me/jupitertg
Проект со скриптами в тг: t.me/jupitertg/242
ParrelSync: github.com/VeriorPies/ParrelSync
Поддержите канал на бусти: boosty.to/jupiterman
Для предложений и связи: voknemilk@gmail.com
Таймкодики:
00:00 Вступление
00:28 Импорт
01:17 Network Manager
01:45 Kcp Transport
01:57 Игрок
02:21 Network Identity
02:31 Network Transform
02:58 Спавн игрока
03:14 Движение игрока
03:49 Риджитбади
04:23 Билд
04:49 ParrelSync
05:12 Первый тест
05:37 Коллайлер
05:48 Точки спавна игроков
06:11 Спавн по кругу
06:30 Поворот игрока
06:51 Анимации
07:22 Свои кнопки подключения
08:29 Отключение от сервера (выход)
09:30 Камера следит за игроком
10:02 Спавн объектов
12:01 Атрибуты, RPC
12:54 Спавнер
13:19 Поправка Network Manager!
14:10 Монеты, вывод текста
15:37 Общие монеты всех игроков
15:55 Синхронизация переменной (SyncVar)
16:14 Заключение
16:35 Итог
Спасибо что ты делаешь хорошие и понятные туторы😉
Чел убер харош, рили классные гайды делаешь, чувак, удачи тебе с таким делом!
Спасибо за такой классный и достаточно подробный гайд.
Большое спасибо за ролик очень годный контент. Жду ролик по лобби и синхронизации врагов в Mirror
Огромное спасибо. Лучший канал с гайдами по Юнити. Очень помог. Спасибо огромное
Крутой видос! Спасибо за подробный гайд!
Ураааа, наконец-то туториал по миррору! Спасибо!
Лучший туториал по мультиплееру на ютубе!)
Спасибо. Жду следующую часть.
Спасибо за такой подробный и понятный ролик) Долгое время боялся делать мультиплеерные игры, но теперь для меня открыты новые горизонты) Продолжай в том же духе! Очень полезный контент))
Да, в ролике рассказал я о важном, но тема толком не раскрыта и многое предстоит ещё рассказать
@@thejupiterman С нетерпением ждем)
Ты мой спаситель, я как раз искал этот туториал
Очень подробный тутор) для новичков самое то!
Круто! Спасибо за гайд! Давай дальше) интересует тема с сервером не игроком)
Годный контент! Я после своего отсутствия на CZcams создаю мультиплеерную игрулю, видео очень пригодилось спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Уместил столько информации в такой короткий ролик, браво. Будет тутораил про матчмейкинг и лобби?
💋
он уже был
@@daniilkams разве был такой туториал по Mirror? Что то не припомню 🤔
Ждем!
Всё ещё ждём
Все понятно, отличный монтаж))) Спасибки
Крутой видос, жду продолжения по мультиплееру)
он будет
Блин я офигеваю я уже пересмотрел 10 твоих туториолов подряд очень полезно моя игра теперь будет на много лучше
Сделайте пожалуйста продолжение про Присваивание ников для игроков.
Ждём этот шедевр)
Крутой видос, сделай вторую часть с мм)))
TY, большое тебе! Как обычно , ну просто гений. Как ты делаешь такие информативные ролики!?!?!?!?
Воу, оченьклассный и полезный видос
Привет, спасибо за объяснение.
Я так кайфую от монтажа, аааааа))))
спасибо, качественный гайд
наконецто я дождался это видео
🤩Класс После фотона как-то слишком просто ощущается.
Почему 420 лайков? Ролик имба! Всё рассказал понятно, и не скомконо. Лайк!
Лучшее видео
Спасибо большое за ролик мучался с фотоном но так ничего и не сделал, а ту миррор и с твоим видео все понятно. Сделай пожалуйста что сервером был не один из компьютеров, а просто сервер который сам по себе
Спасибо тебе огромное
Подскажите пожалуйста, как мне подключиться к одному миру на разных устройствах находящиеся рядом, с возможностью подключиться к одноц сети, заранее спасибо)
жду!
Опа вот это у меня подписчик (неплохо)👾
Ты хороший ютубер😋
И еще вопрос почему пул объектов не делаете , как делать при старте инстанс пула объектов и синхронизации этого пула ?
Не нашёл пока урока по загрузке своей игры на сервер (что бы игрокам не приходилось быть "хостами") Все уроки про одно и то же, синхронизация и прочее, а вот с выделенным сервером проблемы.
Спасибо тебе огромное! Но у меня есть просьба: сделай видео гайд как сделать коды лобби и подключение по такому коду! Заранее спасибо!
можете подсказать как сделать собственный код подключения и создания комнаты
goood job mate!
ждём продолжение
Вопрос, сервера созданные на mirror видны только в локальной сети?
спасибо большое, можете подсказать почему не хочет двигаться персонаж
У меня после того, как я писал "IsLocalPlayer", выскакивало предупреждение, что это старое обращение и нужно использовать "IsOwned", а у тебя я не видел этого предупреждения. Хотя это и не важно, оно не ломает игру. Кстати, спасибо за ParrelSync. Когда у себя мультиплеер делал, то 1 окна не хватало
На сайте в документации написано что правильно писать isLocalPlayer, но может и вправду оно устарело
в эпизоде камера следит за игроком, почему нельзя просто сделать камеру дочерним игрока?
Что делать если джойстик при помощи которого управляется игрок не указывается в префабе игрока
Почему контроллер игрока у меня не видит ссылку на миррор?
Где ты учил C#? Что посоветуешь?
Много полезной и простой информации, отличный гайд. Я кстати искал на ютубе и в интернете как сделать "список серверов", но так и не нашёл. На Photon ip был не нужен, можно было сразу получить список серверов и выбрать нужный, а на Mirror как?
Привет, интересно как можно реализовать выбор команды при подключении!
Это сработает с WebGL билдом?
Ролик неплохой, посмотрел полностью, оценил монтаж. И понял что фотон рил такое себе. Жду миррор в 3д)
Окей летс го
Как синхронизировать Joint , в Photon я сам дописал код и синхронизировал
Остался всего 1 час
А можно сделать кроссплатформенный мультиплеер? Чтобы на разных платформах можно было играть вместе.
спасибо что сделал такой крутой ролик(только когда игрок заходит то у хоста начинают бесконечно спавнится игроки)
Лучший
А Cinemamashin не подойдёт для отслеживания игрока?
подойдет
у меня телеграмма нету где взять скрипты?
Небольшое замечание, правильнее метод, так как это функция класса. А так тутор кайфовый, спасибо
Дружище ждём гайд про матчмейкинг и лобби на miror
давай следующию часть!!! пожалуйста
Может кто-нибудь объяснить, что делать после установки ParrelSync и как запустить приложение в нескольких окнах?
И ещё надо ли каждый раз заново билдить проект, чтобы увидеть изменения или как это работает? Помогите кто-нибудь!
Я немного не понял где нужно указывать ip сервера
Где можно про все атрибуты почитать?
отличный ролик, но у меня неработает подключение, когда билд на пк всё подключается отлмчно, но когда билд на андроид то клиент не может найти хоста
Можешь рассказать почему не работает подключение с другими пк????
Юпитер, ребята подскажите плиз: В NetworkManager можно засунуть только один префаб(получается один перс), а мне нужно чтобы один игрок управлял двумя персами переключаясь между ними, но так чтобы второй перс не исчезал. Есть мысли?)
а чел я знаю как сделать для этого тебе нужно этих двух персов запихнуть в одну пустышку сделать из этого 1 префаб и готово
Дня два назад делал по прошлому гайду игру, вышел новый ролик, делаю новый проект.
Ждём следующий ролик про выделенный сервер
Вопрос конечно не по теме, но на ютубе мало профессионалов, у которых можно было бы спросить.
Можете подсказать, как в юнити возможно реализовать компилятор программного кода? Есть в интернете такие игры, как code combat или ruby warrior, где игрок управляет персонажем при помощи написание кода из команд, которые должен выполнить персонаж. Хотелось бы понять, как разработчики этих игр добавили компиляторы. Использовали инпут филд, а потом скриптом прописали считывание написанного, или есть какой-то ещё вариант?
я бы попробовал сделать массив по которой цикл каждое слово выносил в свитч, и по свитчу персонажу отправлял команды на действие, что-то из серии
"Вперёд" "Вперёд" "Поворот"
и через #Define (в плюсах так вроде) каждое слово конвертировалось бы в символ, Вперёд = 0, поворот = 1.
Получили бы в нашем случае такой набор в массиве 0, 0, 1
дальше по массиву свитчом считаем номер и говорим игроку что делать в зависимости от номера
@@wetetefler2218 да, именно так я и сделал. В отдельном методе принимается текст (набор команд), разделяется построчно / покомандово, и в цикле по очереди сравнивается с существующими командами, если нашёл совпадение - у этой команде счётчик плюс единичка. В методе fixedUpdate, который каждый кадр выполняется, стоит проверяющий метод на счётчике, типо если в какой-то команде появилась единичка, то выполнить соответствующее действие, потом перейти к проверке следующей строки.
Что насчет unity NetCode?
По идее, этот метод создания мультиплеерного проекта подойдёт и для 3д, не так ли?
Да
Я от Вайса. Ролик топ!!!!!!!!!!!!!!!!!!!!
Jupiteeeerrr
как насчет идеи сделать туториал миррор в 3д?
А как сделать матчмейкинг в миррор?
А что делать если клиент не подключается к серверу?
ролик получился отличный но у меня проблема с кодом передвижение игрока мне пишутAssets\scripts\Player.cs(20,35): error CS1061: 'Vector2' does not contain a definition for 'GetAxis' and no accessible extension method 'GetAxis' accepting a first argument of type 'Vector2' could be found (are you missing a using directive or an assembly reference?) в переводе Assets\scripts\Player.cs(20,35): ошибка CS1061: 'Vector2' не содержит определения для 'GetAxis', и не удалось найти доступный метод расширения 'GetAxis', принимающий первый аргумент типа 'Vector2' (вам не хватает директивы using или ссылки на сборку?)
что делать
Помоги пж, я добавил игроку Network Transform (Unrealible) но там не было галочки Client Authority
без неё всё работает теперь
Жду
Ждем новый джем
Юпитер, подскажи пожалуйста. Никак не могу побороть проблему одну: крч я сделал управление игроком с помощью кнопок на экране (чтобы на компе нажимали мышкой по кнопкам, а на мобиле пальцем). Я сделал мультиплеер с помощью "Netcode for Game Objects" очень похож на Mirror. Так вот с клавиатуры управление работает отлично, но вот с кнопок на экране нефига. Уже несколько дней не могу найти ответы. Ролики пересмотрел, статьи перечитал, нейронки задолбал, но тщетно (
Попробуй перенести управление в другое поле и сделай подключение джойстиков по тегам
У меня у самого та же проблема, но надеюсь исправить
Может быть ещё проблема в том, что Event System, где находится Control Input (позволяет управлять) несколько
Ты можешь перенести GetComponent в SetPlayer метод, когда происходит спаун игрока - получает компоненты
И далее в private void Update записываешь само управление после if(isOwned)
@@wesher Спасибо! Я нашёл одно прикольное просто решение. Во-первых использовал InputSystem. Во-вторых сделал кнопки дочками игрока. Всё заработало как надо) Теперь другая проблема: В NetworkManager можно засунуть только один префаб(получается один перс), а мне нужно чтобы один игрок управлял двумя персами переключаясь между ними, но так чтобы второй перс не исчезал. Есть мысли?)
@@marsug Спасибо! Я нашёл одно прикольное просто решение. Во-первых использовал InputSystem. Во-вторых сделал кнопки дочками игрока. Всё заработало как надо) Теперь другая проблема: В NetworkManager можно засунуть только один префаб(получается один перс), а мне нужно чтобы один игрок управлял двумя персами переключаясь между ними, но так чтобы второй перс не исчезал. Есть мысли?)
помоги с камерой для 3д
Я уверен что просмотров будет много
Главное, пробовал ли ты соединяться к компьютерам с других домов,городов,стран? Потому как Localhost всегда естественно будет работать. По какой причине может не проходить соединение? У меня не проходит подключение к другу с соседнего дома, какой там уж про города и страны говорить( Соединяется только внутри моей сети, если я со второго пк подключусь или смартфон подключу ...
на это вам, белый IP адрес надо, WAN проводить, все дела...
решил проблему? наверное для этого что то другое надо использовать, не mirror, да?
@@blackgoose1 Да, Там дело с ip адресом и открытием порта
@@blackgoose1 Используй миррор наздоровье, но не забудь почитать про белые ip и проброску портов
помогите тот игрок которий двигается двигается только у других а у самого игрока ничего не движится
А как разделить игроков по командам?
Не знаю
тоооп на фоне играет jumper из gd
не верю
Ждём новый ролик
Как сделать сервер не в локальных а чтобы другие игроки могли тоже играть
Будет обучение в 3д?
Помогите пожалуйста. В компоненте Network Transform (Unreliable) нет галочки client authority
Поясняю теперь этой галочки нет тебе вместо нее надо сделать так:
Network transform -> Sync settings -> Sync direction -> Client to Server
Спасибо большое. Не представляете, сколько нервов мне это стоило. Большое спасибо@@NikName-vm9xt
Спасибо тебе дай бог здоровья@@NikName-vm9xt
@@NikName-vm9xt У меня это стоит но тоже нету
@@vg-vovagatova289 здравствуйте уточните пожайлуста чего именно нету
Кто то поможет? делаю онлайн игру WebGl и не чего не работает(((
Это конечно классный видос.
Но пожалуйста сделай в 3д.
А так же вот ещё идеи
1) Синхронизировать врага
2) кнопки только для хоста
3) стрельба а то у меня только один игрок стреляет
4) чат или войс чат
Если тебе интересно попробуй почитать документацию) там все это есть)
Чтобы добавить кнопки для игрока, добавь в его префаб канвас и туда засунь всё
Что делать если персонаж не двигается?
Проверить код и компоненты, всё ли на месте, без ошибок и правильно ли сочетается между собой
а это работает если к примеру я сделаю подобное и отправлю другу и можно будет подключиться
Нет это работает только локально на устройстве. Для этого нужно сделать определённые действия. Я не знаю смогу ли, но постараюсь сделать об этом ролик
@@thejupiterman жду оч полезный ролик будет тк на русском вообще нету а на анлгийскрм много воды и они предлагают только через удалённые сервера типа гугл клауд
Нужен белый ip(не меняется при перезагрузке роутера), открытые порты на роутере и в брандмауэре. Белый ip можно заказать у провайдера
Как сделать присоединение друзей ?
В следующем видео про миррор
0:04.
Я после изучения того ролика:
Что делать если нет галочки в клиент авторите
Да, сейчас её нет, я не указывал, всё работает