Conversation/ru

From Dragon Age Toolset Wiki
< Conversation
Revision as of 07:39, 27 June 2013 by Kelamor (Talk | contribs) (Cutscenes: Перевод)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Диалог
Начало / Русская DA Builder Wiki / Поделиться ВКонтакте
Диалоги
все статьи категории
функции, связанные с диалогами
события, связанные с диалогами

Вводная информация

Диалоги содержат реплики, обычно назначенные НПС-шкам и Игроку для организации общения между ними.

Каждая реплика диалога может быть ассоциирована с:

  • текстом, который будет показан в игре;
  • озвучкой (для существ кроме Игрока);
  • анимацией лица (синхронизация губ и мимика);
  • сценой, располагающей участников диалога и камеры на время диалога (опционально, диалог без сцены будет использовать сцену по умолчанию, то есть "лицом к лицу");
  • роликом, который заместит реплику и покажет диалог более детально.

Диалог обычно прикрепляется к существу (en), который обозначается в диалоге тэгом "OWNER" (собственник). Иногда диалоги прикрепляются к размещаемым объектам (en) или просто используют как контейнер для реплик, используемых при создании разных роликов.

Основным окном редактора диалогов является древообразная структура, содержащая реплики и линии действия.

Conversation tutorial 2.png

  • красные реплики - реплики НПС, учавствующих в диалоге;
  • синие реплики - реплики Игрока;
  • серые реплики - ссылки на другие реплики в диалоге.

Ниже приведена панель с закладками, на которой содержатся основные настройки, применяемые к каждой реплике диалога.

Основные настройки

Панель основных настроек отображается только тогда, когда выбрана корневая реплика диалога (root). Здесь вы можете установить дефолтные настройки диалога, например, кто является Слушателем, а кто Говоруном (в диалоге с количеством участников больше двух можно будет их переназначить в отдельной реплике).

Также вы можете отметить некоторые опции, определяющие анимацию в диалоге:

  • закрепить все жесты;
  • закрепить все позы;
  • закрепить все RoboBrad;
  • закрепить все камеры;
  • Ambient Soundset Type.

На закладке "Plots and scripting" можно указать действие по окончании диалога, например установить Plot-файл или запустить скрипт. Иногда данная функция позволит избежать ошибок в ситуации, когда диалог имеет очень разветвлённую структуру, но его окончание в обязательном порядке должно вызвать какое-либо событие в мире игры.

Закладка "Cinematics" позволяет установить начальные настройки, которые будут наследоваться всеми подчинёнными ветками. Соответственно для каждой отдельной реплики их можно будет поменять.

На первой вкладке основной панели содержится текстовое поле, в котором для удобства использования можно указать краткое изложение диалога, его цели.

Диалог

Conversation dialog.png

Эта вкладка содержит текст, отображаемый в игре когда действует текущая реплика.

В левом нижнем углу указан идентификатор строки (String ID) для этой реплики, который может использоваться для создания озвучки. Не забывайте чекинить ресурсы диалога и существа перед экспортом таблицы строк вашего модуля, в противном случае история диалогов в журнале Игрока будет вестись с ошибками.

Также В левом нижнем углу приводится количество слов и символов в реплике. В игре действуют ограничения на длину текста:

  • для Игрока - 60 символов;
  • для НПС - 200 символов.

Также имеется ограничение на количество вариантов реплик Игрока, отображаемых в игре, в 6 вариантов. В диалоге может быть и больше (различные условия на отображение), но в игре отобразятся только первые 6.

Использование форматирующих тегов

Теги акцента

Чтобы выделить (акцентировать) текст в субтитрах необходимо использовать тег <emp>.

Например: "Я не <emp>думаю</emp> так.", отобразится в игре: "Я не думаю так".

Теги описания

Тег описания <desc> (выделение в субтитрах курсивом и помещение в скобки) используется в трёх случаях:

1) Для описания неречевых звуков, например вздохи, всхлипы, ворчание (реплики НПС).

Необходимо написать звучание, а не описание звука.

  • Неправильно: "Нет! Пожалуйста, не убивайте меня! <desc>булькающий горловой звук при ударе</desc>"
  • Правильно: "Нет! Пожалуйста, не убивайте меня! <desc>Аргхх</desc>"

Например: "Если бы только... <desc>вздох</desc> Увы, этого не может быть.", отобразится в игре: «Если бы только... (вздох) Увы, этого не может быть."

