Модификации. Создание сцен-на-движке (cut-scenes, кат-сцен)

Рассмотрим варианты создания этих самых cut-scenes.

Тайная комната.

Итак, как и обещал я напишу статью о кат сценах. Если что не понятно, спрашивайте в комментариях.
Начнём с того, что необходимо скачать и установить патч https://yadi.sk/d/_Xp_Ua_33Hzy2s без него ничего не получится. Для начала нам нужно в голове придумать какой-нибудь ролик, а объяснять я буду на примере своего. Сцена будет такой: Гарри с Роном подходят к непонятной комнате, они заходят туда, Рон спрашивает «Что это было?» и неожиданно выходят два больших краба. Мальчики кричат «нееееееееет» и потом начинают убегать, а крабы идут за ними( тут придется им увеличить скорость). Всё же они забегают в какую-то комнату, где безопасно и Рон говорит «фух, пронесло».

Итак, добавим на карту всё, что нам надо: двух крабов, Рона и Гарри, оформим карту как надо, т.е сделаем комнаты и начнём.

1.Вообщем сначала надо указать ДЛЯ КАЖДОГО ГЕРОЯ, свое имя в cut scene. Для этого открываем свойство гарри и выбираем вкладку cut scene и пишем туда «Harry». Далее открываем свойство Рона, опять же открываем Cut Scene и пишем «Ron». Тоже самое делаем для крабов, пишем «Crab1» и «Crab2», хотя на самом деле названия можно давать любые.

2. Заходим в папку игры, открываем system, затем CutScenes и копируем любой файл, стираем всё что внутри него и задаём имя файлу на английском.

3. Тут начинается самое сложное. Итак, запоминаем, ЛЮБАЯ КАТ СЦЕНА начинается со строки «[Thread_0]» (Квадратные скобки обязательны). Я думаю эта фраза переводится как «сцена». После того как мы написали эту фразу, нажимаем на Enter и мы переходим на другую строку. Все последующие строки и фразы будут начинаться со слов «line», т.е line_0, line_1, line_2. Вообщем щас поймёте. Значит мы прописываем:

[Thread_0]
line_0=Capture Harry
line_1=Capture BaseCam
line_2=Capture Ron
line_3=Capture Crab1
line_4=Capture Crab2

Что же значит Capture? Сapture — это захват какой-либо цели, т.е мы должны захватить всех персонажей, которые у нас двигаются (ВНИМАНИЕ: Capture BaseCam пишется всегда, это тоже надо запомнить, т.е базовую камеру(BaseCam) надо всегда захватывать, чтобы она могла работать в кат сцене).

4. Возвращаемся снова в редактор и мы должны найти объект CutCameraPos (Navigation Point, UWNavigation Point). Ставим камеру где-нибудь сверху и открываем её свойства, открываем вкладку Cut Scene и пишем любое название камеры. Я дал название «Cam1». Добавим объект CutMark и расположим его между Роном и Гарри, зададим ему название «E2». Затем снова открываем наш текстовый документ и пишем line_5=BaseCam Target FlyTo E2, т.е это значит, что наша базовая камера будет направлена на CutMark с названием E2(Target — цель, на что направлена). Следующая строка будет line_6=BaseCam FlyTo Cam1 — эта строка указывает на то, какой предмет будет снимать происходящее.

5. Дальше нам надо, чтобы Гарри с Роном подошли к комнате одновременно. Для этого добавляем два CutMark и ставим их возле комнаты, затем указываем имена для каждого, например «CutMarkHarry», т.е это место до куда дойдёт Гарри, а «CutMarkRon» это место до куда дойдёт Рон. Снова возвращаемся в текстовый редактор и пишем:

line_7=Harry RunTo CutMarkHarry *
line_8=Ron RunTo CutMarkRon

WalkTo — идти к чему-либо, ну и RunTo — бежать. Т.е это все значит, что Гарри идёт к своему CutMark, а Рон к своему. Звёздочка означает, что последующее действие выполняется одновременно с тем действием, на строке которой она написана, т.е Гарри с Роном будут бежать одновременно.

