База модов


Популярные моды




Создание сцен


Давно хотел написать урок по сценам, да руки не доходили и вот наконец то дошли.
Что такое сцена? Сцена это одна из полезных функций в редакторе.Они используют диалоги, пакеты, что бы разнообразить действия НПС. Хотите научиться? Прочитав эту статью вы сможете сделать свою первую сцену.

Начнём!


Сцена

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

Или, мы могли бы просто использовать действия сцены? 

Создайте,сохраните квест GSQ01, создайте НПС Bendu, добавьте рядом с той лесопилкой,после чего откройте и перейдите на вкладку Scenec (Сцены). Это должно выглядеть примерно так:

Рис.1


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

Щелкните правой кнопкой мыши в левой таблице и выберите "New" (Создать), чтобы создать новую сцену. Назовите её "GSQ01BenduGilfreScene".Не забудьте нажать на неё после,что бы она, была выделена.

Создание сцены

Щелкните правой кнопкой мыши на большом окне и выберите пункт "New Actor" (Новый актёр). После этого появится список всех псевдонимов (Алиасов), которые были созданы в разделе Quest Aliases.Я думаю вы умеете создавать их? Нет? Чёрт...я то же не умею..но давайте научимся.

Сперва заходим в раздел: Quest Aliases(Квестовые псевдонимы).Тут большое окно.Щёлкаем по нему правой кнопкой мыши, и: "New Reference Aliases" (Создать новый псевдоним).Зачем нужны псевдонимы? Это ссылки к предмету, НПС, актеры, связь с ним.

И так мы создали, открылось огромное, непонятное окно.Я то же его не понимаю...Alias Name, наверное название нашего псевдонима, но его пишем английскими буквами, так как это нужно для скриптов и в игре мы это название не увидим!
Нам нужно указать нашего НПС. Проще конечно нажать: Specific Reference и щёлкнуть кнопку выбрав нашего НПС на карте, но если наш НПС уникальный, то выбираем кнопку: Unique Actor и выбираем из списка уникальных актёров.Уникальный актёр если у него в настройках НПС стоит галочка Unique, думаю понятно.Нам нужны 2 актёра, первый "Gilfre", найдите его и добавьте.

Всё, жмякаем ок. Псевдоним готов.

И так же нужен наш НПС. Назовём и создадим Алиас: Bendu

Вы должны сделать 2 Алиаса.

Возвращаемся к теме: ....

Щелкните правой кнопкой мыши на большом окне и выберите пункт "New Actor" (Новый актёр). После этого появится список всех псевдонимов (Алиасов), и мы добавим наш Алиас.

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

Рис.2


Мы указали актёров, которые будут участвовать в сцене, но не то, что они будут делать.

Фазы

В Creation Kit, сцена делится на фазы, которые разбивают сцену на отдельные части, так что бы игра могла их обработать.Щелкните правой кнопкой мыши в областе сцены и выберите пункт "Add Phase at End" (Добавить фазу в окончание), чтобы создать нашу фазу. (Мы добавляем эту фазу в "конец" сцены, но так как нет никаких других фаз, это будет только первая фаза.)

Первое, что мы собираемся сделать, это что бы наши актёры встретились где-то рядом друг с другом. Есть много мест для этого, но давайте они встретятся возле MapMarker для лесопилки "Пирожок". Мы заставим их двигаться таким же образом как мы делаем с любым другим НПС: с помощью пакетов.

Пакеты действий

Щелкните правой кнопкой мыши на месте с надписью "Bendu" на сцене, и выберите пункт "New Action -> Package" из контекстного меню. Это откроет окно пакетов действий сцены.

Рис. 3


Большая занимаемая часть этого окна представляет собой место для записи списка пакетов, которые мы можем разместить в нем.В верхней части мы видим справа список наших актёров, псевдонимы, которые мы добавили. Добавляя пакеты помните, что игра считает пакеты сверху вниз, и сцена с пакетами всегда будет преимущественна.

Щелкните правой кнопкой мыши в списке пакетов и выберите "New" (Новый), чтобы создать новый пакет. Мы будем создавать новые пакеты для этой сцены, так как сцены, как правило, бывают очень конкретными, общие пакеты для этого не подходят. Назовём этот пакет "GSQ01BenduGilfreHitMarks". Шаблон пакета по умолчанию "Travel"(Путешествие) - и выберите MapMarker в качестве цели. Задайте радиус 250.

Рис.4



Рис.5


