Хотите создать интересный диалог, где игроки делают выбор, который изменит ход игры, приобретают предметы или получают награды за выполнение задач неигровых персонажей с помощью устройства «Диалог»? Такие диалоги можно сделать захватывающими, информативными и увлекательными, чтобы они развивали сюжет игры, давая игрокам необходимые ресурсы и знания.
В устройство Всплывающее диалоговое окно заложены те же базовые функции, что и в устройство «Диалог». Оба устройства можно использовать, чтобы:
Отображать сообщения или инструкции для игрока.
Отображать справочную информацию для целей (при использовании с устройством «Управление заданиями»).
Подключаться к невидимым устройствам «Выбор класса», чтобы игроки могли выбирать класс.
Создавать диалоги между игроком и неигровыми персонажами.
С помощью устройства Диалог можно добавлять слои в диалоги, где игроки делают выбор, который запускает события и влияет на ход игры.
используйте устройство «Диалог» в Unreal Editor для Fortnite (UEFN), чтобы:
Создавать дерево диалога.
Создавать ветки диалога.
Запускать другие устройства с помощью событий в деревьях диалогов.
Поиск и использование устройства
Устройство «Диалог» находится в папке Fortnite > Устройства > Интерфейс. Перетащите устройство из Каталога ресурсов и разместите его в окне просмотра рядом с устройством Генератор неигровых персонажей или устройством персонажа.
В общем виде рабочий процесс для этого устройства выглядит следующим образом:
Разместите устройство «Диалог» на уровне и настройте ресурсы, необходимые для его использования.
Используйте функцию Инициировать диалог с привязкой события или используйте Verse для вызова InitiateConversation из другого устройства (например, из устройства Триггер).
Запустите игру и взаимодействуйте с устройством, чтобы инициировать диалог.
Если вы настроили устройство правильно, начнётся диалог.
Настройка устройства
Чтобы создать ресурс Граф диалога, нажмите правой кнопкой мыши в Каталоге ресурсов и выберите Игровой процесс > Хранилище диалогов.
Вы также можете создать новый ресурс графа диалога в поле «Диалог» устройства Диалог.
Чтобы открыть граф диалога, дважды нажмите на созданный ресурс.
Создайте диалог, добавив узлы. Сначала разместите узел Default Entry Point (Стандартная точка входа). С него начинаются все диалоги.
Подробнее о создании диалогов: Пользовательский интерфейс диалога.
Перетащите устройство Диалог на уровень.
Добавьте созданный вами диалог в поле Диалог.
Основы работы с устройством
Как только устройство «Диалог» появится в окне просмотра, вы сможете приступить к созданию графа диалога и разработке базового пользовательского интерфейса диалога с помощью встроенных инструментов устройства.
Основные настройки устройства позволяют создать базовый диалог, используя три базовые настройки диалога:
Тип диалога — определяет стиль интерфейса, отображаемого во время диалога. Подробнее: Типы диалогов.
Граф диалога — устройство использует этот ресурс для запуска диалога.
Имя говорящего — отображает имя говорящего в диалогах. Если оставить это поле пустым, имя не будет отображаться на экране.
Базовый стиль интерфейса
Когда для параметра Тип диалога задано значение Окно, в базовом дизайне интерфейса используются следующие настройки:
Цвет текста заголовка — цвет заголовка в окне.
Граница заголовка — цвет границы заголовка.
Цвет фона заголовка — цвет фона заголовка.
Цвет основного текста — цвет основного текста в окне.
Цвет фона основного текста — цвет фона текста.
Цвет фона кнопки — цвет фона кнопки в окне.
Цвет кнопки при наведении — цвет кнопки при наведении курсора.
Базовые функции диалога
Существует пять функций диалога:
Начать диалог — запускает соответствующий диалог для игрока, запустившего это событие.
Завершить диалог — завершает текущий диалог у игрока, запустившего это событие.
Завершить все диалоги — завершает все диалоги при получении сигнала по выбранному каналу.
Включить — включает устройство при получении сигнала по выбранному каналу.
Отключить — отключает устройство при получении сигнала по выбранному каналу.
Скрыть диалог: скрывает диалог при получении сигнала по выбранному каналу. Пока диалог скрыт, ответные реплики выбирать нельзя.
Показать диалог — показывает диалог при получении сигнала с выбранного канала, если он скрыт.
Базовые события диалога
В устройстве «Диалог» существуют события следующих типов:
При начале диалога — транслирует сообщение при начале нового диалога.
При завершении диалога — транслирует это событие для игрока по завершении диалога.
При отмене диалога — транслирует это событие для данного игрока при принудительном досрочном выходе из диалога путём срабатывания команды «Завершить диалог» или «Завершить все диалоги».
При любом событии разговора — транслирует сообщение, когда во время диалога было запущено любое пронумерованное событие из соответствующего графа диалога.
При первом событии диалога — транслирует сообщение, когда для первого события запускается событие из соответствующего графа диалога.
При втором событии диалога — см. «При первом событии диалога».
При третьем событии диалога — см. «При первом событии диалога».
При четвёртом событии диалога — см. «При первом событии диалога».
При пятом событии диалога — см. «При первом событии диалога».
При шестом событии диалога — см. «При первом событии диалога».
При седьмом событии диалога — см. «При первом событии диалога».
При восьмом событии диалога — см. «При первом событии диалога».
При девятом событии диалога — см. «При первом событии диалога».
При десятом событии диалога — см. «При первом событии диалога».
Более подробную информацию см. в следующих разделах:
Типы диалогов
Существует три типа модальных окон диалогов: радиальное, стандартное и пользовательское. Все модальные окна отображают выбор и активируют события.
Советуем создавать единообразные модальные окна диалогов в одной игре. Если вы выберете радиальное модальное окно для одного диалога, все то остальные окна в проекте также должны быть радиальными.
Радиальное
Радиальное модальное окно отображает интерфейс диалога и варианты выбора в виде колеса. Этот стиль используется при взаимодействии неигровых персонажей в Королевской битве Fortnite.
Если ваша игра не содержит сложные диалоги или запутанную предысторию, радиальное окно — это отличный способ предлагать предметы и совершать внутриигровые операции.
Стандартное
В стандартном модальном окне достаточно места для более захватывающих и запутанных сюжетных линий. Подумайте о том, что предстоит прочесть игрокам, и сделайте процесс чтения максимально увлекательным. Стандартный интерфейс используется для взаимодействия в ролевых играх, визуальных новеллах и во многих других жанрах.
Для оконного модального типа предусмотрено три разных стиля Окна типа диалога:
Стандартный — тип окна по умолчанию.
Один говорящий — настраиваемое окно, на котором отображается значок говорящего.
Два говорящих — настраиваемое окно, на котором отображается значок говорящего.
Стандартное
В стандартном типе окна диалоги неигровых персонажей отображаются в окне, в котором варианты выбора игрока расположены рядом с блоком «Речь».
Один говорящий
При использовании Типа окна с одним говорящим имя и текст говорящего отображаются в окне с кнопками-ответами справа от блока с речью. В отличие от стандартного варианта по умолчанию, с помощью варианта Материал диалога можно использовать материал интерфейса для отображения имени говорящего над блоком с речью.
Подробнее о том, как настроить пользовательский значок говорящего: Пользовательский интерфейс диалога.
Два говорящих
При использовании Типа окна с двумя говорящими имя и текст говорящего отображаются в окне с кнопками-ответами справа от блока с речью. С этим типом окна для обозначения говорящего также можно использовать материалы интерфейса. Подробнее о том, как настроить двух говорящих в графе диалога: Создание диалогов.
Пользовательские настройки
Для персонализации всех элементов интерфейса диалога можно использовать пользовательское модальное окно. Пользовательский интерфейс позволяет задать тон и стиль ваших внутриигровых диалогов.
Пользовательские модальные окна диалогов создаются с помощью Редактора виджетов. См. Пользовательский интерфейс диалога, чтобы узнать, как создать пользовательский интерфейс диалога.
Для пользовательского модального окна необходимо назначить устройство «Диалог». Для успешного начала диалогов устройство должно быть настроено на использование пользовательского интерфейса.
Вот простой пример пользовательского виджета в игре:
Редактор диалогов
Все диалоги создаются в Редакторе диалогов с использованием узлов для заполнения иерархии диалогов.
Редактор диалогов — это единственный способ создать граф диалога. Граф диалога может быть простым или сложным. В графе диалогов не задан верхний лимит количества ответов, однако есть лимит количества ответов, которые определённые модальные окна могут обрабатывать одновременно.
Графы диалогов создаются в Редакторе диалогов. Редактор диалогов открывается двойным нажатием на хранилище диалогов. Чтобы воспользоваться Редактором, нажмите правой кнопкой мыши в области графа и выберите узлы в меню Выбор узлов.
Редактор диалогов состоит из четырёх важных частей:
Нажмите на изображение, чтобы увеличить его.
Граф узлов: иерархия диалогов строится путём расположения и связывания узлов диалогов.
Нажмите правой кнопкой мыши на меню Выбор узлов: содержит все узлы диалога. При выборе узла он добавляется в граф.
Панель «Сведения»: редактируемый текст и область событий узла.
Дерево диалога: отображает иерархию узлов и текст, назначенный для узлов Response (Ответ).
Граф диалога
Графы диалогов создаются путём связывания ряда узлов диалогов. Узлы используют иерархию графа для определения того, на каком этапе диалога находится игрок и где заканчивается граф. Она похожа на блок-схему.
Стандартная схема диалога выглядит примерно так:
Графы диалога начинаются с узла Default Entry Point (Стандартная точка входа). Этот узел указывает на первый узел Speech (Речь), с которого начинается диалог.
Узел Speech (Речь) содержит вступительный текст, который ведёт игрока в дерево диалогов.
Узлы в этом разделе возвращают в начало дерева диалога.
Узлы в этом разделе подсказывают игроку, что нужно принять решение.
Узлы в этом разделе возвращают в начало дерева диалога.
Узлы в этом разделе возвращают в начало дерева диалога.
В иерархии узлов можно отследить, насколько игрок может быть погружён в диалог в зависимости от сделанного им выбора в дереве диалога. Иерархия создаётся путём добавления событий, ответов и других узлов диалога в граф.
Узлы диалога
Узлы диалога являются основой для действий в диалоге. Например, это может быть начало диалога или предложение игроку вариантов выбора (в виде кнопок).
В узлах на панели «Сведения» есть редактируемое поле. Здесь вам нужно ввести текст. В таблице ниже представлены различные узлы диалога.
| Название узла | Описание |
|---|---|
Default Entry Point (Точка входа по умолчанию) | Узел Default Entry Point (Стандартная точка входа) начинает граф диалога. |
Speech (Речь) | Это основной тип узла, который используется в большинстве диалогов. Этот узел создаёт выбор текста, который появляется в основном интерфейсе во время воспроизведения неигровым персонажем, либо цель диалога. В этом поле для ввода текста есть область «Сообщение». |
Response (Ответ) | Узел, используемый для создания вариантов выбора в диалоге. Наличие нескольких узлов Response (Ответ), ответвлённых от одного узла Speech (Речь), приведёт к прекращению диалога и позволит пользователю выбрать один из нескольких вариантов. В этом узле авторы могут ввести текст, который будет отображаться в качестве вариантов при воспроизведении диалога во время игры. Примечание: радиальная модель позволяет одновременно отобразить до 5 вариантов, пользовательская — до 6, а стандартное окно не имеет ограничений. |
Repeat (Повторить) | Этот узел возвращает к предыдущему подключённому узлу в графе. Если узла Speech (Речь) нет, игрокам придётся вручную выйти из диалога. Вы можете задать «Количество повторений», а также будет ли повторяться только значение, заданное в «Количестве повторений». Если для параметра «Количество повторений» задано значение 0, оно будет повторяться бесконечное количество раз. |
Event (Событие) | Узел Event (Событие) запускает событие устройства, связанное с устройством «Диалог», через граф диалога. |
Restart Conversation (Перезапуск диалога) | Этот узел возвращает игрока в начало дерева диалога. |
Reroute (Перенаправить) | Этот узел делает графы диалогов более удобочитаемыми визуально. От него может ответвляться только одна исходящая строка выполнения, но он может получать задания от нескольких источников в графе. |
Задать материал диалога | Этот узел добавляет пользовательский материал в подключённое хранилище диалогов, когда устройство «Диалог» использует один из следующих Типов диалога:
В виджете интерфейса это можно сделать с помощью функции «Создать кисть изображения из материала» модели просмотра CreativeModalDialogVarient. Это применяется только к текущему диалогу, в котором участвует соответствующий пользователь, а при запуске нового диалога будет использоваться значение, заданное в устройстве. |
Задать имя участника диалога | Узел Set Conversation Speaker Name (Задать имя участника диалога) задаёт Имя говорящего в устройстве. Это применяется только к текущему диалогу, а при запуске нового диалога будет использоваться значение, заданное в устройстве. |
Скрыть диалог | Этот узел скрывает интерфейс диалога. Это применяется только к текущему диалогу, в котором участвует пользователь, а при запуске нового диалога будет использоваться значение, заданное в устройстве. |
Воспроизвести анимацию диалога | Этот Узел позволяет воспроизводить анимацию, когда для параметра «Тип диалога» задано значение «Окно» или «Пользовательский тип». Для использования пользовательского интерфейса необходимо соответствующим образом настроить модель просмотра. Анимация окна — это анимация, которая воспроизводится, если в диалоге используется оконный интерфейс. При этом для интерфейса диалога используются следующие стили анимации:
Значение «Прогресс», используемое в модели просмотра, можно использовать для приостановки и воспроизведения анимаций вместе с другими настройками, заданными в модели просмотра. |
Задать скорость текста диалога | Этот узел задаёт значение CharactersPerSecond устройства. Это применяется только к текущему диалогу, в котором участвует соответствующий пользователь, а при запуске нового диалога будет использоваться значение, заданное в устройстве. |
Порядок активации узлов
Узлы активируются в порядке их соединения. Рассмотрим пример ниже:
В этом примере:
Узел Speech (Речь) активируется, поскольку он был подключён к узлу Default Entry Point (Стандартная точка входа) перед узлом Conversation Event (Событие диалога). Узел Conversation Event (Событие диалога) игнорируется.
Узел Response (Ответ), содержащий сообщение «Продолжить», активируется, как только его выберет игрок, поскольку он подключён к узлу Speech (Речь).
Узел Speech (Речь) активируется после ответа.
Два узла Response (Ответ) собраны вместе, перед тем как пользователю будут предложены варианты выбора.
Посмотрите, куда указывают стрелки, чтобы выстроить диалог.