6. Теперь ставим вторую камеру правее первой, она будет показывать на вход в комнату и опять указываем ей имя(Cam2). Также поставим еще два CutMark в комнате, туда пойдут мальчики и укажем имена имена (CutMarkHarry1 и CutMarkRon1). Поставим CutMark, туда будет смотреть наша вторая камера(E3- название камеры). Возвращаемся в Текстовый редактор и пишем:

line_5=BaseCam Target FlyTo E3
line_6=BaseCam Cam2 FlyTo Cam2

Это значит, что наша базовая камера теперь вторая, которую мы поставили и что она смотрит на наш CutMark(E3). Дальше пишем:

line_11=Harry WalkTo CutMarkHarry1 *
line_12=Ron WalkTo CutMarkRon1

Думаю тут всё понятно.

line_13=Ron TurnTo Harry *
line_14=Harry TurnTo Ron

TurnTo — повернуться к чему или к кому-либо.

7. Дальше пойдут реплики. Рон должен сказать «Что это было?». Для того, чтобы прослушивать звуки надо скачать патч https://yadi.sk/d/hlyZDt4gvVVrG/HP2/UPDATES , а все реплики Рона можно скачать здесь https://yadi.sk/d/YeXxT8N43LPrAi . PC_Ron_DuelSnake_06 — Что это было? Значит эта фраза будет прописываться так:

line_15=Ron talk PC_Ron_DuelSnake_06

Для разговоров можно использовать Talk или Say, это одно и тоже

8. Теперь анимации. Гарри делает анимацию, что ничего не понимает, называется talk_dontKnow.

Значит мы прописываем:

line_16=Harry animate talk_dontKnow

Harry animate — это значит, что Гарри показывает анимацию. Все анимации можно скачать здесь https://yadi.sk/d/hlyZDt4gvVVrG/HP2/UPDATES .

9. Также перед тем как Рон спросил «Что это было?» камера показывала Рона вблизи, для этого используются координаты:

line_15=BaseCam FlyTo Ron z=27 x=40 y=10
line_16=BaseCam Target FlyTo Ron z=27 x=10

Тоже самое прописывается для Гарри.

10. Затем у нас должны выйти крабы, а перед этим нужен небольшой промежуток времени, мы используем команду Sleep 1 — это значит, что ничего не будет происходить одну секунду, можно вместо единицы написать два или три.
11.Создаём ещё одну камеру Cam3 и CutMark E4:

line_21=BaseCam Target FlyTo E4
line_22=BaseCam FlyTo Cam3

Затем надо, чтобы вышли крабы, повернулись к мальчикам и выпустили свою ярость, для них создаём кат марки, по которым они будут ходить и даём им имена CutMarkCrab1 и CutMarkCrab2:

line_23=Crab1 WalkTo CutMarkCrab1 *
line_24=Crab2 WalkTo CutMarkCrab2
line_25=Crab1 TurnTo Ron *
line_26=Crab2 TurnTo Harry
line_27=Crab1 animate roar *
line_28=Crab2 animate roar.

Вообщем до конца описывать слишком долго. Все основные команды я написал.

Внимание!!! Это еще не всё. Когда вы указали название текстовому документу, которое написано на АНГЛИЙСКОМ, вы на карту должны поставить объект CutScene, открыть его свойства, выбрать вкладку CutScene и в строке FileName указываете то имя на английском, которое вы дали текстовому документу. Не забудьте нажать Build all и сохраниться.

После окончания действий нужно прописать:

line_33=Release Harry
line_34=Release Ron
line_35=Release BaseCam
line_36=Release Crab1
line_37=Release Crab2

Release — значит освободить, т.е если Capture — это захват, то Release — это наоборот. Надеюсь всё понятно, всем удачи) Если что непонятно спрашивайте.


Автор: Джон56


 

Share in social networks:

 


Add a comment (send an owl)