Нажмите OK в окне пакета, а затем еще раз ОК в окне пакетов действий сцены, чтобы вернуться на нашу главную сцену. Вы видите, что теперь в окошке Bendu имеется Actor1 пакет с перечисленниями под ним, для этой сцены.

Щелкните правой кнопкой мыши на Gilfre Чтобы добавить пакет для него также. Но на этот раз, вместо нажатия правой кнопкой мыши и выбора "New"(Новый), чтобы сделать новый пакет, мы будем повторно использовать пакет, который мы только что сделали, выбрав "Add"(Добавить) из контекстного меню. Это вызовет список всех пакетов в игре. Используйте фильтр вверху, чтобы быстро найти его: 

"GSQ01BenduGilfreHitMarks" и дважды щелкните, чтобы добавить его.

Внимание!: Обратите внимание, что мы не ставим никаких условий на этот пакет. Потому что он используется только во время этой сцены.Он так же не добавляется этому НПС, а действует только во время сцены, как я уже упомянул!

Когда сцена начинается, она начнется с первого этапа, выбрав пакет два раза щёлкнув на Actor1 можно отредактировать Start и End, т.е это то время пока работает пакет, оно делится не на минуты, а на фазы.Фаза будет считаться завершенной, когда все ее действия выполнятся, в нашем примере пакета путешествия, когда актер достигнет цели.

Думаю стоит повториться: сцена не будет закончена, пока все действия в фазе не выполнятся. Есть некоторые типы пакетов, которые просто не могут закончиться повторяясь(патрулирование например), так что будьте осторожны, что б ваши сцены не были бесконечными!

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

Второй этап

Щелкните правой кнопкой мыши в области сцены снова, и снова выберите пункт "Add Phase at End" (Добавить фазу в окончание), чтобы добавить новую пустую фазу. Щелкните правой кнопкой мыши по ней, чтобы добавить новое действие, но на этот раз выберите "Диалог", а не "Пакет".
Вот так: "New Action -> Dialogue".

Рис.6


Большое окно в низу представляет собой набор информации, так же, как при редактировании темы для диалогов. Дважды щелкните там, чтобы создать наш диалог. Напишите: "О, мм. Привет".
В случае для своего созданного НПС, конечно же нужно указывать условие, что бы находить свою папку и добавлять туда голос.Иначе, голос добавится всем НПС) Но только одно условие, так как другие не потребуются, это "GetIsID" с указанием нашего НПС. как только, мы всё сделаем, просто нажмите кнопку "OK", и мы снова в сцене.

Добавим новую фазу, и на этот раз создадим там новый диалог для Gilfre. Заставив его сказать "Возвращайся к работе". Ваша сцена должна выглядеть следующим образом:

Рис.7


(Цифры сцен действий могут не совпадать с изображением, не беспокойтесь об этом.)



Стадии с актёрами

Если вы особенно наблюдательны, вы могли заметить, проблему - мы не успели сделать пакеты на дополнительные фазы, поэтому, когда они туда доберутся, оба актера вернутся к их базовых пакетам. Эта сцена будет выглядеть очень глупо)).

Щелкните правой кнопкой мыши в разделе Bendu на Фазе 2 и добавьте пакет действий для него. Мы можем реально повторно использовать тот же пакет, здесь, так как мы хотим, чтобы они просто бродили вокруг в этой области. Поэтому выберите GSQ01BenduGilfreHitMarks снова. 

Добавьте один пакета и для Gilfre.

Если мы хотим, чтобы они оставались на месте до конца сцены, вместо добавления дополнительных действий для третей фазе, мы должны растянуть эти действия по всем фазам. При наведении курсора с правой стороны действий (пакеты), появится стрелка для изменения размера, позволяющая растянуть действие. Вытяните действие на две фазы. Замете, что действие делится на фазы, и растягивается только по фазам, а не на половину фазы, и кусочек, думаю это понятно)). Сцена должна выглядеть следующим образом:

Рис.8



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

Взгляды

