воскресенье, 23 июня 2019 г.

Руководство по Fungus. Система Вариаций Текста

Система для выбора подраздела большей строки. Позволяет происходить простым изменениям  в одном и том же Блоке текста вместо необходимости создавать несколько команд. Система изменения текста основана на Ink. Variable Text. Классы Fungus Writer и Menu в настоящее время используют эту систему, так как команды Say, Menu и Conversation могут использовать ее. Действия Fungus Lua, в результате которых Lua передает строки в Fungus Writer или Menu, тоже будут работать.
Ручки, заменяющие различные текстовые сегменты. Сохраняет историю предыдущих замен, чтобы учесть упорядоченную последовательность изменений.
  •  [] отметьте границы секции переменной
  • | разделить элементы переменной
Поведение по умолчанию - показывать один элемент за другим и удерживать последний элемент. Таким образом, [1|2|3] покажет 1 при первом разборе, 2 - второй и каждый последующий раз - 3.
Допускаются пустые секции, например [a||c],на втором показе будет 0 символов..
Поддерживает вложенные разделы, которые оцениваются, только если выбран их родительский элемент.
Это поведение можно изменить с помощью определенных символов в начале [], например [&a|b|c];
  • & не содержит последний элемент, который циклически возвращается назад к началу
  • ! не содержит последний элемент, вместо этого он возвращает пустой для изменяющегося раздела
  • ~ выбирает случайный элемент каждый раз, когда он встречается

Пример

В простом случае вы можете захотеть, чтобы строка читалась по-разному в первый раз, когда пользователь встречает ее. Возможно, владелец магазина, впервые говорят:
Приветствую и рад нашей встрече, незнакомец. Чем я могу вам помочь?

Но когда тот же блок запускается снова, вы хотите, чтобы он был более дружелюбным
С возвращением, друг. Чем я могу вам помочь?

Вместо того, чтобы создавать расходящиеся блоки команд, мы могли бы использовать изменение текста.
[Приветствую и рад нашей встрече, незнакомец|С возвращением, друг]. Чем я могу вам помочь?

Другое распространенное использование часто повторяющихся блоков, где игроки возвращаются за меню или точки ветвления истории. Вы может захотите, чтобы там были некоторые изменения, чтобы они были более естественными. Возможно, варьируя приветствие, которое было рандомизировано;
  • Доброе утро.
  • Добрый день.
  • Как дела?
  • Ой ой.
  • Как вы?
  • Давай сделаем это.
Мы могли бы сделать вариант
[~Доброе утро.|Добрый день.|Как дела?|Ой ой.|Как вы?|Давай сделаем это.]

Для более полного и подробного примера см. Пример сцены в FungusExamples\VariationText\TextVariation.unity

Будущая Работа

  • Пакет отслеживания состояний вариантов, чтобы они могли быть сохранены вместе с другими данными fungus в файлах сохранения
  • Загрузка и Разделение отслеживания состояний для вариаций, чтобы вариации могли продолжаться в течение всех жизненных периодов приложений.
  • Разделы условных переменных: разделы, которые действительны, только если переменная fungus находится в определенном состоянии.

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.