2) Для описания действий, которые не озвучены (реплики Игрока), в том числе действия, направленные на собеседника, например "убедить", "очаровать".

Например: "<desc>Осыпать камни прахом</desc>", отобразится в игре: "(Осыпать камни прахом)".

Например: "<desc>Соврать</desc> Конечно, я не сообщал о вас властям", отобразится в игре: "(Соврать) Конечно, я не сообщал о вас властям".

3) Для текста, который описывает размещаемый объект (реплики объектов).

Применяется, когда реплика создана для описания неодушевленного предмета, например книжного шкафа или филактерии.

Например: "<desc>Этот шкаф полон пыльных, трухлявых книг</desc>.

Например: "<desc>Филактерия ещё теплая на ощупь и заполнена небольшим количеством вязкой, красной жидкости. Ты не видишь способа открыть её</desc> (фраза "Я не вижу способа открыть её" будет не верна).

Разработчик при создании размещаемого объекта должен указать "Character" как "Null". Это означает, что для этой реплики нет необходимости в озвучке, а также, что субтитры должны показаться при проигрывании этой реплики, даже если они отключены.

Теги действия

Тег действия <act> описывает действие Игрока. В субтитрах текст внутри тега <act> будет выделен курсивом и помещён в скобки.

Например: "Ты сам выбрал свой путь. <act>Убить солдата.</act>" отобразится в игре как: "Ты сам выбрал свой путь. (Убить солдата.)"

  • Неправильно: {НПС}: "Вот, возьми это. <act> Открыть сундук, взять меч.</act> Это принадлежало твоему отцу."

Макрос

Макрос <FirstName/> заменяется именем Игрока. Так как имя Игрока может быть до 20 символов, ограничение для реплики с таким макросом будет в 40 символов, не считая самого макроса.

Этот макрос используется довольно редко, так как в Dragon Age озвучены большинство реплик, а озвучка не сможет измениться для передачи переменного текста.

Другие настройки

Также на этой вкладке имеются ещё несколько опций, которые могут быть изменены для текущей реплики:

  • Skill/Icon - позволяет использовать значок, размещающийся рядом с репликой, и указывающий на то, что с этой репликой должен быть использован определённый навык.
  • Speaker Tag and Listener Tag - определяет, кто является Говоруном, а кто Слушателем.
  • Language - определяет язык реплики.
  • Fast Path - любая реплика с этим значением при её достижении будет первым вариантом, представленным Игроку. Это может быть полезно, если вы хотите обеспечить простой способ пропустить некоторые реплики, а если вы выберете это значение для ветви диалога, Игроку надо будет только нажать "1", чтобы пропустить её. Конечно, можно организовать это и без установки этой опции, распределяя реплики в правильном порядке, но иногда реструктуризация диалога может быть весьма сложной задачей.

Plot-файлы и скрипты

Смотрите использование Plot-файлов и скриптов в диалогах для создания реплик, зависимых от некоторых условий или влияющих на определённые события мира.

Также на этой вкладке есть опция, позволяющая использовать реплику один раз за диалог или один раз за всю игру.

Анимация

Смотрите анимацию диалогов (en) для получения детальной информации об использовании анимации и придания киематографичности вашим роликам. Диалоги без использования киематографичных элементов будут использовать стиль "Лицо-к-лицу", что в конце концов покажется скучным. Добавьте в ролик анимации, двигайте камеры, также вы можете использовать другие специальные инструменты для придания диалогам большей кинематографичности, и даже вставить в диалог полноценные ролики.

Ролики

Для придания большей кинематографичности и более полного контроля над действием актёров можно обратить реплику в полноценный ролик.

Тулсет предоставляет два способа для этого.

Подход, ориентированный на ролики

Смотрите инструкцию по роликам для создания ролика из множества реплик, возможно использование всего диалога.

Поскольку ролик в таком случае будет игнорировать логику диалога, то такой подход удобен, если нужно оживить линейный диалог, без разветвлений, условий.

Можно запустить скрипт или обычный диалог в конце ролика (либо через свойство "End script" или используя CS_LoadCutscene (en)).

Подход, ориентированный на диалог

Если варианты диалога, условия и действия важны для сюжета, лучше использовать этот подход.

При использовании этот подход довольно прост, если конечно необходимо преобразовать в ролик одну-две реплики.

