Урок 3 | Unreal Engine 5 Мультиплеер - РЕПЛИКАЦИЯ

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 พ.ค. 2024
  • 21:Это третий урок из серии Unreal Engine 5 Мультиплеер, в котором мы будем разбирать репликацию данных
    00:00 Содержание
    00:44 Replicate Movement
    07:21 Authority
    09:45 Actor Replication
    15:49 Component Replication
    18:11 Vartiable Replication
    21:57 Event Replication (RPC Function)
    27:05 not-replicated
    Разовый донат new.donatepay.ru/@cyberstars
    Patreon - / cyberstars
    Discord - / discord
    TikTok - www.tiktok.com/@cyberstars_en...
    Google Play - play.google.com/store/apps/de...
    Facebook - CyberstarsEn...
    Instagram - cyberstars_...
    ВКонтакте - cyberstars_entertainment
    Телеграм - t.me/cyberstars1
    #cyberstars #gamedev @UnrealEngine

ความคิดเห็น • 88

  • @cyberstars-5839
    @cyberstars-5839  ปีที่แล้ว +3

    Discord - discord.gg/z8t2uSWCBq
    Разовый донат new.donatepay.ru/@cyberstars
    Patreon - www.patreon.com/cyberstars

  • @gil08100
    @gil08100 ปีที่แล้ว +18

    Какие же крутые и познавательные видео, я просто кайфую! Спасибо, Cyberstars!

  • @veymatcompany6959
    @veymatcompany6959 ปีที่แล้ว +7

    Тёплый комментарий поддержки канала

  • @unicoxr5tj417
    @unicoxr5tj417 ปีที่แล้ว +3

    пожалуй, лучший канал по игроделу

  • @conquerordie1580
    @conquerordie1580 ปีที่แล้ว

    Все четко без воды!!! Очень полезно!👍

  • @TheBestSurvival
    @TheBestSurvival ปีที่แล้ว

    Очень толково, красиво, познавательно и главное я кайфую от такого типа подачи информации. Спасибо 100500 раз

  • @user-sk1ct8bz4f
    @user-sk1ct8bz4f ปีที่แล้ว +3

    Мега харош , очень. Полезные видео

  • @ED-ik7fs
    @ED-ik7fs ปีที่แล้ว

    Лучший ! ✊
    Спасибо за уроки.

  • @dad3507
    @dad3507 ปีที่แล้ว

    Супер, жду следующее видео с нетерпением !!!

  • @arik4787
    @arik4787 ปีที่แล้ว +1

    Я думал реализация мультиплеера в анриле в разы сложнее, а оказывается, что всё очень просто. Спасибо за уроки

  • @user-wb6st6tg5p
    @user-wb6st6tg5p ปีที่แล้ว

    Спасибки за очередной познавательный видось.

  • @romanoff2450
    @romanoff2450 ปีที่แล้ว

    Очень жду продолжения!

  • @segeus
    @segeus ปีที่แล้ว +3

    Теперь понятно, почему при пирТУпир системе на повторах ДезКам всё выглядит так странно и потешно!)))

  • @Showreels-lm8uh
    @Showreels-lm8uh ปีที่แล้ว +1

    Отличный и познавательный ролик!
    Хотелось бы добавить пожелание. В рамках серии туторов про мультиплеер, сделать ролик, в котором наглядно показывается как завершить свой мультиплеер в игру и подключить в него друзей. Пусть это будет сделано на обычной болванке, самом начальном уровне UE5.
    Главное, это сам момент подключения других игроков к тебе. Спасибо заранее🙏

  • @anotherpain9120
    @anotherpain9120 ปีที่แล้ว

    Благодарю

  • @radcontrols3d115
    @radcontrols3d115 ปีที่แล้ว

    Ааааааааа класс новый видос

  • @rapatologyrrr472
    @rapatologyrrr472 ปีที่แล้ว

    Всего лишь стрим а эмоций море

    • @1play2fun
      @1play2fun ปีที่แล้ว

      И сколько радости в том что галочка работает

    • @rapatologyrrr472
      @rapatologyrrr472 ปีที่แล้ว

      @@1play2fun это даже не радость а сплошное удовольствие

  • @levonze
    @levonze 5 หลายเดือนก่อน

    7:42 гномы из little nighmares 😂
    А так, спасибо за урок!

  • @Vicont4063
    @Vicont4063 ปีที่แล้ว

    Супер! Можно что не будь про VR?

  • @user-zt7zx8zm6b
    @user-zt7zx8zm6b ปีที่แล้ว

    Большое спасибо за уроки, очень полезные.
    К сожалению не всегда получается связать навыки из разных уроков в единое целое. Нельзя ли вернуться к серии уроков по AI и сделать как бы закрепляющий урок с реальным игровым функционалом. Я просмотрел все уроки из этой серии, но пока не смог сделать задуманное. Задача чисто игровая - например есть enemy, он должен патрулировать или по рандомным точкам(это есть в уроках) или по чек поинтам(этого нет). При этом постоянно мониторить присутствие игрока(у вас сделано через ConeCheck в BehaviorTree, но хотелось бы через AiPerception в AiController там больше настроек). Далее меняем анимацию на "преследование" - это важно! и пытаемся догнать игрока, если догнали то "атака", если потеряли из виду - то N секунд движемся к последней точке где видели игрока, и если не находим то пауза пару сек, опять смена анимации на обычную ходьбу и возврат в точку откуда начали преследование, потом продолжение патрулирования.
    Я логику в принципе сделал, кусками, но не могу все связать вместе. Например не понимаю как пробросить состояние AiPerception внутрь BehaviorTree в тот момент когда бот делает "MoveTo", получается только после, но это уже не то. Или например есть StateEnum(Idle, Walk, Chase, Run, etc) для смены анимаций в AnimBP, и чтобы он работал внутри транзишенов в AnimBP его необходимо менять откуда то снаружи, видимо из BehaviorTree. Или я вообще неправильно понимаю структуру этого движка. Еще есть трабл с тем какие классы создаются раньше а какие позже. Например я умудрился вызвать переменную из blackboard до его создания.

  • @user-my8de9ix4x
    @user-my8de9ix4x ปีที่แล้ว

    Спасибо. Всё здорово, но очень не хватает отображения на экране нажатия клавиш.(

  • @andreydon8268
    @andreydon8268 ปีที่แล้ว

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

  • @roydash5657
    @roydash5657 ปีที่แล้ว

    У меня есть один вопрос. Если я создал Искусственный интеллекта (с анимации, получается урон, нападает и так далее) и этот искуcственный интеллект будет да пустим каждый уровней или этоже будет ждать игрока. Как мне стоит начать начать через ивент бегин плай или не знаю?

  • @alphadayz9621
    @alphadayz9621 ปีที่แล้ว

    Добрый день, у вас отличные уроки. Интересует вопрос как можно реализовать Выборочную репликацию клиентов? Предположим есть Персонажи за обзором камеры(или в тумане войны) и чтоб они реплицировались одному или группе игроков но не всем, только когда они попадают в камеру(от первого лица).

    • @cyberstars-5839
      @cyberstars-5839  ปีที่แล้ว

      Есть дальность репликации.
      В настройках класса

    • @cyberstars-5839
      @cyberstars-5839  ปีที่แล้ว

      Либо реплицировать только то, что выделено. То есть внутри объекта делать проверку

  • @user-kj7nt6re3c
    @user-kj7nt6re3c ปีที่แล้ว +2

    Думаю заняться 3D моделированием спустя 22 года, умею рисовать портреты простым карандашом. Хотелось бы узнать, востребованы ли такие люди в индустрии?

    • @1play2fun
      @1play2fun ปีที่แล้ว

      Довольно да

    • @MrDenKuzn
      @MrDenKuzn ปีที่แล้ว +1

      3D-художников до жопы. Каждый второй посмотрел курсы. Но действительно качественных очень мало. Если не будешь развиваться, а просто вертексы гонять - не будешь востребован. Все просто.

    • @user-kj7nt6re3c
      @user-kj7nt6re3c ปีที่แล้ว +1

      @@nathanblake1535 Спасибо

  • @igorekzyryanov3338
    @igorekzyryanov3338 ปีที่แล้ว

    Здравствуй, а есть ли возможность сделать открытый мир с планетами и космосом, с возможностью ходить по планета и летать между ними? Хотелось бы увидеть как это возможно сделать. Спасибо за твои видосы👍

  • @NRK_2012
    @NRK_2012 ปีที่แล้ว

    Скажите пожалуйста уже есть видео о всех игровых движках

    • @cyberstars-5839
      @cyberstars-5839  ปีที่แล้ว

      отдельного видео нет, но эта тема была затронута в этих роликах:
      th-cam.com/video/KjBBC07hGjQ/w-d-xo.html
      th-cam.com/video/V3SKOANqI-k/w-d-xo.html

    • @NRK_2012
      @NRK_2012 ปีที่แล้ว

      @@cyberstars-5839 а снимите отдельный ролик?

    • @cyberstars-5839
      @cyberstars-5839  ปีที่แล้ว

      возможно)

    • @NRK_2012
      @NRK_2012 ปีที่แล้ว

      @@cyberstars-5839 если снимите про все игровые движки ну эти открытые закрытые по крайней мере из видео по пошаговой инструкций ну это я про категории,то буду очень благодарен

  • @kislo_ta
    @kislo_ta ปีที่แล้ว

    А можно на unreal engine сделать мультиплеер с разными персонажами с разной физикой (их модели и хитбокса?)

  • @Themyter
    @Themyter ปีที่แล้ว

    Здравствуйте у меня возникают проблемы по Unreal Engine 5
    1 не получается перенести контроллер FirstPerson в ThirdPerson шаблон (через проводник захожу в мой проект в папку контент и копирую FirstPerson и в другом проекте в папку контент вставляю но исчезают все анимации итд )
    зачем мне переность контролер ? мне нужен ai и FirstPerson в одном проекте.
    2 я создаю модель домика и применяю к нему модель разрушения chaos но персонаж может сдвинуть это дом и сломать ТАК БЫТЬ НЕ ДОЛЖНО я пробовал увеличить массу но всё без успеха слышал про якоря но не нашел как их применить.
    надеюсь на помощь буду очень рад если CyberStars снимет видео про систему разрушений.

  • @kislo_ta
    @kislo_ta ปีที่แล้ว

    Вопрос: а в unreal можно на блюпринте использовать модели с других программ?

  • @user-lz6pq7tk9q
    @user-lz6pq7tk9q 10 หลายเดือนก่อน

    Доброго времени суток. Вопрос по RPC. Объясните, пожалуйста, почему если НА ИНПУТ спавнить меш из блупринта игрока с RPC serv->multi, то отображается у всех клиентов, но если сделать тоже самое через блупринт контроллера - не работает. Все никак не могу с этим разобраться, тыкался везде и по-разному, но не выходит.

    • @cyberstars-5839
      @cyberstars-5839  10 หลายเดือนก่อน

      Павн перса реплицирован - его копия есть у всех сторон.
      А контроллер не реплицирован . Его копия есть только у сервера.

    • @user-lz6pq7tk9q
      @user-lz6pq7tk9q 10 หลายเดือนก่อน

      ​@@cyberstars-5839 То есть получается так: если я хочу на инпуте делать действия, которые должны быть видны у других игроков (например спавн проджектайл пули), я должен логику инпута прописывать именно в персе?
      Или есть какой-то обходной вариант?
      По итогу я в контроллере на инпут вызвал кастомную serv функцию самого перса и все сработало (что конечно очень логично). Это нормальная практика или есть способы так сказать по-правильнее?
      Заранее спасибо за ответы

  • @osore_7875
    @osore_7875 8 หลายเดือนก่อน

    Вот пытаюсь изучать репликацию переделивая темплейт с FPS. Там оружие идет как меш компонент и логика выстрела в ньом. Когда пытаюсь зделать спавн пули з клиента передавая рпс на сервер, ничего не происходит и в лог пишет что неимею контроля над компонентом оружия. В чем тут проблема?

    • @cyberstars-5839
      @cyberstars-5839  8 หลายเดือนก่อน

      Компонент тоже должен быть реплизирован (галочка)

  • @ruslangolovchenko6797
    @ruslangolovchenko6797 ปีที่แล้ว

    А для каких целей нужен вызов run on client? Где это можен пригодится в мультиплеере?

    • @cyberstars-5839
      @cyberstars-5839  ปีที่แล้ว +1

      Для тестов. Когда нужно запустить сервер из клиента

    • @ruslangolovchenko6797
      @ruslangolovchenko6797 ปีที่แล้ว

      @@cyberstars-5839 Спасибо!

  • @blitz0481
    @blitz0481 ปีที่แล้ว

    А можно ли будет сделать игру-мультиплеер без синглплеера?

    • @cyberstars-5839
      @cyberstars-5839  ปีที่แล้ว

      Хехе . Можно

    • @blitz0481
      @blitz0481 ปีที่แล้ว

      @@cyberstars-5839 Я просто игру с другом делаю,на подобии PUBGMobile,но мы всё делаем по гайдам,т.к. мы ничего про это не шарим,новички грубо говоря).

  • @vachetorosyan7235
    @vachetorosyan7235 ปีที่แล้ว

    ✌✌✌✌✌✌✌✌

  • @user-yj9dv2zg8b
    @user-yj9dv2zg8b ปีที่แล้ว

    Из блюпринта репликация с мульикаст не передаётся на сервер (а от сервера на клиент передаётся) - в чём может быть причина? Клиентом открываю дверь, но сервер не видет открытие/закрытие двери, но если сервер открывает/закрывает дверь - клиент видет.

    • @cyberstars-5839
      @cyberstars-5839  ปีที่แล้ว

      В блупринте перед мультикаст нужен RPC на сервер

    • @xo0oxNicKeRxo0ox
      @xo0oxNicKeRxo0ox ปีที่แล้ว

      24:57

    • @user-yj9dv2zg8b
      @user-yj9dv2zg8b ปีที่แล้ว

      @@cyberstars-5839 В том то и проблема, что он не отправляет на сервер, Run on Server не работает.

    • @user-yj9dv2zg8b
      @user-yj9dv2zg8b ปีที่แล้ว

      @@xo0oxNicKeRxo0ox Да, всё верно, но не работает так. Может быть причина в том что я это делаю в отдельном блюпринте, а не в BP_персонажа? У меня блюпринт Актор.

    • @cyberstars-5839
      @cyberstars-5839  ปีที่แล้ว

      Да, из за этого.
      Нужно владеть тем actor с которого вы реплицируете

  • @Kombatant777
    @Kombatant777 ปีที่แล้ว

    Урок по GAS будет?)

    • @1play2fun
      @1play2fun ปีที่แล้ว

      Блюпринтеры его потом запинают резиновыми палками?

    • @deadmorose4741
      @deadmorose4741 ปีที่แล้ว

      @@1play2fun есть плагины для упрощенной работы с инициализацией GAS.

  • @denchurikov210
    @denchurikov210 ปีที่แล้ว

    А с какой целью нужно просчитывать координаты и на клиенте и на сервере, если эти данные всё ровно будут получены всеми с сервера, почему нельзя просто просчитывать всё на сервере а клиенту выдавать результат, в чем причина??

    • @cyberstars-5839
      @cyberstars-5839  ปีที่แล้ว +1

      Это просчитывается на сервере а с клиента приходят данные куда игрок хочет пойти

    • @through-it
      @through-it 9 หลายเดือนก่อน +1

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

  • @derakon4791
    @derakon4791 ปีที่แล้ว +1

    Помогите кто может, я могу использовать мегасканы для андроид игры? это вобше возможна? Я имею в виду они не будут ли слишком тяжолымы для мобильных устройств

    • @1play2fun
      @1play2fun ปีที่แล้ว +1

      будут тяжелыми, у андроида редко так много VRAM

    • @derakon4791
      @derakon4791 ปีที่แล้ว +1

      @@1play2fun спасибо

    • @psychokiller4524
      @psychokiller4524 ปีที่แล้ว

      Мегасканы весят много, да и на компах порой лагают. Однозначно нет

    • @derakon4791
      @derakon4791 ปีที่แล้ว

      @@psychokiller4524 спасибо

    • @hhbi
      @hhbi ปีที่แล้ว

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

  • @ignis_gg
    @ignis_gg ปีที่แล้ว

    16:00

  • @timofeik5556
    @timofeik5556 ปีที่แล้ว

    напомните плз как переключиться между игроками

    • @cyberstars-5839
      @cyberstars-5839  ปีที่แล้ว

      Один игров должен запустить карту с опцией listen.
      Нод open level

  • @genrihkutz
    @genrihkutz 24 วันที่ผ่านมา

    почему гейм мод существует только на сервере, если он существует на клиенте ?

    • @cyberstars-5839
      @cyberstars-5839  24 วันที่ผ่านมา +1

      Его логика выполняется на сервере

  • @RomanAisly
    @RomanAisly ปีที่แล้ว +1

    Если вам лень смотреть всё видео то вот спойлер: без галочки "replicate" ничего не работает 😀

  • @user-wi3qo1nr4z
    @user-wi3qo1nr4z ปีที่แล้ว +1

    Делай тайм коды

    • @1play2fun
      @1play2fun ปีที่แล้ว

      Плюсую, без тайм кодов сложно ориентироваться

  • @farkasvilkas5839
    @farkasvilkas5839 ปีที่แล้ว

    уважаю попытку автора объяснить эту страшную сложную тему, трудился.
    но, к сожалению, эту репликацию все объясняют ужасно
    ничего понять не могу. Как репликация вообще работает?
    Где сервер, где клиент? Нужны практические примеры, а не синие кубики.
    Вот например, у меня динамический материал на персонаже.
    Хочу чтобы они бегали разноцветные - и я видел кто из них host, а кто клиент.
    Что мне в реплицировать? Сам материал? Или какую-то вспомогательную переменную типа Color если я хочу поменять ему цвет и все увидели. Вот эта суть не понятна. Сами основы.
    наверное, я поспешил заняться мультиплеером, никто не может пояснить самое простейшее
    например, как мне увидеть пушку в руках другого игрока или то, что он окрасился в другой цвет.
    начинают мне перечислять все галочки в движке, перечисления, все возможные термины
    и выстреливают их как из пулемета. Это ужасно.
    Стиль подачи у автора, как будто он в академии наук сдает зачет. И академики ему кивают головами. А автор мелом выводит трехэтажные формулы, одну за другой. И говорит книжными словами, как академики любят.
    Нет, тут не академики. Обычные ученики.
    Понимаю что это сложная наука, но зачем ее еще сильней усложнять. А потом люди будут делать багованные и тормозящие игры.

    • @through-it
      @through-it 9 หลายเดือนก่อน

      Через RPC всё это реализуете, передаёте параметры на одной стороне, обрабатываете на принимающей и передаёте дальше (или всем), если нужно. А на счёт репликации переменных - в видео было сказано как сделать репликацию с вызовом обработчика, пересмотрите видео внимательно ещё раз =) При репликации (если указан правильный тип репликации конечно), может вызываться обработчик с вашей логикой.
      На счёт стиля изложения, - обычный академический стиль, когда сначала рассматривается всё в общих чертах (основной концепт), а потом уже более детально по каждому из ранее изложенных пунктов.
      Если это самый первый проект в рамках обучения, то конечно мультиплеер это слишком рано. Для начала необходимо ознакомиться с движком, с инструментами, с доступными классами и компонентами. Сделать что-то простое в оффлайн, задействуя все основные классы и инструменты (gamemode, level, hud, controller, aicontroller, actor, pawn, редактор ландшафта, анимации, звуки, частицы и прочее). Возможно даже несколько раз в разных стилях для закрепления. Потом уже изучать мультиплеер. И проект, который планируете выпускать в общее пользование уже можно затачивать под мультиплеер. Хотя бы архитектура проекта всегда должна придерживаться клиент-серверному взаимодействию, даже если проект делается под одного игрока.