Хотите создавать увлекательные диалоги, где игроки делают выбор с последствиями в игре, покупают предметы или получают награды за выполнение заданий NPC? Устройство Диалог помогает создавать диалоги, которые могут быть захватывающими, информативными и увлекательными. Вы можете развивать сюжет игры, предоставляя игрокам необходимые ресурсы и информацию.
В устройство Всплывающее диалоговое окно заложены те же базовые функции, что и в устройство «Диалог». Оба устройства можно использовать, чтобы:
Отображать сообщения или инструкции для игрока.
Отображать справочную информацию для целей (при использовании с устройством Управление заданиями).
Подключаться к невидимым устройствам Выбор класса, чтобы игроки могли выбирать класс.
Создавать диалоги между игроком и неигровыми персонажами.
С помощью устройства «Диалог» вы можете расширить возможности, добавив разветвлённые диалоги, в которых выбор игроков запускает события и влияет на исход игры.
В Unreal Editor для Fortnite (UEFN) используйте это устройство, чтобы:
Создавать дерево диалога.
Создавать ветки диалога.
Запускать другие устройства с помощью событий в деревьях диалогов.
Пример сложных и динамичных диалогов NPC см. в шаблоне «Повествование и ролевая игра» в коллекции игр на островах «ЗВЁЗДНЫЕ ВОЙНЫ»™.
Поиск и использование устройства
Устройство «Диалог» находится в папке Fortnite > Устройства > Интерфейс. Перетащите устройство из Каталога ресурсов и разместите его в окне просмотра рядом с устройством Генератор неигровых персонажей или устройством персонажа.
В общем виде рабочий процесс для этого устройства выглядит следующим образом:
Разместите устройство «Диалог» на уровне рядом с персонажем.
Настройте дерево диалога, как показано в разделе Настройка устройства.
Используйте функцию Инициировать диалог с привязкой события или используйте Verse для вызова InitiateConversation из другого устройства (например, из устройства Триггер или Область).
Запустите игру и взаимодействуйте с персонажем или NPC, чтобы инициировать диалог.
Если вы настроили устройство правильно, начнётся диалог.
Настройка устройства
Перетащите устройство «Диалог» на уровень.
Банк диалогов — это ресурс, содержащий дерево диалога. Создайте банк диалогов, открыв выпадающий список параметра Диалог и выбрав Банк диалогов в разделе Создать новый ресурс (как показано на изображении ниже).
Также можно создать ресурс «Банк диалогов», щёлкнув правой кнопкой мыши в каталоге ресурсов и выбрав Игровой процесс > Банк диалогов. Затем используйте параметр Диалог, чтобы найти и выбрать этот ресурс.
Дважды щёлкните по созданному ресурсу, чтобы открыть Редактор диалогов.
Создайте диалог, добавив узлы. Щёлкните правой кнопкой мыши в области графа и в разделе Точка входа перетащите узел Стандартная точка входа в граф. С него начинаются все диалоги.
Подробнее о редакторе диалогов, его компонентах и создании графов диалогов см. в разделе Создание диалогов.
Типы диалогов
Существует три типа модальных окон диалогов: радиальное, стандартное и пользовательское. Все окна диалога отображают варианты выбора и могут запускать события.
Советуем создавать единообразные модальные окна диалогов в одной игре. Если вы выберете радиальное модальное окно для одного диалога, все то остальные окна в проекте также должны быть радиальными.
Радиальный
Радиальный тип отображает интерфейс диалога и варианты выбора в виде колеса. Этот стиль используется при взаимодействии неигровых персонажей в Королевской битве Fortnite.
Если в вашей игре нет сложных диалогов или разветвлённого сюжета, радиальный тип отлично подходит для выдачи предметов и проведения внутриигровых покупок.
Куб
Оконный тип предоставляет больше пространства для сложных и разветвлённых диалогов. Подумайте о том, что предстоит прочесть игрокам, и сделайте процесс чтения максимально увлекательным. Стандартный оконный интерфейс используется для взаимодействия в ролевых играх, визуальных новеллах и во многих других жанрах.
Для оконного типа предусмотрено три разных стиля Окна типа диалога:
Стандартный — стиль окна по умолчанию.
Один говорящий — настраиваемое окно, на котором отображается значок говорящего.
Два говорящих — настраиваемое окно, в котором отображаются значки обоих говорящих.
Стандартное
В стандартном типе окна диалоги NPC отображаются в окне речи, а варианты ответа игрока — в виде кнопок рядом с ним. Это стиль по умолчанию.
Один говорящий
При использовании Типа окна с одним говорящим имя и текст говорящего отображаются в окне с кнопками-ответами справа от блока с речью. В отличие от стандартного стиля, здесь можно выбрать значок или другой материал для отображения говорящего над окном речи.
На панели Сведения найдите параметр Материалы диалога. Добавьте элемент массива и выберите материал в выпадающем списке. Затем в графе диалога добавьте узел Задать материал диалога, чтобы использовать этот материал для говорящего.
Подробнее о том, как настроить пользовательский значок говорящего: Пользовательский интерфейс диалога.
Два говорящих
При использовании стиля окна с двумя говорящими имя и текст говорящего отображаются в окне с кнопками-ответами справа от блока с речью. Материалы интерфейса можно использовать и в этом стиле, чтобы обозначить текущего говорящего. Подробнее о том, как настроить двух говорящих в графе диалога: Создание диалогов.
Пользовательская
Для персонализации всех элементов интерфейса диалога можно использовать пользовательский модальный тип. Настраиваемый интерфейс помогает задать тон и стиль всех диалогов в игре.
Пользовательские окна диалогов создаются с помощью Редактора виджетов. Подробнее о создании пользовательского интерфейса см. в разделе Пользовательский интерфейс диалога.
Пользовательский виджет интерфейса нужно выбрать в параметре Пользовательский виджет устройства «Диалог». Для успешного начала диалогов устройство должно быть настроено на использование пользовательского интерфейса.
На изображении ниже показан простой пример пользовательского интерфейса, но вы можете сделать его настолько сложным и красивым, насколько захотите.
Параметры устройства
Как только устройство «Диалог» появится в редакторе, вы сможете приступить к созданию диалога и разработке базового пользовательского интерфейса диалога с помощью встроенных инструментов устройства. Подробнее о создании ресурсов банка диалогов см. в разделе Создание диалогов.
Вы можете создать простой диалог с помощью следующих параметров. Параметры по умолчанию выделены полужирным, значения, включающие контекстный фильтр, — курсивом.
| Параметры | Значения | Описание |
|---|---|---|
Тип диалога | Радиальный, Куб, Пользовательский | Определяет стиль интерфейса, отображаемого во время диалога. Подробнее см. в разделе Типы диалогов выше. |
Окно типа диалога | Стандартное, Один говорящий, Два говорящих | Этот параметр отображается только если выбран Тип диалога Куб. Определяет тип окна, используемого в интерфейсе диалога. |
Кол-во символов в секунду | 0,0, введите число | Определяет количество символов, отображаемых на экране в секунду. По умолчанию весь текст появляется сразу. |
Пропустить бегущий текст | Показать текст, введите текст | Если значение параметра Кол-во символов в секунду больше 0, появляется кнопка, позволяющая сразу отобразить весь текст. Этот параметр определяет текст на этой кнопке. |
Диалог | Выберите ресурс банка диалогов | Устройство использует этот ресурс банка диалогов для запуска диалога. |
Имя говорящего | Введите имя. | Отображает имя говорящего во время диалога. Если оставить это поле пустым, имя не будет отображаться на экране. |
Отображать имя, если игрок поблизости | Вкл., Откл. | Если параметр включён, имя говорящего отображается, когда игрок находится примерно в 5 метрах от него. |
Отображать облачко-индикатор | Вкл., Выкл. | Определяет, будет ли над говорящим отображаться индикатор в виде облачка, если игрок находится в радиусе Расстояние видимости облачка-индикатора. |
Расстояние видимости облачка-индикатора | 5,0 м, введите диапазон | Этот параметр доступен, только если для параметра Показать пузырь индикатора задано значение Вкл.. Определяет расстояние (в метрах), на котором игрок видит облачко над говорящим. |
Цвет текста заголовка | 99DDFFFF, выберите цвет | Этот параметр отображается, если для параметра Тип диалога выбрано значение Куб. Определяет цвет текста заголовка. |
Цвет рамки заголовка | FFFFFF00, выберите цвет | Этот параметр отображается, если для параметра «Тип диалога» выбрано значение «Куб». Определяет цвет рамки заголовка. |
Цвет фона заголовка | 003D94CC, выберите цвет, выберите цвет | Этот параметр отображается, если для параметра «Тип диалога» выбрано значение «Куб». Определяет цвет фона заголовка. |
Цвет основного текста | FFFFFFCC, выберите цвет | Этот параметр отображается, если для параметра «Тип диалога» выбрано значение «Куб». Определяет цвет основного текста. |
Цвет рамки основного текста | 003D94CC, выберите цвет | Этот параметр отображается, если для параметра «Тип диалога» выбрано значение «Куб». Определяет цвет рамки основного текста. |
Цвет текста на кнопке | FFFFFFFF, выберите цвет | Этот параметр отображается, если для параметра «Тип диалога» выбрано значение «Куб». Определяет цвет текста на кнопках. |
Цвет фона основного текста | 00000080, выберите цвет | Этот параметр отображается, если для параметра «Тип диалога» выбрано значение «Куб». Определяет цвет фона основного текста. |
Цвет фона кнопки | 00000080, выберите цвет | Этот параметр отображается, если для параметра «Тип диалога» выбрано значение «Куб». Определяет цвет фона текста на кнопках. |
Цвет кнопки при наведении | 003D94CC, выберите цвет | Этот параметр отображается, если для параметра «Тип диалога» выбрано значение «Куб». Определяет цвет кнопки при наведении курсора. |
Отображать текст диалога в глобальном пространстве | Вкл., Откл. | Этот параметр доступен, только если для параметра Тип диалога установлено значение Радиальный или Пользовательский. Отображает текст диалога в игровом пространстве, как задано узлами речи в графе диалога. |
Количество разрешённых диалогов | 1, введите число | Определяет, сколько экземпляров этого диалога может происходить одновременно. |
Имя при макс. кол-ве диалогов | Сейчас не могу говорить, введите текст | Текст, который заменяет имя говорящего при достижении значения параметра Количество разрешённых диалогов. |
Цвет при макс. кол-ве диалогов | FF0000FF, выберите цвет | Цвет текста Имя при макс. кол-ве диалогов. |
Диалог | Нет, выберите ресурс банка диалогов | Указывает на ресурс банка диалогов. Также можно открыть выпадающий список и выбрать Банк диалогов в разделе Создать новый ресурс, чтобы создать новый ресурс банка диалогов. |
Значок при макс. кол-ве диалогов | T_UI_NPC_SpeechIconNA, выберите значок | Определяет значок, отображаемый при достижении значения параметра Количество разрешённых диалогов. |
Переопределение звука при нажатии | Нет, выберите звуковой сигнал | Выберите пользовательский звук для нажатия кнопки. |
Переопределение звука при наведении курсора | Нет, выберите звуковой сигнал | Выберите пользовательский звук для наведения курсора на кнопку. |
Материалы диалога | Нет, добавьте элементы массива | Если вы используете узел Задать материал диалога в графе диалога, здесь указывается, какие материалы будут применяться. |
Пользовательский виджет | Нет, выберите пользовательский виджет интерфейса | Если выбран Тип диалога Пользовательский, здесь указывается, какой пользовательский виджет интерфейса будет использовать устройство. |
Функции и события
Функции
| Функция | Описание |
|---|---|
Начать диалог | Включает соответствующий диалог для игрока, запустившего это событие. |
Завершить диалог | Завершает текущий диалог у игрока, запустившего это событие. |
Завершить все диалоги | Завершает все диалоги при получении события. |
Включить | Включает устройство при получении события. |
Отключить | Отключает устройство при получении события. |
Скрыть диалог | Скрывает диалог при получении события. Пока диалог скрыт, ответные реплики выбирать нельзя. |
Показать диалог | Отображает диалог при получении события. |
События
| Событие | Описание |
|---|---|
При начале диалога | Отправляет событие при начале нового диалога. |
При завершении диалога | Отправляет событие для игрока при завершении диалога. |
При отмене диалога | Отправляет событие для игрока при принудительном досрочном выходе из диалога функциями Завершить диалог или Завершить все диалоги. |
При любом событии диалога | Отправляет событие при срабатывании любого нумерованного события из связанного банка диалогов во время диалога. |
Событие диалога [от одного до десяти] | Отправляет событие при срабатывании нумерованного события банка диалогов (от Событие один до Событие десять). Для каждого нумерованного события диалога предусмотрено отдельное событие. |