Данный подход требует наличия сцены, ассоциированной для реплики НПС. После этого можно использовать команду "Convert Line to Cutscene" в меню "Edit"

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

При таком подходе, диалог работает нормально, полностью следуя заданной логике, а ролики обеспечивают повышенную кинематографичность.

Fade In and Out

A conversation can fade in or out by converting the line to a cutscene.

It's not necessary to master the full complexity of the cutscene editor to do this.

 Right-click Master. 
 Add Track.
 Right-click the new track.
 Add effect Fade In or Out (default duration of fade is 60 frames i.e. 2 seconds).  
 Click anywhere that's not a track to view the cutscene properties in Object Inspector.
 The cutscene length is initially the dialogue duration (in frames). 
 Change this to (dialogue duration + 30x + 60) where x is the time the screen will be completely black in seconds.
 Adjust start/end time of the new track (and the Speak Line track under OWNER, if fading in).

For fade out, Speak Line happens first, then fade. The additional duration of the cutscene ensures the screen remains black for x seconds.

For fade in, assuming the screen is already black, fade after 30x frames, then Speak Line after 30x + 60 frames.

Localization and Editing

These two panels are used for keeping track of the status of the localization and editing process for this line. This is useful for large-scale collaborative projects, such as Dragon Age itself, but may not be of as much use for individual adventure designers.

Slide Show

The Slide Show tab is used to produce a simple form of "cutscene" that consists of one or more pre-rendered still images. For example, the official DAO campaign ends with a slideshow that describes the aftermath.

Images used in a slide show can be in TGA, TPC or DDS format.

Each image must be on its own NPC conversation line. The Dialogue text isn't used in game, but it must contain something (e.g. "Slideshow"), otherwise the slide won't appear.

As usual, the NPC lines are connected by player lines (which don't need any Dialogue text).

See BeginSlideshow for the script function that triggers a slideshow.

Toolbars

Looping conversation and re-using lines in multiple places

Although the basic structure is tree-shaped, the flow of the conversation can be structured to return back to previous nodes in the conversation. To cause a node in the tree to repeat:

  • select the node you want to return to,
  • "Copy" it (control-C, or select copy from the right-click menu),
  • select the node you want the repeated response to be a child of,
  • select "Paste as link" from the right-click menu (keyboard shortcut: control-shift-V)

The link node will appear in gray and cannot be edited. If you edit the original copy of the node all linked copies will reflect the change. You can only link nodes that have the same type (player/non-player), the paste-as-link option won't be available if the node currently saved to the clipboard can't be linked to a child of the currently selected node.

To find the original copy of a linked node, right-click on the grey node and select "Jump to Target".

Using the "once per conversation" or "once per game" visibility setting for the children of a repeating node is useful for preventing the player from cycling multiple times through the exact same dialogue.

Voice-Over

You can use both placeholder and real recorded voiceover in your conversation, depending on what your current status on the conversation is. After you have some sort of voiceover associated to your conversation, you may run "Tools->Generate FaceFX" to add a facial expression to the NPCs performance.

All information about Voice-Over (conventions, integration, etc.) is stored at a another page to keep a central organized structure.

Glossary of design terms

  • Branch: A dialogue option that adds flavor to a conversation, but doesn't change the direction of the plot or story. Branches always come back together at a choke point.
  • Clarification Hub: This allows a player to return to an NPC and clarify plot elements, get directions, or find out information about the current area. Generally, an single NPC line asks the player what he wants; a list of questions is then available to the player. Once the player has received an answer, the same list reappears (minus the question just asked). The player can loop infinitely through this NPC dialogue.
  • Path: The dialogue options players can select that change the direction of a plot or story. For example, when a player is given the option of accepting a quest, there are two different resulting paths (based on a "Yes" or "No" answer). Unlike branches, paths never come back together. Each path has a different ending condition.
  • Question Hub: A list of questions presented to a player that allows him to ask multiple questions to clarify information he's just learned. After a response is given, the player can ask the remaining questions. It's possible to loop indefinitely through a question hub, but only by asking non-critical questions. Unlike a clarification hub, at least one question drives the conversation tree forward and eliminates all remaining questions. For example, an NPC gives plot critical information; once she relates the details, the player can ask four specific questions. Three of the questions are non-critical: they give flavor and/or enhance role-playing. These questions allow for infinite looping. However, the fourth question drives the conversation forward and eliminates all other questions. This important question should always be located beneath the "lesser" questions.

Associated Links