Сеть и репликация в Unreal Engine 5.sa_UnEn5

Сеть и репликация в Unreal Engine 5.sa_UnEn5

Просмотрите все вопросы и варианты бесплатно. Правильные ответы скрыты и открываются только после получения доступа.

33 вопроса Вариант 1 Доступ 7 дней
Содержание теста

Вопросы и варианты

Без отметок и подсказок к правильным ответам

Вопрос 1

Какое ключевое слово макроса UPROPERTY позволяет реплицировать поле класса?

  1. Replicated
Вопрос 2

Какое ключевое слово макроса UPROPERTY позволяет вызывать функцию после изменения реплицируемой переменной?

  1. ReplicatedUsing
Вопрос 3

Какое ключевое слово макроса UFUNCTION позволяет вызывать функцию только на клиенте?

  1. Client
Вопрос 4

Какое ключевое слово макроса UFUNCTION позволяет вызывать функцию и на сервере, и на клиенте?

  1. NetMulticast
Вопрос 5

Какое ключевое слово макроса UFUNCTION гарантирует, что RPC будет вызвана?

  1. Reliable
Вопрос 6

Какое ключевое слово макроса UFUNCTION не гарантирует, что RPC будет вызвана?

  1. UnReliable
Вопрос 7

Какой макрос позволяет реплицировать переменные с условиями?

  1. DOREPLIFETIME_CONDITION
Вопрос 8

Какой класс нужен для хранения состояния игры на всех клиентах?

  1. AGameState
Вопрос 9

Какое ключевое слово макроса UFUNCTION позволяет вызывать функцию только на сервере?

  1. Server
Вопрос 10

Какое ключевое слово макроса UFUNCTION позволяет добавить функцию проверки, которая блокирует отправку в RPC, если возвращает false?

  1. WithValidation
Вопрос 11

Без какого макроса не будет возможна репликация даже если пометить поле UPROPERTY(Replicated)?

  1. DOREPLIFETIME
Вопрос 12

Какой класс является базовым для всех UMG виджетов?

  1. UUserWidget
Вопрос 13

Что такое Dedicated Server в рамках UE5?

  1. Dedicated Server – это авторитарный удаленный сервер, полностью контролирующий игру и реплицирующий изменения клиентам. Не содержит графики, интерфейса и визуала.
  2. Dedicated Server — это локальный сервер, который хранит и обрабатывает данные на клиентской стороне. Содержит графику, интерфейс и визуал.
  3. Dedicated Server – это специальный локальный сервер в Unreal Engine 5, который используется для тестирования игры без необходимости подключения к интернету.
Вопрос 14

Что такое Listen Server в рамках UE5?

  1. Listen Server – это сервер, который хостит игру, к которой подключаются другие игроки, и одновременно является клиентом для локального пользователя.
  2. Listen Server — это удаленный сервер, который хранит данные и управляет подключениями клиентов, но не используется для игры.
  3. Listen Server – это специальный удалённый серве в Unreal Engine 5, который является интерфейсом для мониторинга состояния сервера и подключенных к нему клиентов.
Вопрос 15

Что такое Client в рамках UE5?

  1. Client – это локальная копия игры, которая одновременно выполняет функции сервера и клиента.
  2. Client – это конфигурация, в которой игра не имеет серверной логики и может только подключаться к серверу.
  3. Client – это специальный модуль Unreal Engine 5, который используется для управления сервером и выполнения административных задач.
Вопрос 16

Что нужно для сборки Dedicated Server?

  1. Необходимо настроить параметры проекта в редакторе и создать новый профиль сборки.
  2. Необходимо собрать движок Unreal Engine 5 с исходных файлов и создать серверный Target файл.
  3. Необходимо использовать специализированные стандартные шаблоны и автоматические инструменты конфигурации.
Вопрос 17

Что такое RPC?

  1. RPC – это технология, позволяющая вызывать функции удаленно, например, вызывать функцию сервера, отправив запрос с клиента.
  2. RPC – это технология для создания резервных копий данных сервера в реальном времени и их передачи клиентам по запросу.
  3. RPC – это технология, которая представляет собой систему для распределённой обработки данных на клиентских машинах в автономном режиме.
Вопрос 18

Что означает роль Authority?

  1. Роль Authority используется для определения прав доступа к файлам на клиентской машине.
  2. Роль Authority применяет автоматическое управление состоянием объекта на клиентской стороне.
  3. Роль Authority означает, что объект находится на сервере и не может быть изменен с клиента.
