Модификации. Создание сцен-на-движке (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, кат-сцен)”: 8
  1. Чтобы анимация персонажа повторялась, надо после названия анимации написать Loop.

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

  3. Статья отличная, но если кому вдруг понадобится: если при кат-сцене также должна заиграть другая музыка, то нужно ввести:
    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, но делается это довольно сложно, и я пока не разобрался в этом…..

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