Функция Set Is Replicated в Unreal Engine

Друзья, приветствую, с Вами Будуев Антон. В этой статье мы в качестве справочной информации обсудим Blueprint-функцию (метод) Set Is Replicated класса Actor Component в Unreal Engine (UE4, UE5), включающую/отключающую репликацию компонента.

Также рекомендую скачать мою бесплатную книгу по Blueprint для Unreal Engine.

Основная цель книги — дать общий, целостный и понятный обзор системы Blueprint. Книга предлагает взгляд с высоты «птичьего полёта» — ясную и чёткую карту игрового мира Unreal Engine, которая поможет увидеть ключевые взаимосвязи и понять, как устроена система визуального скриптинга.

Зарегистрироваться в ЛК и скачать книгу [Blueprints. Взгляд с высоты «птичьего полёта»]

Set Is Replicated

Blueprint-функция Set Is Replicated класса Actor Component в Unreal Engine (UE4, UE5)
Blueprint-функция Set Is Replicated класса Actor Component в Unreal Engine (UE4, UE5)

Blueprint-функция Set Is Replicated в Unreal Engine — метод класса Actor Component, который устанавливает, должен ли данный компонент участвовать в репликации по сети.

Функция доступна как в C++, так и в Blueprints и используется для включения или отключения сетевой репликации компонента. Если репликация включена (True), состояние этого компонента будет передаваться на клиентов в многопользовательской игре (если его Актор-владелец также реплицируется). Эта функция вызывается при создании компонента или изменении его состояния репликации в процессе игры.

Перевод официальной справки: функция Set Is Replicated — включает/отключает репликацию.

Параметры функции

  • Target (Actor Component) — указатель на компонент, для которого необходимо установить правила репликации.
  • Should Replicate (bool) — флаг, указывающий, должна ли производиться репликация компонента: True — компонент будет реплицироваться, False — репликация отключается.

Тонкости применения функции

Репликация компонента возможна, только если Актор-владелец также реплицируется.

Как Set Is Replicated работает внутри

Кратко рассмотрим, как функция Set Is Replicated работает внутри движка Unreal Engine.

  1. Проверяется, совпадает ли текущее значение внутреннего свойства bReplicates, хранящее информацию, включена ли репликация компонента или нет, с тем, которое нужно установить через рассматриваемую функцию SetIsReplicated. Если значения совпадают, то функция ничего не делает.
  2. Внутренним методом GetComponentClassCanReplicate() проверяется, может ли данный класс компонента вообще участвовать в репликации.
  3. Если все условия пройдены, устанавливается новое значение внутреннего свойства bReplicates.
  4. В системе производится отметка, что свойство было изменено (MARK_PROPERTY_DIRTY).
  5. Через функцию GetOwner() получается владеющий текущим компонентом Актор, и если такой Актор существует, вызывается внутренний метод UpdateReplicatedComponent() для обновления информации о сетевой репликации компонента.
  6. В случае ошибок выводится лог с предупреждением о невозможности репликации.

Ключевые понятия, связанные с функцией

  • Репликация (Replication) — механизм передачи данных между сервером и клиентами в сетевой игре.
  • bReplicates — внутреннее свойство, хранящее информацию о том, реплицируется ли объект или нет.
  • GetOwner() — функция, возвращающая ссылку на Актора-владельца, которому принадлежит компонент.
  • UpdateReplicatedComponent() — внутренний метод класса Actor, вызывающийся при изменении состояния репликации компонента, и предназначен для обновления информации о сетевой репликации компонента, принадлежащего Актору (добавление или удаление компонента из списка реплицируемых компонентов, обновление условий репликации, инициализация репликации компонента, обновление информации о репликации компонента).
  • GetComponentClassCanReplicate() — внутренний метод, проверяющий, разрешено ли вообще данному типу компонента участвовать в репликации.

Напоминаю про мою бесплатную книгу по Blueprint для Unreal Engine.

Основная цель книги — дать общий, целостный и понятный обзор системы Blueprint. Книга предлагает взгляд с высоты «птичьего полёта» — ясную и чёткую карту игрового мира Unreal Engine, которая поможет увидеть ключевые взаимосвязи и понять, как устроена система визуального скриптинга.

Зарегистрироваться в ЛК и скачать книгу [Blueprints. Взгляд с высоты «птичьего полёта»]

Оцените статью
( 1 оценка, среднее 5 из 5 )
Поделитесь этой статьей со своими знакомыми в социальных сетях, возможно, эта статья кому-то будет полезна
Unreal Engine - это просто
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.