Вопрос 19

Что означает роль SimulatedProxy?

  1. Роль SimulatedProxy служит для управления ресурсами и распределения нагрузки на клиентских машинах.
  2. Роль SimulatedProxy означает, что объект полностью подчиняется серверу так как является копией объекта с сервера и обновляет от него изменения.
  3. Роль SimulatedProxy применяется для локального хранения данных объектов и их синхронизации с сервером.
Вопрос 20

Как превратить Standalone процесс игры в Listen Server?

  1. Запустить карту, указав в параметрах после имени карты “?Listen”.
  2. Изменить конфигурацию сети через меню настроек и установить тип сервера.
  3. Использовать консольные команды для перевода игры в режим сервера и установить параметры сети.
Вопрос 21

Что такое Standalone в рамках UE5?

  1. Конфигурация, в которой игра поддерживает сетевые соединения и многопользовательский режим.
  2. Конфигурация, при которой игра запускается через консольные команды и взаимодействует с внешними скриптами.
  3. Конфигурация, в которой игра не принимает подключений и является полностью одиночной.
Вопрос 22

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

  1. Это синхронизация данных копии объекта на сервере и копии на клиенте.
  2. Изменить конфигурацию сети через меню настроек и установить тип сервера.
  3. Использовать консольные команды для перевода игры в режим сервера и установить параметры сети.
Вопрос 23

Что означает роль AutonomousProxy?

  1. Роль AutonomousProxy служит для синхронизации данных между клиентом и сервером в реальном времени.
  2. Роль AutonomousProxy применяется для автоматической репликации объектов на всех подключённых клиентах.
  3. Роль AutonomousProxy означает, что объект подчиняется серверу, но принадлежит одному клиенту, который может вызывать логику через RPC запросы.
Вопрос 24

Что нужно, чтобы объект мог отправлять RPC?

  1. Объект должен быть зарегистрирован в системе событий и иметь доступ к глобальной сети.
  2. Объект должен иметь APlayerController в цепочке владения.
  3. Объект должен быть настроен для автоматической синхронизации данных между клиентом и сервером.
Вопрос 25

Сопоставьте объект и его локальную роль на клиенте:

  1. APlayerController
  2. APawn
  3. ANotReplicatedActor
  4. Autonomous Proxy
  5. Simulated Proxy
  6. Authority
Вопрос 26

Сопоставьте класс с его методом:

  1. AMyHUD
  2. AMyWidget
  3. UTextBlock
  4. BeginPlay()
  5. NativeOnInitialized()
  6. SetText(FText Text)
Вопрос 27

Сопоставьте класс с его расположением в рамках клиент-серверной архитектуры:

  1. AGameMode
  2. AGameState
  3. APlayerController
  4. Server only
  5. Replicated to All
  6. Replicated to Owning Client
Вопрос 28

Расположите в правильном порядке вызовы методов при отображения игроку изменения таймера игры:

  1. AMyGameMode::DecreaseTime
  2. AMyGameState::UpdateTime_NetMulticast
  3. AMyHUD::UpdateTime
  4. AMyWidget::UpdateTimeText
Вопрос 29

Расположите в правильном порядке вызовы методов при стрельбе из оружия:

  1. AMyWeapon::Fire_Server
  2. AMyWeapon::DecreaseAmmo
  3. AMyWeapon::OnRep_CurrentAmmo
Вопрос 30

Расположите в правильном порядке вызовы методов при подборе оружия:

  1. AMyPickUp::OnPickUp (Server)
  2. AMyWeaponComponent::GiveWeapon (Server)
  3. AMyWeaponComponent::GiveWeapon_Client
  4. AMyHUD::UpdateWeaponWidget
Вопрос 31

