Самый быстрый способ начать использовать диалоги — создать новое определение неигрового персонажа и добавить модификатор персоны в список модификаторов неигрового персонажа. В модификаторе персоны можно задать факты о персонаже, его личность и голос, а также то, как он будет реагировать на прерывания во время речи.
Создание определения персонажа NPC
Чтобы создать определение неигрового персонажа, выполните следующие действия:
Перейдите в папку с содержимым проекта и щёлкните правой кнопкой мыши на панели ресурсов.
Во всплывающем меню выберите Искусственный интеллект > Определение неигрового персонажа.
Назовите определение персонажа «PersonaNPCDefinition», а затем дважды щёлкните его миниатюру, чтобы изменить свойства NPC.
Перед закрытием вкладки обязательно сохраните изменения в определении неигрового персонажа.
Добавление модификатора персоны в определение неигрового персонажа
Чтобы добавить модификатор персоны к PersonaNPCDefinition, выполните следующие действия:
Перейдите в раздел Модификаторы неигрового персонажа > Модификаторы и нажмите на значок Добавить элемент (+), чтобы добавить модификатор.
Найдите индекс только что добавленного модификатора — обычно Index[2], если другие модификаторы ещё не добавлены, — и выберите в раскрывающемся меню Модификатор персоны.
Сохраните изменения в определении неигрового персонажа.
Теперь для PersonaNPCDefinition назначена персона. Нажмите стрелку раскрывающегося списка рядом с пунктом Персона > Факты о персонаже, чтобы просмотреть промпт личности и промпт знаний вашей персоны. Их можно изменять непосредственно в модификаторе или с помощью инструмента редактирования промптов. Инструмент редактирования промптов имитирует диалоги с персоной NPC, позволяя уточнять её личность и известные ей факты, а также быстро корректировать желаемое поведение NPC.
Кроме того, в параметре Модель голоса можно выбрать голос персоны, а в параметре Правило прерывания — указать, как она будет обрабатывать одновременные промпты.
Присвоение имени персоны
Чтобы присвоить персоне имя, добавьте модификатор UI и укажите отображаемое имя.
Взаимодействие с персоной NPC
Чтобы начать взаимодействовать с персоной NPC, нажмите Редактировать в редакторе промптов.
Откроется инструмент редактирования промптов, где можно сразу начать взаимодействовать с персоной NPC.
Введите промпт в текстовом поле в центре инструмента редактирования промптов, чтобы увидеть ответы персоны NPC:
Здесь можно впервые напрямую взаимодействовать с создаваемой персоной и имитировать её ответы в игровом мире после привязки к устройству «Генератор неигровых персонажей».
Добавление личности персоны NPC
Ниже приведены примеры сведений, которые можно добавить в поле «Промпт личности», чтобы создать пользовательскую персону. Также можно использовать одного из доступных персонажей Fortnite с готовыми голосом и персоной. Чтобы использовать персонажа Fortnite, выполните следующие действия:
Добавьте модификатор персоны в определение персонажа.
Добавьте персонажа Fortnite в поле Косметический предмет для персонажа. Сведения о личности персонажа автоматически появятся в поле «Личность».
Чтобы добавить личность персонажа, выполните эти действия в указанном выше порядке.
Если удалить личность персонажа, восстановить её можно будет только удалив ресурс и начав всё сначала.
Тип персонажа
Сочетание характеристик и вариантов поведения образует уникальную личность и поведение персоны.
Продумайте прошлое персонажа, мотивы его поступков и особенности взаимодействия с окружающим миром.
Кроме того, с помощью Verse можно изменять личность персонажа на основе БЯМ во время выполнения посредством переменной Personality, которую можно использовать как метод получения и установки.
# Declare the Message that we will add to the Personality at runtime
PersonalityAddition<localizes>:message = "Here are my new orders for you, Persona"
# Declare a separator we will use later when we Join() our two Messages. This will be inserted between the two Messages
MessageSeparator<localizes>:message = "\n"
persona_npc_behavior := class(npc_behavior):
# This function takes a Message and adds it to the current Personality of the NPC that is running this behavior
ModifyPersonality(Addition:message):void=
if:
Подробнее см. в разделе Добавление NPC в диалог.
Например, для создания персоны гадалки можно добавить следующие промпты:
Черты личности:
Тебя зовут Гизелльда.
Тебя окружает ореол тайны.
Ты проницательна и рассудительна.
Предсказывать будущее — не просто твоя работа: ты считаешь своим долгом делиться с клиентами знаниями и пониманием.
Приветствуя клиентов, ты говоришь загадками.
Стиль юмора:
Тебе свойственен острый и сухой юмор. Самые смешные реплики ты произносишь, приветствуя клиентов.
Если будущее клиента неясно, ты винишь звёзды. (Сейчас Орион пьёт из Большой Медведицы. За этим почти ничего не видно.)
Биография персонажа:
По просьбе игрока ты предсказываешь его судьбу.
Ты отзывчивая и добрая гадалка.
Ты выросла в пустыне. (Если игрок упоминает что-либо о пустыне, прочитай хайку о её красоте.)
Описание внешности:
На голове у тебя бандана с бахромой. Ты носишь струящееся платье до щиколоток.
Ты женщина лет сорока.
Добавьте эти сведения о личности и факты к персоне NPC и посмотрите, как изменится ответ.
Модели голоса
Модификатор персоны позволяет создать уникальный голос для персонажа NPC с помощью параметра Голос по умолчанию. При использовании персонажа Fortnite его голос можно прослушать, нажав кнопку Воспроизвести.
Чтобы создать уникальный голос для персонажа на основе БЯМ, продумайте, как он разговаривает. Характеристики речи делятся на две категории: тон голоса и стиль общения.
Тон голоса, который часто называют тембром, — это воспринимаемое качество звучания. Это уникальное звучание голоса каждого человека, обусловленное его физическими и генетическими особенностями. Эти особенности формируют голос и придают ему окраску.
Стиль общения — это особенности передачи информации. К ним относится то, как человек или персонаж воспринимает информацию и реагирует на конфликты и обратную связь, а также как он излагает свои мысли.
Ниже приведены примеры тона голоса и стиля общения.
Тон голоса | Стиль общения |
Поперечная ось | Пассивный / заботливый |
Тон | Воинственный / спокойный |
Ритм речи | Пренебрежительный / участливый |
Подчёркивание | Уверенный / неуверенный |
Акцент | Связный / несвязный |
Певучий | Правдивый / не заслуживающий доверия |
Монотонный | Чёткий и лаконичный / многословный и расплывчатый |
Чем подробнее вы опишете звучание голоса и стиль общения персонажа, тем убедительнее он будет исполнять свою роль в вашей игре.
Полный список доступных персонажей Fortnite с указанием их стиля общения и тона голоса приведён ниже в разделе Персонаж Fortnite.
Структурированный вывод
Управлять взаимодействием персонажа на основе БЯМ с игроками также можно на вкладке Структурированный вывод в Редакторе промптов. Структурированный вывод позволяет добавлять в скрипт поведения БЯМ дополнительные структуры. Эти структуры определяют, как персонаж на основе БЯМ отвечает на вопросы. Это важно, поскольку ответы персонажей на основе БЯМ зависят от способа ввода данных игроком — голосом или текстом.
Важно, чтобы БЯМ правильно реагировала на голосовые запросы. В коде она может возвращать несколько структурированных выводов одновременно, но в редакторе промптов это невозможно.
Например, с помощью персонажа на основе БЯМ можно ограничивать доступ к игровому процессу. Например, чтобы определить, знает ли игрок секретный пароль или ответ на загадку. Затем структура используется в функции RegisterAction(), которая запрашивает сведения об уровне прогресса игрока. В зависимости от результатов запроса персонаж на основе БЯМ предоставляет или запрещает доступ к игровому процессу.
Чтобы создать структуру с помощью редактора промптов, выполните следующие действия:
В инструменте редактирования промптов выберите Структурированный вывод.
Нажмите кнопку + Добавить, чтобы добавить поле структуры.
Нажмите кнопку +, чтобы добавить структуру к персонажу.
Выберите поле «Структура», а затем — тип структуры в раскрывающемся меню.
Добавьте переменную к типу структуры в появившемся пустом поле. Эту переменную можно запрашивать для реализации функций или запуска событий.
В скрипте Verse можно обращаться к структурам этого персонажа или добавлять структуры непосредственно в коде.
Экспорт данных персоны в файл Verse
Редактор промптов также позволяет экспортировать данные структуры в файл Verse. При этом для персонажа создаётся открытая структура в виде модуля. Такой файл можно использовать в разных проектах или предоставлять другим пользователям.
Чтобы экспортировать структурированный вывод в файл Verse, выполните следующие действия:
На панели инструментов редактора промптов выберите значок «Экспорт».
Выберите папку для файла Verse.
После экспорта файл появится в папке под именем personaname_YOURLLMNAMEHERE.verse.