Катсцены
Материал из GTAModding.ru
Версия от 18:33, 13 апреля 2012; Solom (обсуждение | вклад)
Эта статья требует полного или частичного перевода. Часть этой статьи написана на иностранном языке. Если вы знаете его, пожалуйста, помогите с ее переводом на русский язык. |
Катсцены - это небольшие анимированные вставки, которые в основном служат для развития сюжета.
GTA SA и GTA LCS
В GTA SA и GTA LCS для каждой катсцены используются по 3 файла: .cut
, .ifp
и .dat
.
Описание форматов
CUT
Файл .cut
загружается первым. Он содержит важную информацию, например о загружаемых моделях или субтитрах. Он поделён на несколько секций. Не каждый cut-файл требует все секции, однако рекомендуется включать все, а неиспользуемые оставить пустыми.
INFO
Эта секция содержит информацию об оффсете. Она описывает 3D-координаты точки начала проигрывания катсцены.
info offset X Y Z end
Также этот параметр можно вызвать опкодом 0244.
MODEL
Эта секция содержит информацию о том, какая модель, какую анимацию будет использовать
model UnknInt, name, animation end
UnknInt - неизвестное число (зачастую просто 1)
name - название модели
animation - название анимации в IFP
Может содержать не более 50 значений!
EXTRACOL
Секция EXTRACOL выставлят цвет интерьера. Она аналогична опкоду 04F9.
extracol Number end
Number - число.
Extracolours редактируются в timecyc.dat.
TEXT
Отображает текст внизу экрана.
text starttime, length, gxt end
starttime - время начала (в миллисекундах)
length - продолжительность (в миллисекундах)
gxt - текстовая строка в gxt
UNCOMPRESS
Декомпрессирует анимацию IFP.
uncompress Animation end
PEFFECT
Добавляет эффект из effects.fxp.
peffect effectname, starttime, endtime, unknown_number, bone, X, Y, Z, ?, ?, ? end
effectname - название эффекта
starttime - время начала (в миллисекундах)
endtime - время окончания
unknown_number - неизвестное число
bone - числовое значение (ID) части тела (кости) к которому прикрепляется эффект
X, Y, Z - координаты
?, ?, ? - неизвестно (возможно, поворот)
REMOVE
Убирает статический объект (записанный в IPL) по специфическим координатам.
remove Objectname, X, Y, Z end
Objectname - имя объекта
X, Y, Z - координаты
ATTACH
Предназначение этой секции неизвестно. Используется редко.
attach Number, Number, Number end
MOTION
Игра игнорирует эту секцию!
DAT
Файл dat
содержит в себе информацию о камерах.
Состоит из 4-х блоков:
- Блок 1: Поворот
- Блок 2: Увеличение (зум)
- Блок 3: Позиция камеры
- Блок 4: Цель камеры
Каждый блок начинается с целого числа, которое обозначает сколько далее проследует строк в блоке, а заканчивается символом ";" (без кавычек). В конце файла тоже должен стоять этот символ. Конец строки определяется запятой в конце. В строке следует три значения (кроме TimeOffset - оффсета начала времени), где последние 2 игнорируются. Поэтому 3 значения можно ставить одинаковыми.
TimeOffset,Значение1,Значение2,Значение3,
Блок 1 - Поворот
TimeOffset,Поворот(Значение_1),Поворот(Значение_2),Поворот(Значение_3),
Описывает поворот камеры под углом (в градусах) относительно целевой точки.
Блок 2 - Увеличение
TimeOffset,Увеличение(Значение_1),Увеличение(Значение_2),Увеличение(Значение_3),
Определяет фокусировку камеры.
Блок 3 - Позиция камеры
TimeOffset,X(Значение_1),Y(Значение_1),Z(Значение_1),X(Значение_2),Y(Значение_2),Z(Значение_2),X(Значение_3),Y(Значение_3),Z(Значение_3),
Определяет позицию камеры.
Блок 4 - Направление камеры
TimeOffset,X(Значение_1),Y(Значение_1),Z(Значение_1),X(Значение_2),Y(Значение_2),Z(Значение_2),X(Значение_3),Y(Значение_3),Z(Значение_3),
Определяет точку, в которую будет направлена камера.
IFP
Блок, который содержит в себе анимации.
Список катсцен в San Andreas
Катсцена | Описание |
---|---|
bcesa4w | Финальная катсцена миссии "Wu Zi Mu" |
bcesa5w | Финальная катсцена миссии "Farewell, my love..." |
bcesar2 | Катсцена "King in Exile" |
bcesar4 | Вступительная катсцена миссии "Wu Zi Mu" |
bcesar5 | Вступительная катсцена миссии "Farewell, my love..." |
bcras1 | Катсцена миссии "Green Sabre" (3) |
bcras2 | Катсцена миссии "Green Sabre" (4) |
bhill1 | Катсцена миссии "Vertical Bird" |
bhill2 | |
bhill3a | |
bhill3b | |
bhill3c | |
bhill5a | |
bhill5b | |
cas6b_1 | |
cas6b_2 | |
cas_11a | |
cas_1a | |
cas_2 | |
cas_3 | |
cas_4a | |
cas_4b | |
cas_4c | |
cas_5a | |
cas_6a | Катсцена миссии "The Meat Business" |
cas_7b | Катсцена миссии "Fish in a barrel" |
cas_9a1 | |
cas_9a2 | |
cat_1 | |
cat_2 | |
cat_3 | |
cat_4 | |
cesar1a | |
crash1a | |
crash3a | |
crashv1 | |
crashv2a | |
crashv2b | |
cuttest | Тестовая катсцена, в нем показана двигающаяся вверх-вниз награда Мэдд Догга. В самом ifp-файле еще есть и двигающийся пистолет, который двигается так же |
d10_alt | |
d8_alt | |
date1a | |
date1b | |
date2a | |
date2b | |
date3a | |
date3b | |
date4a | |
date4b | |
date5a | |
date5b | |
date6a | |
date6b | |
desert1 | |
desert2 | |
desert3 | |
desert4 | |
desert6 | |
desert8 | |
desert9 | |
des_10a | |
des_10b | |
doc_2 | |
epilog | Окончание игры |
farl_2a | |
farl_3a | |
farl_3b | |
farl_4a | |
farl_5a | |
final1a | |
final2a | |
final2b | |
garag1b | |
garag1c | |
garag3a | |
grove1a | |
grove1b | |
grove1c | |
grove2 | |
heist1a | |
heist2a | |
heist4a | |
heist5a | |
heist6a | |
heist8a | |
intro1a | |
intro1b | |
intro2a | |
prolog1 | |
prolog3 | |
riot4e1 | |
riot4e2 | |
riot_1a | |
riot_1b | |
riot_2 | |
riot_4a | |
riot_4b | |
riot_4c | |
riot_4d | |
ryder1a | |
ryder2a | |
ryder3a | |
scrash1 | |
scrash2 | |
smoke1a | |
smoke1b | |
smoke2a | |
smoke2b | |
smoke3a | |
smoke4a | Катсцена миссии "Just Business" |
steal_1 | |
steal_2 | |
steal_4 | |
steal_5 | |
strap1a | |
strap2a | |
strap3a | |
strap4a | |
strp4b1 | |
strp4b2 | |
sweet1a | |
sweet1b | |
sweet1c | |
sweet2a | |
sweet2b | |
sweet3a | |
sweet3b | |
sweet4a | |
sweet5a | |
sweet6a | |
sweet6b | |
sweet7a | |
synd_2a | |
synd_2b | |
synd_3a | |
synd_4a | |
synd_4b | |
synd_7 | |
truth_1 | |
truth_2 | |
w2_alt | |
woozi1a | |
woozi1b | |
woozie2 | |
woozie4 | |
zero_1 | |
zero_2 | |
zero_4 |
SCM (Опкоды)
- 0244 - SetsCutscenePosition
- 02E4 - LoadsCutsceneData
- 02E7 - StartsCutscene
- 02E8 - GetsCutsceneTime
- 02E9 - HasCutsceneReachedEnd
- 02EA - EndsCutscene
- 03B7 - ProcessCutsceneOnly
- 06B9 - IsCutsceneDataLoaded
- 08D0 - IsCutsceneSkipped
- 08F0 - SetsCutsceneModelTexture
GTA IV
В GTA IV для каждой катсцены используются .WAD, .CUT и файлы моделей, которые принадлежат этой катсцене. .CUT файл этой игры использует теги. Список и описание этих тегов рассмотрены ниже, но большинство из них в процессе разбора.
Описание тегов
ID:0 - SECTION_START
Тег указывает на начало секции катсцены.
ID:0 - SECTION_END
Тег указывает на конец секции катсцены.
ID:1 - OFFSET
ID:2 - CUTSCENE_HEADER
Неизвестная секция.
Примечание: Значения из этой секции не используются игрой
ID:3 - DURATION
ID:4 - ANIM
ID:5 - MODELS
ID:6 - VEHICLE_DETAILS
ID:7 - VEHICLE_REMOVAL
Используется для того, чтобы убрать деталь автомобиля из катсцены.
Number, BoneID
Number - Порядковый номер модели, который записан в теге [MODELS].
BoneID - Идентификатор кости.
Пример:
[MODELS] 0 Banshee Banshee_0 [/MODELS]
[VEHICLE_REMOVAL] 0 15301 [/VEHICLE_REMOVAL]
Как можно заметить, Number параметр используется из тега MODELS, по которому игра определяет, какая модель используется для удаления детали автомобиля. Движок определяет по идентификатору кости, который записан в .wft файле модели (в данном случае - автомобиль BANSHEE).
ID:8 - CAMCORDER
ID:9 - VARIATION
ID:10 - REMOVE
ID:11 - FIXUP
ID:12 - CAMERA
В этом теге указывается название анимации из .WAD файла сцены которая будет использоваться для камеры в текущей секции.
ID:13 - AUDIO
Тег отвечает за использование аудио файла в катсцене.
Все аудио файлы для катсцены расположены в директории pc/audio/sfx/cutscenes.rpf
Пример:
[AUDIO] myaudio [/AUDIO]
ID:14 - TEXT
Отображает текст внизу экрана.
[TEXT] starttime, length, gxt [/TEXT]
- starttime - время начала (в миллисекундах)
- length - продолжительность (в миллисекундах)
- gxt - имя строки в gxt.
ID:15 - ATTACHMENT
ID:16 - PROPS
ID:17 - FLAGS
Тэг отвечает за флаги. Флаги назначают дополнительные параметры. Ниже приведён список этих флагов, описание и пример использования этого тега.
[FLAG] SHORT_FADE_OUT [/FLAG]
Флаги | Описание |
---|---|
FADE_BETWEEN_SECTION | Использовать затухание между секциями катсцены. (надо проверить) |
NO_VEHICLE_LIGHTS | Игнорирование света автомобиля |
NO_AMBIENT_LIGHTS | Игнорирование окружающего света |
FLAG_DONT_FADE_AUDIO_IN | ? |
FLAG_DONT_FADE_AUDIO_OUT | ? |
SHORT_FADE_OUT | Короткое затухание экрана |
LONG_FADE_OUT | Долгое затухание экрана |
FLAG_DONT_FADE_OUT | Не применять эффект затухания(?) |
FLAG_USE_ONE_AUDIO | Использовать один аудио файл |
FLAG_MUTE_MUSIC_PLAYER | Отключить звуки игрока |
FLAG_LEAK_RADIO | ? |
FLAG_DONT_FADE_IN_FROM_GAME | ? |
ID:18 - LIGHTS
ID:19 - DRAW_DISTANCE
Расстояние рендеринга объектов.
int Time, int Unused, float DrawDistance, float Unknown
- Time - Время установки дистанции прорисовки
- DrawDistance - Дальность видимости
Максимальное количество строк - 100
Пример:
[DRAW_DISTANCE] 0 0 60.00000 5550 1 200.00000 8177 2 20.00000 [/DRAW_DISTANCE]
Примечание 1: Второй параметр игнорируется игрой, но он должен обязательно присутствовать (это может быть любое целое число)
Примечание 2: При отсутсвии в .cut-файле последнего параметра, он приравнивается к 0.05.
ID:20 - EFFECTS
ID:21 - BLOCKING_BOUNDS
Определяет зоны блокировки (для педов/автомобилей). Используется для игнорирования Spawn (появления) педов/автомобилей в данной зоне.
float CornerAA_x, float CornerAA_y, float CornerAA_z, float CornerAB_x, float CornerAB_y, float CornerAB_z, float CornerBA_x, float CornerBA_y, float CornerBA_z, float CornerBB_x, float CornerBB_y, float CornerBB_z, float Height
- CornerAA, CornerAB, CornerBA, CornerBB - точки четырёхугольника
- Height - высота зоны
Максимальное количество строк - 24
Пример:
[BLOCKING_BOUNDS] -6.656193 3.182460 -1.100477 -3.160525 -2.872214 -1.100477 -0.601519 6.678128 -1.100477 2.894149 0.623454 -1.100477 6.991335 -9.463666 8.045147 -1.100477 -5.967999 1.990473 -1.100477 -3.408992 11.540814 -1.100477 0.086675 5.486141 -1.100477 6.991335 -12.252039 12.874750 -1.100477 -8.756371 6.820076 -1.100477 -6.197365 16.370419 -1.100477 -2.701697 10.315743 -1.100477 6.991335 -15.035851 17.696455 -1.100477 -11.540183 11.641781 -1.100477 -8.981177 21.192123 -1.100477 -5.485509 15.137448 -1.100477 6.991335 -17.831411 22.538509 -1.100477 -14.335744 16.483833 -1.100477 -11.776738 26.034176 -1.100477 -8.281070 19.979500 -1.100477 6.991335 -20.628733 27.383612 -1.100477 -17.133064 21.328936 -1.100477 -14.574059 30.879278 -1.100477 -11.078391 24.824604 -1.100477 6.991335 -3.858371 -1.663509 -1.100477 -0.362703 -7.718184 -1.100477 2.196303 1.832158 -1.100477 5.691970 -4.222516 -1.100477 6.991335 [/BLOCKING_BOUNDS]
ID:24 - EXTRA_ROOM
ID:25 - MAX_PEDS
ID:26 - MAX_CARS
ID:27 - TIMECYCLE_MODIFIER_NAME
Секций, игнорируемые игрой
ID:22 - PLAYER_START
ID:23 - MISSION_TEXT_NAME
Примечание: Эти два параметра используются только в .SCO, поэтому данные секций игнорируются.