Основы репликации | Экземпляры, RepNotify, RPC | Серия обучающих программ для многопользовательской игры | UE5

YOUTUBE · 30.11.2025 04:24

Ключевые темы и таймкоды

Введение в репликацию

0:02
  • Видео посвящено основам репликации.
  • Доступ к проекту можно получить на Patreon.
  • Используется пользовательская карта для демонстрации репликации.

Что такое репликация?

0:16
  • Репликация означает копирование или дублирование чего-либо.
  • Пример с картиной: создание копии оригинала.
  • Применение репликации в движке Unreal Engine.

Применение репликации в многопользовательских играх

1:55
  • В многопользовательской игре каждый игрок имеет свой экземпляр игры.
  • Экземпляр игры запускается на каждом компьютере.
  • Репликация позволяет синхронизировать действия игроков.

Работа сервера и клиентов

3:34
  • Сервер передает состояние игры всем клиентам.
  • Клиенты получают обновления от сервера и синхронизируют свои данные.
  • Сервер и клиенты обмениваются данными для синхронизации.

Включение репликации в движке

6:28
  • Включение переменной replicates в классе.
  • Сервер контролирует клиентов и может перезаписывать их данные.
  • Клиенты отправляют свои данные на сервер для синхронизации.

Типы переменных в Unreal Engine

7:55
  • Нереплицируемые переменные существуют только на одном экземпляре игры.
  • Реплицируемые переменные существуют на сервере и клиентах.
  • Переменные rep notify уведомляют о репликации.

Демонстрация работы rep notify

10:07
  • Создание новой переменной для демонстрации.
  • Переменная не настроена на репликацию и имеет разные значения для разных клиентов.

Репликация переменных

10:31
  • Настройка переменной на репликацию показывает два шарика на панели сведений.
  • Шарики указывают на синхронизацию состояния сервера и клиента.
  • Сервер отправляет информацию клиенту, что объясняет наклон шариков.

Работа реплицируемых переменных

11:10
  • Включение репликации создает два шарика для переменной.
  • Переменная на сервере и клиенте синхронизируются при каждом обновлении.
  • Задержка может быть выше при игре с игроками из разных стран.

Уведомление о повторении

11:46
  • Включение уведомления о повторении создает новую функцию.
  • Функция вызывается при изменении значения переменной.
  • Это позволяет автоматически обновлять пользовательский интерфейс без необходимости проверять изменения вручную.

Удаленные вызовы процедур RPC

13:17
  • В движке есть три типа RPC: запуск на клиенте, запуск на сервере и многоадресная рассылка.
  • События могут быть настроены на запуск на клиенте-владельце, сервере или многоадресной рассылке.
  • Многоадресная рассылка транслирует событие на сервер и все подключенные клиенты.

Пример с воспроизведенным актером

17:06
  • Пример с актером, который не настроен на воспроизведение, показывает, что состояние сервера не реплицируется на клиента.
  • Включение репликации позволяет актеру двигаться и обновлять свои данные на клиенте.
  • Логика события выполняется только на сервере, но данные реплицируются на клиента.

Основы репликации

20:24
  • Репликация происходит как на сервере, так и на клиенте.
  • При установке ротации в true, субъект начинает поворачиваться в определенном направлении.
  • После поворота субъект ждет пару секунд и снова поворачивается.
  • При включении репликации на сервере и клиенте, движения субъектов синхронизируются.

Введение в репликацию

21:20
  • Для работы с репликацией необходимо включить её.
  • Используются реплицируемые переменные или переменные с уведомлением о повторном использовании.
  • Удаленные вызовы процедур позволяют клиентам взаимодействовать с сервером.

Дополнительные ресурсы и планы

21:47
  • Проект доступен на Patreon для более глубокого изучения.
  • В следующем видео будут рассмотрены реальные примеры тиражирования.
  • Будут обсуждаться реплицируемые переменные, устройство rep no, примеры использования клиента-владельца и другие элементы многопользовательской игры.