Your e-mail will not be published. Required fields are marked *

 

1. If you want to display a comment only to employees of the site - add the word "секретище" ;-)
2. Our emoticons (opens in a new tab)
3. To add a picture in a comment, use the services of photo hosting, for example https://postimage.org/, suitable HTML-code to insert (radikal.ru and hung with such advertisements with a rating higher than 12+ options should be avoided).
To place file, you can use a file hosting, for example, Yandex. Drive.
If you have chosen not the best option, after viewing your comment links are deleted, but the data will still be accepted for consideration.

Сов к статье “Модификации. Создание сцен-на-движке (cut-scenes, кат-сцен)”: 19
    • Передвиньте ползунок повыше в консоли, т. к. все проблемы исходят из того, что Драко не «захвачен», видимо при захвате произошла какая-то ошибка, т. е. в начале кат-сцена….

      • Все, уже не надо. Я решил, с свойствах персонажа, там пункт Cut-Scene и там нужно было прописать Draco. Вот такую простую ошибку совершил.

        • Я тоже так думал, потому что не представляю другую ошибку, которая могла произойти при «захвате» персонажа (разве что, где-то совершить опечатку в CutName или в самом кат-сцене))

          От модератора: слово «сцена» таки женского рода ;-)

  1. Такая вот проблема возникла, делаю вторую кат сцену (в 1 карте) — все делал как в прошлый раз, но на этот раз Персонаж не говорит (Гарри доходит до точки, а персонаж по сценарию должен заговорить — я прописал там реплику, но она не отвечает). Что делать? Может у меня реплики (в 1 кат сцене и 2) начинаются на line_9= — но это странно, ибо начало у меня тоже одинаково.

    От модератора: приведите пример всей строки, лучше с предыдущей — чтобы тот, кто захочет вам помочь, мог понять причину.

    • Хорошо (на всякий сделаю полностью).

      [Thread_0]
      line_0=Capture Harry
      line_1=Capture BaseCam
      line_2=Capture Draco
      line_3=BaseCam Target FlyTo A1
      line_4=BaseCam FlyTo RAM1
      line_5=Harry WalkTo CutMarkHarry11
      line_6=BaseCam Target FlyTo A2
      line_7=BaseCam RAM2 FlyTo RAM2
      line_8=Harry WalkTo CutMarkHarry12
      line_9=Draco Talk PC_Drc_DiagonAlley_75
      line_10=Draco Talk PC_Drc_DiagonAlley_77
      line_11=Draco Talk PC_Drc_QuidFight_28
      line_12=Draco WalkTo CutMarkDraco

      • А вот прошлый.

        [Thread_0]
        line_0=Capture Harry
        line_1=Capture BaseCam
        line_2=Capture Hagrid
        line_3=BaseCam Target FlyTo E2
        line_4=BaseCam FlyTo Cam1
        line_5=Harry WalkTo CutMarkHarry
        line_6=BaseCam Target FlyTo E3
        line_7=BaseCam Cam2 FlyTo Cam2
        line_8=Harry WalkTo CutMarkHarry1 *
        line_9=Hagrid talk PC_Hdw_HagArrest_19
        line_10=Hagrid talk PC_HDW_BUMPLINES_353
        line_11=Hagrid talk PC_Hdw_HagArrest_27
        line_12=Hagrid talk PC_Hdw_HagArrest_28
        line_13=Hagrid WalkTo CutMarkHagrid
        line_14=Release Harry
        line_15=Release Hagrid
        line_16=Release BaseCam

        • Может быть, дело в забытой звёздочке после WalkTo? Она у тебя кстати в прошлом варианте присутствует…

          • Пробовал и без звездочки, и с ней — результат тот же.

          • А в консоли (которая по тильде вызывается) что-то выводится при этом «затупе» реплики? Иногда там появляется полезная информация

  2. Чтобы анимация персонажа повторялась, надо после названия анимации написать Loop.

  3. Большое спасибо автору статьи, и комментирующим! Возьму на заметку…

  4. Статья отличная, но если кому вдруг понадобится: если при кат-сцене также должна заиграть другая музыка, то нужно ввести:
    BaseCam PlayMusic .ogg Fade=<кол-сто секунд плавного "нарастания" (чтобы музыка не появилась резко), если не надо, вписываем "0" (.ogg файла, кстати, необязательно дописывать)
    Если музыку надо остановить:
    BaseCam PlayMusic StopMusic Fade=<колс-тво секунд плавного "затухания", соответственно;)
    Вместо BaseCam можно указывать любого другого персонажа, который есть в данном кат-сцене, например Harry PlayMusic и т. д.
    Также следует не забывать, если музыка до начала кат-сцена должна играть, а в кат-сцене она должна смениться, первую будет необходимо остановить всё тем же "StopMusic", иначе будут играть одновременно 2 файла.
    Если одна и та же музыка должна играть несколько раз в уровне, то можно просто создать один триггер с каким-нибудь тэгом (например "CutSceneMusic"), а потом вместо длинных команд просто писать
    Trigger (в моём случае Trigger CutSceneMusic). (также разрабы из KnowWonder неоднократно создают в уровне спец. триггер для остановки музыки, называя его «Silence», его также при желании можно создать:)

      • Я просто просматриваю уже имеющиеся кат-сцены в игре, и по сути, то что я знаю — уже описано в статье, кроме PlayMusic)) Однако также ещё знаю, что если необходимо воспроизвести анимацию при разговоре (допустим, Гарри говорит и одновременно с этим анимация), то в конце строки нужно приписать startanim= ( Harry Talk startanim= )
        Ещё можно использовать waitfor, когда, к примеру, Гарри что-то говорит, в это время Рон куда-то бежит, но Рон прибежал раньше конца фарзы Гарри, а Гарри (сорян за тавтологию) надо закончить фразу и тоже побежать. Тогда 1)Harry Talk blabla *HarryDone1 2)Ron RunTo 3)WaitFor HarryDone1 4)Harry RunTo… как-то так…..

        • Ааа, треугольные скобки пропали… После startanim=название_анимации, после RunTo название_точки

          От модератора: угловые скобки 〈 действительно могут пропадать — особенность работы движка сайта. Для их отображения стоит использовать юникод-эквиваленты вида & # 12296;

      • Ну, и ещё можно изменять скорость игры обыкновенным «slomo (скорость в цифрах, стандартная скорость принимается как 1)». Т. е., если я хочу SlowMotion (хотя я не понимаю, когда он может пригодиться :), ввожу «slomo 0.4» и наслаждаюсь. Только потом в конце кат-сцена надо не забыть вернуть нормальную скорость ;) Вообще там ещё можно использоваться не только [Thread_0] но и [Thread_1] и тд в случае, если кат-сцен очень большой и не приходилось добавлять где-то в середине новые строки и заново их пронумеровывать. Допустим если в середине хочу изменить скорость, то после необходимой команды в конце строки пишу *SlowMoBegin (например), ав конце кат-сцена дописываю *SlowMoEnd, потом в Thread_1 пишу line_0=WaitFor SlowMo line_1=slomo 0.4 line_2=WaitFor SlowMoEnd line_3=slomo 1. В случае, если надо что-то с персонажем делать и тоже в другом Thread, то его надо заново «закапчить» с помощью ReCapture (имя_персонажа). Также как-то возможно сделать какой-либо цветной оттенок камеры (в игре используются при голосе, который слышит только Гарри — камера уходит в розовый оттенок (как-то с помощью BaseCam FadeIn r=70 g=0 b=70 time=0, но делается это довольно сложно, и я пока не разобрался в этом…..

  5. У меня работало в другом порядке всегда. Сначало Flyto, а не Target Flyto. И лучше использовать редактор Koops, так как UnWorld при обновлении может сбросить необходимое, а старые версии не берут cutscene. А также желательно использовать Notepad++ для устойчивости процесса.