Урок 3 | Unreal Engine 5 Мультиплеер - РЕПЛИКАЦИЯ
Вставка
- Опубліковано 8 чер 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
Discord - discord.gg/z8t2uSWCBq
Разовый донат new.donatepay.ru/@cyberstars
Patreon - www.patreon.com/cyberstars
Какие же крутые и познавательные видео, я просто кайфую! Спасибо, Cyberstars!
Я думал реализация мультиплеера в анриле в разы сложнее, а оказывается, что всё очень просто. Спасибо за уроки
пожалуй, лучший канал по игроделу
Тёплый комментарий поддержки канала
Все четко без воды!!! Очень полезно!👍
Очень толково, красиво, познавательно и главное я кайфую от такого типа подачи информации. Спасибо 100500 раз
Супер, жду следующее видео с нетерпением !!!
Лучший ! ✊
Спасибо за уроки.
Мега харош , очень. Полезные видео
Теперь понятно, почему при пирТУпир системе на повторах ДезКам всё выглядит так странно и потешно!)))
Спасибки за очередной познавательный видось.
Очень жду продолжения!
Отличный и познавательный ролик!
Хотелось бы добавить пожелание. В рамках серии туторов про мультиплеер, сделать ролик, в котором наглядно показывается как завершить свой мультиплеер в игру и подключить в него друзей. Пусть это будет сделано на обычной болванке, самом начальном уровне UE5.
Главное, это сам момент подключения других игроков к тебе. Спасибо заранее🙏
Все Это будет
Благодарю
Ааааааааа класс новый видос
Всего лишь стрим а эмоций море
И сколько радости в том что галочка работает
@@1play2fun это даже не радость а сплошное удовольствие
7:42 гномы из little nighmares 😂
А так, спасибо за урок!
Супер! Можно что не будь про VR?
Большое спасибо за уроки, очень полезные.
К сожалению не всегда получается связать навыки из разных уроков в единое целое. Нельзя ли вернуться к серии уроков по AI и сделать как бы закрепляющий урок с реальным игровым функционалом. Я просмотрел все уроки из этой серии, но пока не смог сделать задуманное. Задача чисто игровая - например есть enemy, он должен патрулировать или по рандомным точкам(это есть в уроках) или по чек поинтам(этого нет). При этом постоянно мониторить присутствие игрока(у вас сделано через ConeCheck в BehaviorTree, но хотелось бы через AiPerception в AiController там больше настроек). Далее меняем анимацию на "преследование" - это важно! и пытаемся догнать игрока, если догнали то "атака", если потеряли из виду - то N секунд движемся к последней точке где видели игрока, и если не находим то пауза пару сек, опять смена анимации на обычную ходьбу и возврат в точку откуда начали преследование, потом продолжение патрулирования.
Я логику в принципе сделал, кусками, но не могу все связать вместе. Например не понимаю как пробросить состояние AiPerception внутрь BehaviorTree в тот момент когда бот делает "MoveTo", получается только после, но это уже не то. Или например есть StateEnum(Idle, Walk, Chase, Run, etc) для смены анимаций в AnimBP, и чтобы он работал внутри транзишенов в AnimBP его необходимо менять откуда то снаружи, видимо из BehaviorTree. Или я вообще неправильно понимаю структуру этого движка. Еще есть трабл с тем какие классы создаются раньше а какие позже. Например я умудрился вызвать переменную из blackboard до его создания.
Спасибо. Всё здорово, но очень не хватает отображения на экране нажатия клавиш.(
можно ли сделать так чтоб игроки могли переходить с уровня на уровень не зависимо к примеру (как бы один игрок быстрее прошёл эту карту, а второй нет его. который уже прошёл будит ждать его или же будит проходить дольше)
У меня есть один вопрос. Если я создал Искусственный интеллекта (с анимации, получается урон, нападает и так далее) и этот искуcственный интеллект будет да пустим каждый уровней или этоже будет ждать игрока. Как мне стоит начать начать через ивент бегин плай или не знаю?
Вопрос: а в unreal можно на блюпринте использовать модели с других программ?
Нет
Вот пытаюсь изучать репликацию переделивая темплейт с FPS. Там оружие идет как меш компонент и логика выстрела в ньом. Когда пытаюсь зделать спавн пули з клиента передавая рпс на сервер, ничего не происходит и в лог пишет что неимею контроля над компонентом оружия. В чем тут проблема?
Компонент тоже должен быть реплизирован (галочка)
Добрый день, у вас отличные уроки. Интересует вопрос как можно реализовать Выборочную репликацию клиентов? Предположим есть Персонажи за обзором камеры(или в тумане войны) и чтоб они реплицировались одному или группе игроков но не всем, только когда они попадают в камеру(от первого лица).
Есть дальность репликации.
В настройках класса
Либо реплицировать только то, что выделено. То есть внутри объекта делать проверку
Здравствуйте у меня возникают проблемы по Unreal Engine 5
1 не получается перенести контроллер FirstPerson в ThirdPerson шаблон (через проводник захожу в мой проект в папку контент и копирую FirstPerson и в другом проекте в папку контент вставляю но исчезают все анимации итд )
зачем мне переность контролер ? мне нужен ai и FirstPerson в одном проекте.
2 я создаю модель домика и применяю к нему модель разрушения chaos но персонаж может сдвинуть это дом и сломать ТАК БЫТЬ НЕ ДОЛЖНО я пробовал увеличить массу но всё без успеха слышал про якоря но не нашел как их применить.
надеюсь на помощь буду очень рад если CyberStars снимет видео про систему разрушений.
А можно на unreal engine сделать мультиплеер с разными персонажами с разной физикой (их модели и хитбокса?)
Можно
Доброго времени суток. Вопрос по RPC. Объясните, пожалуйста, почему если НА ИНПУТ спавнить меш из блупринта игрока с RPC serv->multi, то отображается у всех клиентов, но если сделать тоже самое через блупринт контроллера - не работает. Все никак не могу с этим разобраться, тыкался везде и по-разному, но не выходит.
Павн перса реплицирован - его копия есть у всех сторон.
А контроллер не реплицирован . Его копия есть только у сервера.
@@cyberstars-5839 То есть получается так: если я хочу на инпуте делать действия, которые должны быть видны у других игроков (например спавн проджектайл пули), я должен логику инпута прописывать именно в персе?
Или есть какой-то обходной вариант?
По итогу я в контроллере на инпут вызвал кастомную serv функцию самого перса и все сработало (что конечно очень логично). Это нормальная практика или есть способы так сказать по-правильнее?
Заранее спасибо за ответы
Думаю заняться 3D моделированием спустя 22 года, умею рисовать портреты простым карандашом. Хотелось бы узнать, востребованы ли такие люди в индустрии?
Довольно да
3D-художников до жопы. Каждый второй посмотрел курсы. Но действительно качественных очень мало. Если не будешь развиваться, а просто вертексы гонять - не будешь востребован. Все просто.
@@nathanblake1535 Спасибо
Здравствуй, а есть ли возможность сделать открытый мир с планетами и космосом, с возможностью ходить по планета и летать между ними? Хотелось бы увидеть как это возможно сделать. Спасибо за твои видосы👍
Можно. World partition
А для каких целей нужен вызов run on client? Где это можен пригодится в мультиплеере?
Для тестов. Когда нужно запустить сервер из клиента
@@cyberstars-5839 Спасибо!
Скажите пожалуйста уже есть видео о всех игровых движках
отдельного видео нет, но эта тема была затронута в этих роликах:
ua-cam.com/video/KjBBC07hGjQ/v-deo.html
ua-cam.com/video/V3SKOANqI-k/v-deo.html
@@cyberstars-5839 а снимите отдельный ролик?
возможно)
@@cyberstars-5839 если снимите про все игровые движки ну эти открытые закрытые по крайней мере из видео по пошаговой инструкций ну это я про категории,то буду очень благодарен
Урок по GAS будет?)
Блюпринтеры его потом запинают резиновыми палками?
@@1play2fun есть плагины для упрощенной работы с инициализацией GAS.
А можно ли будет сделать игру-мультиплеер без синглплеера?
Хехе . Можно
@@cyberstars-5839 Я просто игру с другом делаю,на подобии PUBGMobile,но мы всё делаем по гайдам,т.к. мы ничего про это не шарим,новички грубо говоря).
✌✌✌✌✌✌✌✌
Из блюпринта репликация с мульикаст не передаётся на сервер (а от сервера на клиент передаётся) - в чём может быть причина? Клиентом открываю дверь, но сервер не видет открытие/закрытие двери, но если сервер открывает/закрывает дверь - клиент видет.
В блупринте перед мультикаст нужен RPC на сервер
24:57
@@cyberstars-5839 В том то и проблема, что он не отправляет на сервер, Run on Server не работает.
@@xo0oxNicKeRxo0ox Да, всё верно, но не работает так. Может быть причина в том что я это делаю в отдельном блюпринте, а не в BP_персонажа? У меня блюпринт Актор.
Да, из за этого.
Нужно владеть тем actor с которого вы реплицируете
Помогите кто может, я могу использовать мегасканы для андроид игры? это вобше возможна? Я имею в виду они не будут ли слишком тяжолымы для мобильных устройств
будут тяжелыми, у андроида редко так много VRAM
@@1play2fun спасибо
Мегасканы весят много, да и на компах порой лагают. Однозначно нет
@@psychokiller4524 спасибо
если мобилка, то лучше тримы, так, на мой взгляд, будет лучше. Тут вообще биться за оптимизацию придётся
А с какой целью нужно просчитывать координаты и на клиенте и на сервере, если эти данные всё ровно будут получены всеми с сервера, почему нельзя просто просчитывать всё на сервере а клиенту выдавать результат, в чем причина??
Это просчитывается на сервере а с клиента приходят данные куда игрок хочет пойти
причина в том, что передача данных по сети производится реже, чем отрисовка на клиенте, и в промежутке между получением данных от сервера надо визуал чем-то восполнять (иначе будут подлагивания). Поэтому и реализуют экстраполяцию, чтобы было плавно, пока не пришли актуальные данные от сервера.
напомните плз как переключиться между игроками
Один игров должен запустить карту с опцией listen.
Нод open level
почему гейм мод существует только на сервере, если он существует на клиенте ?
Его логика выполняется на сервере
Если вам лень смотреть всё видео то вот спойлер: без галочки "replicate" ничего не работает 😀
Делай тайм коды
Плюсую, без тайм кодов сложно ориентироваться
уважаю попытку автора объяснить эту страшную сложную тему, трудился.
но, к сожалению, эту репликацию все объясняют ужасно
ничего понять не могу. Как репликация вообще работает?
Где сервер, где клиент? Нужны практические примеры, а не синие кубики.
Вот например, у меня динамический материал на персонаже.
Хочу чтобы они бегали разноцветные - и я видел кто из них host, а кто клиент.
Что мне в реплицировать? Сам материал? Или какую-то вспомогательную переменную типа Color если я хочу поменять ему цвет и все увидели. Вот эта суть не понятна. Сами основы.
наверное, я поспешил заняться мультиплеером, никто не может пояснить самое простейшее
например, как мне увидеть пушку в руках другого игрока или то, что он окрасился в другой цвет.
начинают мне перечислять все галочки в движке, перечисления, все возможные термины
и выстреливают их как из пулемета. Это ужасно.
Стиль подачи у автора, как будто он в академии наук сдает зачет. И академики ему кивают головами. А автор мелом выводит трехэтажные формулы, одну за другой. И говорит книжными словами, как академики любят.
Нет, тут не академики. Обычные ученики.
Понимаю что это сложная наука, но зачем ее еще сильней усложнять. А потом люди будут делать багованные и тормозящие игры.
Через RPC всё это реализуете, передаёте параметры на одной стороне, обрабатываете на принимающей и передаёте дальше (или всем), если нужно. А на счёт репликации переменных - в видео было сказано как сделать репликацию с вызовом обработчика, пересмотрите видео внимательно ещё раз =) При репликации (если указан правильный тип репликации конечно), может вызываться обработчик с вашей логикой.
На счёт стиля изложения, - обычный академический стиль, когда сначала рассматривается всё в общих чертах (основной концепт), а потом уже более детально по каждому из ранее изложенных пунктов.
Если это самый первый проект в рамках обучения, то конечно мультиплеер это слишком рано. Для начала необходимо ознакомиться с движком, с инструментами, с доступными классами и компонентами. Сделать что-то простое в оффлайн, задействуя все основные классы и инструменты (gamemode, level, hud, controller, aicontroller, actor, pawn, редактор ландшафта, анимации, звуки, частицы и прочее). Возможно даже несколько раз в разных стилях для закрепления. Потом уже изучать мультиплеер. И проект, который планируете выпускать в общее пользование уже можно затачивать под мультиплеер. Хотя бы архитектура проекта всегда должна придерживаться клиент-серверному взаимодействию, даже если проект делается под одного игрока.