Если мы увидим этих НПС, мы даже не сможем быть уверены, что они разговаривают друг с другом.Почему? Да потому, что скорей всего оба будет смотреть на нас. К счастью, это достаточно легко исправить, нужно открыть "Dialogue Actions" (Диалог действий) (двойной щелчок на названии действия, а не на сам диалог), и редактируем значение в "Headtracking" разделе. В этом случае мы хотим назначить Bendu, Headtrack цель "Gilfre" , а для Gilfre,в headtrack цель "Bendu". Т.е нам нужно поставить галочку на "Face Target" и выбрать Alias на который ваш актёр (НПС), будет смотреть говоря, что то, или когда тот говорит.Что бы он не пялился на игрока к примеру, когда говорит, что то какому то НПС, так как это будет выглядеть тупо и смахивать на одну болезнь: косоглазие.Но если нужно смотреть на игрока, то галочка рядом: Headtrack Player.
И так устанавливаем взгляд для одного НПС и для второго.Почему? Да потому, что если один НПС говорит другому смотря на него, а другой смотрит на ГГ, то создаётся впечатление, либо у него то же косоглазие, либо ему совершенно пох. на то, что тот говорит.При чём, если у него хорошее отношение к ГГ, он будет ещё и улыбаться смотрев на вас, что в реальной жизни заставило бы задуматься человека о психических расстройствах у своего опонента.

Подсказка: Мы могли бы также поставить их лицом друг к другу, устанавливая ссылки в пакете на конкретные XMarkerHeading.


Таймер действия

Теперь мы научимся делать таймер действия.Для чего он нужен? Можно сделать пакет и поставить таймер.Что бы дать время НПС выполнить данный пакет, к примеру отойти в сторону, сесть на камень чуть посидев.Я думаю, что Bendu будет немного несчастлив после сказанного ему, так что дайте ему время болтаться задумчиво, после того как Gilfre возобновит свои обычные пакет. Добавьте еще одну фазу в конце, и на этот раз только растяните пакет действий Bendu до последней фазы.

Щелкните правой кнопкой мыши в разделе Bendu в фазе 4, добавить новое действие: "New Action -> Timer". Это таймер действия, в этом случае, он будет держать Bendu на месте в течение времени после того, как Gilfre уйдёт от него. Установите таймер на 4 секунды (или, как обычно игра настаивает время в своей точности, 4,000000 секунд), и этого времени должно быть достаточно, чтобы дать понять, что сердце его разбито.В нашем случаем если бы Джилфри был мужик, эта сцена бы походила на фильм "Я люблю тебя Филлипп Морис".

Наша финальная сцена выглядит следующим образом:

Рис.9


Проигрывание сцены

Мы можем либо проиграть сцену через скрипт (установив его в свойствах и вызвав командой Start() на нем), или поставив галочку на "Begin on quest start" (Начать с началом квеста) в окне вкладке Сцены.Один хороший способ начать эту сцену, создать новую тему диалога, с целью заставить Bendu признать свои истинные чувства.
Перейдите на вкладку "Dialogue Views" (Просмотр диалогов) в GSQ01, а затем добавте новый ID слева,нажав правой кнопкой мыши и New, назвав GSQ01BenduAdmitFeelings, далее с права создаём новый диалог, думаю вы умеете раз читаете этот урок? Добавляем диалог: "Я видел ,как ты смотришь на нее,ты должны признать ,что ты, что-то чувствуешь к ней! '). Чтобы проиграть сцену, в первую очередь необходимо поставить скрипт в его ответе. Информация о теме уже прилагается в скрипте, поэтому в нижней правой панели, нажмите на этот скрипт,property (свойства), а затем добавить свойство тип 'Scene', название MSQ01BenduGilfreScene. В принципе эта инфа заносится в скрипт диалогов автоматически, так, что это возможно необходимо делать.Во фрагменте скрипта в конце добавляем следующую строку:

MSQ01BenduGilfreScene.Start ()

Теперь можно проверять!

Примечание: Если в вашем загруженному сохранении квест уже начался, вы можете обнаружить то , что сцена просто не работает. Обойти это можно , с помощью консоли:

StopQuest MSQ01 
StartQuest MSQ01


Дополнительные функциональные возможности

Можно добавить скрипты в начале сцены или в конце, нажав кнопку "Edit Data"(Редактировать данные) в верхней части. Вы так же можете дважды щелкнуть на название фазы и добавить скрипты в начале и в конце отдельных фаз. Как вы догадываетесь, с помощью этого можно добавить НПС более сложное поведение и функциональность.

Наконец, правило о "все действия должны завершиться до завершения фазы" может быть нарушено. Это по умолчанию, но если вы посмотрите в окне сцены, можно увидеть, что также можно задать условия, на котором заканчивается определенная фаза.

Предостережения

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


Урок переведён и написан Фантомом. Копирование запрещено!
Фантом
Посетители
Всего материалов: 309
14 044
52
Всего комментариев: 1
  1. Не работает правый клик во вкладке Scenes (Quest Aliases добавлен)
    26 июля 2018 16:16 Like | 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.