Как правильно описывается последовательность действий при выстреле одного игрока в другого в рамках клиент-серверной архитектуры?

  1. Игрок 1 стреляет. Оружие 1 посылает запрос на стрельбу серверу. Сервер создает объект пули для Оружия 1. Сервер говорит каждому клиенту сделать то же самое. Сервер говорит клиентам как пуля движется. Пуля попадает на сервере в игрока 2, уничтожается. Сервер отнимает здоровье у игрока 2. Сервер говорит клиентам об изменениях. Сервер говорит клиентам воспроизвести звуки и эффекты.
  2. Игрок 1 стреляет. Клиент отправляет сигнал второму игроку через сервер, который обрабатывает информацию и создаёт объект пули. Сервер передаёт клиентам данные о движении пули и её траектории. Пуля наносит урон игроку 2 на сервере, и изменения состояния передаются клиентам, которые обновляют здоровье. Сервер говорит клиентам воспроизвести звуки и эффекты.
  3. Игрок 1 производит выстрел, что инициирует сервер на создание объекта пули для Оружия 1. Клиенты получают сигнал от сервера и создают аналогичные объекты пули у себя. Сервер отслеживает траекторию пули на клиентах. Пуля попадает в игрока 2, сервер уменьшает его здоровье и посылает информацию клиентам для обновления визуальных эффектов и звуков.
Вопрос 32

Какое количество шаблонов для плагинов есть в Unreal Engine 5? Какой у них функционал?

  1. В Unreal Engine есть 6 шаблонов для создания плагинов. Первый - Game Module, который включает основной функционал игры. Второй - Asset Management, для управления ассетами и их загрузки. Третий - Network Module, для создания сетевой инфраструктуры. Четвертый - UI Module, который помогает в создании пользовательского интерфейса. Пятый - AI Module, используемый для создания и настройки искусственного интеллекта. Шестой - Physics Module, для управления физикой в игре.
  2. Unreal Engine предоставляет 6 шаблонов помимо пустого для создания собственного плагина. Первый – Blueprint Library – класс-библиотека с набором функций, доступ к которым есть в любом блюпринте. Второй – плагин типа Content Only – предполагает наличие только сторонних ассетов без какой-либо программной логики. Третий – Third Party Library – тип шаблона для интеграции сторонней библиотеки C++ в Unreal Engine. Четвертый – Editor Standalone Window – позволяет создать для редактора открывающееся окно. Пятый – Editor Toolbar Button – содержит реализацию добавления кнопки на toolbar панель. Шестой – Editor Mode – позволяет реализовать отдельный режим работы в редакторе c возможностями отменять совершенное действие и повторить отмененное.
  3. Unreal Engine предлагает 6 шаблонов плагинов. Первый - Audio Plugin, для добавления звуков и музыки. Второй - Rendering Plugin, чтобы настроить рендеринг и графику. Третий - Input Plugin, для обработки ввода пользователя. Четвертый - Animation Plugin, чтобы управлять анимациями. Пятый - Network Plugin, для настройки сетевых возможностей. Шестой - Editor Plugin, для расширения функционала редактора.
Вопрос 33

Какие основные классы содержит Automation Framework? Зачем они нужны?

  1. Automation Framework состоит из трех ключевых классов: FAutomationTestFramework, FAutomationTestBase, FAutomationLatentCommand. FAutomationTestFramework предназначен для запуска тестов, отслеживания прогресса тестов и получения результатов. Также он поддерживает запуск отложенных команд. FAutomationTestBase — это базовый класс тестов, он запускает тесты через метод RunTest(), поддерживает логирование и обработку ошибок с выводом сообщений. FAutomationLatentCommand — это класс, описывающий отложенную команду, для реализации которой необходимо переопределить метод Update(). Отложенные команды могут быть расположены в методе RunTest() класса типа FAutomationTestBase.
  2. Automation Framework содержит три основных класса: FAutomationTestFramework, FAutomationTestBase и FAutomationLatentCommand. FAutomationTestFramework отвечает за инициацию тестов, их мониторинг и сбор результатов. Он также позволяет выполнять отложенные команды. FAutomationTestBase является базовым классом для тестов, который запускает тесты через метод ExecuteTest(), предоставляет возможности логирования и управления ошибками. FAutomationLatentCommand описывает отложенные команды, требующие переопределения метода PerformUpdate(), и может быть использован внутри метода ExecuteTest() класса FAutomationTestBase.
  3. Automation Framework включает три ключевых компонента: FAutomationTestFramework, FAutomationTestBase и FAutomationCommand. FAutomationTestFramework запускает тесты и отслеживает их выполнение, а также поддерживает отложенные команды. FAutomationTestBase предоставляет основы для создания тестов и их выполнения через метод RunTest(), включая логирование и обработку ошибок. FAutomationCommand представляет команды, требующие переопределения метода Update, и используется для выполнения различных действий во время тестов.