Автор: research
Перевод: Щавель63
Взято с http://utforums.epicgames.com/ Я сделал простую систему диалогов в стиле Mass Effect во Flash.
Для её создания вам потребуеться 3 класса, которые вы должны добавить:
1. GFxUI_Interaction: Это взаимодействует с SWF - добавляют опции, сообщает, когда выбор был отобран и т.д.
2. SeqAction_BeginInteraction: Действие Кисмета, которое позволит Вам открывать экран взаимодействия с шестью вариантами.
3. SeqEvent_OptionSelected: События, которые запущены, когда игрок щелкает по ним.
Эти 3 класса уже сделаны; все, что вы должны сделать, разместить их в вашей папке ‘Development\<YourGame>\Classes\’
После того, как вы убрали свой HUD, проиграли ваш начальный ролик и готовы начать взаимодействие, первая вещь, которую вы должны сделать, создать новую подпоследовательность, поскольку так будет легче управлять многократными взаимодействиями.
В подпоследовательности создайте узел Sequence Activated и дайте ему любое имя, после чего вы должны создать узел Begin Interaction (New Action -> Interaction -> BeginInteraction).
Создайте переменную Player и новую (названную) переменную объекта для Movie как показано на картинке ниже. После показа Movie вы можете показать другое видео, чтобы показать игроку на какую ситуацию он должен реагировать. После этого Вы можете сделать неактивный цикл, как это сделано в Mass Effect при ожидании входа игрока.
В узле Begin Interaction вы должны только заполнить Interaction ID и по крайней мере один из шести возможных вариантов. Interaction statement является опциональным. Внимание: я сделал каждый из вариантов взаимодействия как в Mass Effect. Не используйте слишком много слов, иначе они будут сокращены. У Interaction statement может быть вполне длинное statement. Варианты были заполнены так:
Варианты 0-2 расположены справа, 3-5 расположены слева. Вы можете оставить выбор незаполненным, чтобы не было варианта. Не обязательно заполнять все шесть элементов.
Следующий шаг состоит в том, чтобы определить события, которые происходят при выборе любого из вариантов. Для этого Вы должны создать шесть событий таким образом: ‘New Event -> Interaction -> InteractionOptionSelected’.
Есть два варианта, которые должны быть заполнены во внутренней части каждого случай - ID из которого это должно быть запущено (ID который вы написали в узле ‘BeginInteraction’), и отобранный индекс выбора, то есть какой индекс множества делает тот случай, соответствуют. Числа, чтобы быть заполненными в показывают следующим образом:
Каждое из этих событий должно остановить конечное или начальное видео вариантов, и закрыть GFx movie так, чтобы могли проигрываться дальнейшие последовательности. Это показывается на левой стороне событий.
Как только события запущены, вы можете сделать так много последовательностей, сколько вам нужно, после чего вы должны поместить узел ‘Finished Sequence’, который нужен в том случае, если Вы создаете цепь взаимодействий.
Вы можете также запустить узел ‘Finished Sequence’ прямо после того, как выбор был сделан, и открыть новую Interaction sequence(подобно Investigate option в Mass Effect). Так же вы можете добавить выбор ‘Return’ для того, чтобы вернуться к предыдущей Interaction sequence.
Для того, чтобы создать новую Interaction sequence, просто дублируйте подпоследовательность, войдите в нее, и измените ID на новый, уникальный ID. Чтобы было легче изменить ID для этих шести событий, вы можете выбрать их как группу и изменить их ID сразу.
Используя это и базу данных, вы можете создать ту же самую систему диалогов, которая существует в игре Mass Effect. Вот скриншот в качестве примера Interaction sequence:
Я загрузил пакет для Interaction system, наряду с Flash source и 3 скриптами:
Май 2010 UDK
Август 2010 UDK
Сдесь также есть сама карта с этой системой. Пакеты были сделаны в майской версии UDK. Если Вы используете июньскую версию , то все, что вы должны сделать, удалить линию 'bGammaCorrection=false' из раздела DefaultProperties GFxUI_Interaction.uc и SeqAction_BeginInteraction.uc
Спасибо
PS: помогите сделать более сносный перевод))