Катсцены — различия между версиями

Материал из GTAModding.ru
Перейти к: навигация, поиск
(ID:12 - CAMERA)
 
(не показаны 122 промежуточные версии 6 участников)
Строка 1: Строка 1:
{{Перевод}}
 
 
{{Stub}}
 
{{Stub}}
'''Катсцены''' это небольшие анимированные вставки, которые в основном служат для развития сюжета.
+
'''Катсцены''' - анимационные заставки к миссиям, воспроизводимые движком игры. Служат для подачи сюжета игроку. Хранятся в архиве CUTS.IMG (MOCAPPS2.IMG в GTA VCS). Модели, использующиеся в катсценах, имеют специфическую иерархию и обычно содержат приставку <code>cs</code> перед именем.
  
==[[GTA SA]] и [[GTA LCS]]==
+
Используются следующие форматы файлов:
В [[GTA SA]] и [[GTA LCS]] для каждой катсцены используются по 3 файла: <code>.cut</code>, <code>.[[IFP|ifp]]</code> и <code>.dat</code>.
+
 
 +
[[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] [[Изображение:Lcs.png|16px]] Имя_сцены[[IFP|.ifp]] - пакет со списками кадров для каждого анимируемого объекта внутри сцены.
 +
 
 +
[[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] [[Изображение:Lcs.png|16px]] Имя_сцены<code>.dat</code> - данные для движения камеры внутри сцены.
 +
 
 +
[[Изображение:Gta3.png|16px]] Имя_сцены_имя_объекта[[ANM|.anm]] - список кадров для лицевой анимации персонажей.
 +
 
 +
[[Изображение:Sa.png|16px]] [[Изображение:Lcs.png|16px]] [[Изображение:Vcs.png|16px]] Имя_сцены<code>.cut</code> - данные, необходимые для загрузки катсцены.
 +
 
 +
[[Изображение:Vcs.png|16px]] Имя_сцены<code>.cam</code> - бинарная версия <code>.dat</code>-файла, структура полностью совпадает.
 +
 
 +
[[Изображение:Vcs.png|16px]] Имя_сцены<code>.anim</code> - новая версия пакетов анимаций, поддерживаемая исключительно [[GTA LCS]] и [[GTA VCS]].
  
 
===Описание форматов===
 
===Описание форматов===
Строка 11: Строка 21:
  
 
=====INFO=====
 
=====INFO=====
Эта секция содержит информацию о оффсете. Она описывает 3D-координаты точки начала проигрывания катсцены.
+
Эта секция содержит информацию об оффсете. Она описывает 3D-координаты точки начала проигрывания катсцены.
  
 
  info
 
  info
Строка 20: Строка 30:
  
 
=====MODEL=====
 
=====MODEL=====
Эта секция содержит информацию о том какая модель какую анимацию будет использовать
+
Эта секция содержит информацию о том, какая модель, какую анимацию будет использовать
  
 
  model
 
  model
  ?, name, animation
+
  UnknInt, name, animation
 
  end
 
  end
  
''?'' - неизвестное число (зачастую просто 1)<br/>
+
''UnknInt'' - неизвестное число (зачастую просто 1)<br/>
 
''name'' - название модели<br/>
 
''name'' - название модели<br/>
 
''animation'' - название анимации в IFP<br/>
 
''animation'' - название анимации в IFP<br/>
Строка 39: Строка 49:
  
 
''Number'' - число.<br/>
 
''Number'' - число.<br/>
Extracolours редактируются в [[timecyc.dat]].
+
Extracolours редактируются в [[TimeCyc.DAT]].
  
 
=====TEXT=====
 
=====TEXT=====
Строка 69: Строка 79:
 
''starttime'' - время начала (в миллисекундах)<br/>
 
''starttime'' - время начала (в миллисекундах)<br/>
 
''endtime'' - время окончания<br/>
 
''endtime'' - время окончания<br/>
''unknown_number'' - неизвестное<br/>
+
''unknown_number'' - неизвестное число<br/>
 
''bone'' - числовое значение (ID) части тела (кости) к которому прикрепляется эффект<br/>
 
''bone'' - числовое значение (ID) части тела (кости) к которому прикрепляется эффект<br/>
 
''X, Y, Z'' - координаты<br/>
 
''X, Y, Z'' - координаты<br/>
''?, ?, ?'' - неизвестное (возможно, поворот)
+
''?, ?, ?'' - неизвестно (возможно, поворот)
  
 
=====REMOVE=====
 
=====REMOVE=====
Строка 124: Строка 134:
 
Определяет позицию камеры.
 
Определяет позицию камеры.
  
=====Блок 4 - Цель камеры=====
+
=====Блок 4 - Направление камеры=====
 
  TimeOffset,X(Значение_1),Y(Значение_1),Z(Значение_1),X(Значение_2),Y(Значение_2),Z(Значение_2),X(Значение_3),Y(Значение_3),Z(Значение_3),
 
  TimeOffset,X(Значение_1),Y(Значение_1),Z(Значение_1),X(Значение_2),Y(Значение_2),Z(Значение_2),X(Значение_3),Y(Значение_3),Z(Значение_3),
  
Определяет точку, в которую камера будет смотреть.
+
Определяет точку, в которую будет направлена камера.
  
 
====IFP====
 
====IFP====
Контейнер, который содержит в себе анимации.
+
Блок, который содержит в себе анимации.
  
 
===Список катсцен в San Andreas===
 
===Список катсцен в San Andreas===
Строка 185: Строка 195:
 
| cas_5a
 
| cas_5a
 
|-
 
|-
| cas_6a || The Meat Business mission cutscene
+
| cas_6a || Катсцена миссии "The Meat Business"
 
|-
 
|-
| cas_7b || Fish in a barrel mission cutscene
+
| cas_7b || Катсцена миссии "Fish in a barrel"
 
|-
 
|-
 
| cas_9a1
 
| cas_9a1
Строка 263: Строка 273:
 
| doc_2
 
| doc_2
 
|-
 
|-
| epilog || the game's ending
+
| epilog || Окончание игры
 
|-
 
|-
 
| farl_2a
 
| farl_2a
Строка 355: Строка 365:
 
| smoke3a
 
| smoke3a
 
|-
 
|-
| smoke4a || Just Business mission cutscene
+
| smoke4a || Катсцена миссии "Just Business"
 
|-
 
|-
 
| steal_1
 
| steal_1
Строка 448: Строка 458:
  
 
== GTA IV ==
 
== GTA IV ==
 +
В GTA IV для каждой катсцены используются .WAD, .CUT и файлы моделей, которые принадлежат этой катсцене. .CUT файл этой игры использует теги. Список и описание этих тегов рассмотрены ниже.
 +
 +
Катсцены в GTA IV состоят из секций. В одной катсцене может быть от одной до 15 секций.
 +
 +
=== Описание тегов ===
 +
 +
===== ID:0 - SECTION_START =====
 +
Тег указывает на начало секции катсцены.
 +
===== ID:0 - SECTION_END =====
 +
Тег указывает на конец секции катсцены.
 +
===== ID:1 - OFFSET =====
 +
Точка, которая определяет начало системы координат катсцены
 +
 +
float X, float Y, float Z
 +
 +
Пример:
 +
 +
[OFFSET]
 +
-109.416000 -265.023010 14.785000
 +
[/OFFSET]
 +
 +
===== ID:2 - CUTSCENE_HEADER =====
 +
Содержит диапазон кадров, которые используются в анимации
 +
 +
Например:
 +
 +
10 1000 1500 2500
 +
 +
Настройки .cut файла будут применены к диапазону кадров анимации с 10 по 1000 и затем от 1500 до 2500
 +
 +
P.S. Данные заметки могут быть неверны
 +
 +
===== ID:3 - DURATION =====
 +
Определяет длительность секции
 +
 +
Пример:
 +
 +
[DURATION]
 +
45466.667969
 +
[/DURATION]
 +
 +
===== ID:4 - ANIM =====
 +
Название [[Wad|WAD]] файла, в котором хранятся анимации для секции.
 +
 +
string WADName
 +
 +
Обычно, это <имя катсцены>_<ID секции>
 +
 +
Пример:
 +
 +
[ANIM]
 +
RB_1_1
 +
[/ANIM]
 +
 +
===== ID:5 - MODELS =====
 +
Содержит информацию о субьектах, которые присутсвуют в катсцене, а именно - их модели и анимации.
 +
 +
int ID, string ModelName, string AnimName, string HeadAnimName, int Unknown
 +
* ID - идентификатор субьекта, который может использоваться в других тегах (в этой секций используется как порядковый номер)
 +
* ModelName - название модели (модели для катсцен находятся в архиве [[cutsprops.img]])
 +
* AnimName - название анимации для субьекта из [[Wad|WAD]] файла
 +
* HeadAnimName - название анимации лица для персонажа из [[Wad|WAD]] файла
 +
 +
В одной секции катсцены может быть использовано до 570 субьектов.
 +
 +
Пример:
 +
 +
[MODELS]
 +
0 CS_Davethemate CS_Davethemate_0 Davethemate_head_0
 +
1 player player_0 player_head_0
 +
2 CS_Hossan CS_Hossan_0 cs_hossan_head_0 0
 +
3 CS_WhippingGirl CS_WhippingGirl_0
 +
4 csWhip csWhip_0
 +
5 csToolBox csToolBox_0
 +
[/MODELS]
 +
 +
===== ID:6 - VEHICLE_DETAILS =====
 +
Присваивает некоторые характеристики транспорту.
 +
 +
int ID, int color1, int color2, int color3, int color4, int dirtLevel, int livery
 +
 +
*ID - идентификатор субьекта (определён в теге [http://gtamodding.ru/wiki/Катсцены#ID:5_-_MODELS MODELS])
 +
*color1...4 - ID цвета (из [http://gtamodding.ru/wiki/Carcols.dat#GTA_4 carcols.dat])
 +
*dirtLevel - уровень загрязнённости (0-15, по стандарту - 0)
 +
*livery - тип используемого логотипа (по стандарту - -1) (например - Enforcer)
 +
 +
Пример:
 +
 +
[VEHICLE_DETAILS]
 +
2 0 127 133 133 0
 +
[/VEHICLE_DETAILS]
 +
 +
Максимальное количество строк - 10
 +
 +
===== ID:7 - VEHICLE_REMOVAL =====
 +
Используется для того, чтобы убрать деталь автомобиля из катсцены.
 +
 +
int ModelID, int BoneID
 +
 +
* ModelID - Порядковый номер модели, который записан в теге [http://gtamodding.ru/wiki/Катсцены#ID:5_-_MODELS MODELS]
 +
* BoneID - Идентификатор кости
 +
 +
Пример:
 +
 +
[VEHICLE_REMOVAL]
 +
0 15301
 +
[/VEHICLE_REMOVAL]
 +
 +
Как можно заметить, ModelID параметр используется из тега ''MODELS'', по которому игра определяет, какая модель используется для удаления детали автомобиля. Движок определяет по идентификатору кости, который записан в .wft файле модели (в данном случае - автомобиль BANSHEE).
 +
Максимальное количество строк - 100, для одного автомобиля - 10.
 +
 +
===== ID:8 - CAMCORDER =====
 +
Определяет время включения/выключения "режима сьёмки".
 +
 +
int StartTime, int EndTime
 +
 +
* StartTime - время начала "режима сьёмки"
 +
* EndTime - время окончания действия "режима сьёмки"
 +
Максимальное количество строк - 30
 +
 +
Пример:
 +
 +
[CAMCORDER]
 +
14900 19666
 +
24199 27833
 +
31633 37600
 +
64766 67533
 +
72466 100233
 +
[/CAMCORDER]
 +
 +
'''Примечание:''' [http://gtamodding.ru/wiki/Изображение:Camcorder_example.jpg Скриншот из катсцены с включенным "режимом сьёмки"]
 +
 +
===== ID:9 - VARIATION =====
 +
Устанавливает варианты моделей и текстур педов в катсцене. Информация в теге является общей для всех секций.
 +
 +
int ID, int component, int drawableVariation, int textureVariation, int time
 +
 +
*ID - идентификатор субьекта (определён в теге [http://gtamodding.ru/wiki/Катсцены#ID:5_-_MODELS MODELS])
 +
*component - ID компонента педа
 +
 +
0  head
 +
1  uppr
 +
2  lowr
 +
3  suse
 +
4  hand
 +
5  feet
 +
6  jack
 +
7  hair
 +
8  sus2
 +
9  teef
 +
10 face
 +
 +
*drawableVariation - номер варианта модели
 +
*textureVariation - номер варианта текстуры
 +
*time - время применения этой вариации
 +
 +
===== ID:10 - REMOVE =====
 +
===== ID:11 - FIXUP =====
 +
Секция в процессе разбора. Ниже приведена не разобранная структура:
 +
float1, float2, float3, string, float4
 +
 +
===== ID:12 - CAMERA =====
 +
Имя камеры в .WAD.
 +
Пример:
 +
[CAMERA]
 +
camera_0
 +
[/CAMERA]
 +
 +
===== ID:13 - AUDIO =====
 +
Тег отвечает за использование аудио файла в катсцене.
 +
 +
Все аудио файлы для катсцены расположены в директории pc/audio/sfx/cutscenes.rpf
 +
 +
Пример:
 +
[AUDIO]
 +
myaudio
 +
[/AUDIO]
 +
===== ID:14 - TEXT =====
 +
Отображает текст внизу экрана.
 +
 +
int starttime, int length, string gxt
 +
 +
*starttime - время начала (в миллисекундах)<br/>
 +
*length - продолжительность (в миллисекундах)<br/>
 +
*gxt - имя строки в gxt.
 +
 +
Например:
 +
[TEXT]
 +
10817 683 MY_TEXT_1
 +
12250 1033 MY_TEXT_2
 +
15017 2033 MY_TEXT_3
 +
[/TEXT]
 +
 +
Максмальное кол-во текстов - 500.
 +
 +
===== ID:15 - ATTACHMENT =====
 +
Отвечает за крепление субьекта к субьекту.
 +
 +
int ID1, int ID2, int Unknown
 +
* ID1, ID2 - идентификаторы субьектов, присваиваются в секции MODELS
 +
 +
'''Примечание''': Тег не использовался в оригинальных .cut-файлах.
 +
 +
===== ID:16 - PROPS =====
 +
int ModelID, int index, int prop
 +
 +
* ModelID - Порядковый номер модели, который записан в теге [http://gtamodding.ru/wiki/Катсцены#ID:5_-_MODELS MODELS]
 +
 +
Максимальное количество строк - 50.
 +
 +
===== ID:17 - FLAGS =====
 +
Секция для флагов. Флаги назначают некоторые дополнительные параметры или эффекты во время катсцены.
 +
 +
Пример:
 +
[FLAG]
 +
SHORT_FADE_OUT
 +
[/FLAG]
 +
 +
===== Список флагов: =====
 +
 
{| {{Таблица}}
 
{| {{Таблица}}
! ID
+
!| Число
! Формат
+
!| Флаг
! Описание
+
!| Описание
 
|-
 
|-
| OFFSET
+
| 1
| float, float, float
+
| FADE_BETWEEN_SECTION
|  
+
| Эффект затемнения между секциями .CUT
 
|-
 
|-
| CUTSCENE_HEADER <!-- 2 -->
+
| 2
|  
+
| NO_VEHICLE_LIGHTS
|  
+
| У автомобиля отсутствует свет
 
|-
 
|-
| DURATION <!-- 3 -->
+
| 4
| float
+
| SHORT_FADE_OUT
|  
+
|
 
|-
 
|-
| ANIM <!-- 4 -->
+
| 8
| string
+
| LONG_FADE_OUT
 
|  
 
|  
 
|-
 
|-
| MODELS <!-- 5 -->
+
| 16
| integer, string, string
+
|
 
|
 
|
 
|-
 
|-
| VEHICLE_DETAILS <!-- 6 -->
+
| 32
| integer, integer, integer, integer, integer, integer, integer
+
| FLAG_DONT_FADE_IN_FROM_GAME
|  
+
|
 
|-
 
|-
| VEHICLE_REMOVAL <!-- 7 -->
+
| 64
| integer, integer
+
| FLAG_USE_ONE_AUDIO
 
|  
 
|  
 
|-
 
|-
| CAMCORDER <!-- 8 -->
+
| 128
| integer, integer
+
| FLAG_MUTE_MUSIC_PLAYER
|  
+
|
 
|-
 
|-
| VARIATION <!-- 9 -->
+
| 256
| integer, integer, integer, integer, integer
+
| FLAG_LEAK_RADIO
|  
+
|
 
|-
 
|-
| REMOVE <!-- A -->
+
| 512
| float, float, float, string
+
| FLAG_DONT_FADE_OUT
|  
+
|
 
|-
 
|-
| FIXUP <!-- B -->
+
| 1024
| float, float, float, string, float
+
| NO_AMBIENT_LIGHTS
|
+
| Отсутствует свет в пространстве
|-
+
| CAMERA <!-- C -->
+
| string
+
|
+
|-
+
| AUDIO <!-- D -->
+
| string
+
|  
+
 
|-
 
|-
| TEXT <!-- E -->
+
| 2048
| integer, integer, string
+
| FLAG_DONT_FADE_AUDIO_IN
|
+
|-
+
| ATTACHMENT <!-- F -->
+
| integer, integer, integer
+
|
+
|-
+
| PROPS <!-- 10 -->
+
| integer, integer, integer
+
|
+
|-
+
| FLAGS <!-- 11 -->
+
| string
+
 
|
 
|
* 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
 
 
|-
 
|-
| LIGHTS <!-- 12 -->
+
| 4096
| string
+
| FLAG_DONT_FADE_AUDIO_OUT
|
+
|
|-
+
| DRAW_DISTANCE <!-- 13 -->
+
| integer, integer, float, float
+
|
+
|-
+
| EFFECTS <!-- 14 -->
+
| string, integer, integer, integer integer, float, float, float, float, float, float, float, string, float
+
|
+
|-
+
| BLOCKING_BOUNDS <!-- 15 -->
+
| float, float, float, float, float, float, float, float, float, float, float, float, float
+
|
+
|-
+
| PLAYER_START <!-- 16 -->
+
|
+
|
+
|-
+
| MISSION_TEXT_NAME <!-- 17 -->
+
| string
+
|
+
|-
+
| EXTRA_ROOM <!-- 18 -->
+
| string
+
|
+
|-
+
| MAX_PEDS <!-- 19 -->
+
| integer
+
|
+
|-
+
| MAX_CARS <!-- 1A -->
+
| integer
+
|
+
|-
+
| TIMECYCLE_MODIFIER_NAME <!-- 1B -->
+
| string
+
|  
+
 
|}
 
|}
  
{{SA-navi}}
+
===== ID:18 - LIGHTS =====
[[Категория:Форматы файлов]][[Категория:GTA SA]][[Категория:GTA LCS]][[Категория:GTA 4]]
+
===== 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 =====
 +
 
 +
string Unknown
 +
 
 +
'''Примечание 1:''' Не используется в оригинальных .cut-файлах.
 +
 
 +
'''Примечание 2:''' Полученное значение не используется игрой.
 +
 
 +
===== ID:25 - MAX_PEDS =====
 +
Определяет максимальное количество педов в катсцене (не считая педов, задействованных в катсцене)
 +
 
 +
Пример:
 +
 
 +
[MAX_PEDS]
 +
5
 +
[/MAX_PEDS]
 +
 
 +
===== ID:26 - MAX_CARS =====
 +
Определяет максимальное количество автомобилей в катсцене (не считая автомобилей, задействованных в катсцене)
 +
 
 +
Пример:
 +
 
 +
[MAX_CARS]
 +
2
 +
[/MAX_CARS]
 +
 
 +
===== ID:27 - TIMECYCLE_MODIFIER_NAME =====
 +
Используется для указания модификатора Timecycle, который придает некоторые графические эффекты игры. По умолчанию, используется модификатор e2_int. Список можно посмотреть в файле timecyclemodifiers№.dat.
 +
 
 +
Пример:
 +
[TIMECYCLE_MODIFIER_NAME]
 +
fau3_a
 +
[/TIMECYCLE_MODIFIER_NAME]
 +
 
 +
'''Примечание:''' Не используется в оригинальных .cut-файлах.
 +
 
 +
=== Секции, игнорируемые игрой ===
 +
 
 +
''ID:22 - PLAYER_START''
 +
 
 +
''ID:23 - MISSION_TEXT_NAME''
 +
 
 +
'''Примечание:''' Эти два параметра используются только в [[SCO|.SCO]], поэтому данные секции игнорируются.
 +
 
 +
''ORIENT''
 +
 
 +
''TIME''
 +
 
 +
''ANIMRANGE''
 +
 
 +
''COMPRESSION''
 +
 
 +
=== SCO (Native функции) для катсцен ===
 +
 
 +
[[CLEAR_CUTSCENE]]
 +
 
 +
[[CLEAR_NAMED_CUTSCENE]]
 +
 
 +
[[EXPLODE_CAR_IN_CUTSCENE]]
 +
 
 +
[[EXPLODE_CAR_IN_CUTSCENE_SHAKE_AND_BIT]]
 +
 
 +
[[GET_CUTSCENE_TIME]]
 +
 
 +
[[GET_CUTSCENE_AUDIO_TIME_MS]]
 +
 
 +
[[GET_CUTSCENE_PED_POSITION]]
 +
 
 +
[[GET_CUTSCENE_SECTION_PLAYING]]
 +
 
 +
[[HIDE_CHAR_WEAPON_FOR_SCRIPTED_CUTSCENE]]
 +
 
 +
[[HAS_CUTSCENE_FINISHED]]
 +
 
 +
[[HAS_CUTSCENE_LOADED]]
 +
 
 +
[[INIT_CUTSCENE]]
 +
 
 +
[[IS_PED_IN_CUTSCENE_BLOCKING_BOUNDS]]
 +
 
 +
[[IS_PLAYER_READY_FOR_CUTSCENE]]
 +
 
 +
[[IS_POS_IN_CUTSCENE_BLOCKING_BOUNDS]]
 +
 
 +
[[MAKE_PLAYER_SAFE_FOR_CUTSCENE]]
 +
 
 +
[[SET_CAR_IN_CUTSCENE]]
 +
 
 +
[[SET_CHAR_IN_CUTSCENE]]
 +
 
 +
[[SET_CUTSCENE_EXTRA_ROOM_POS]]
 +
 
 +
[[SHAKE_PAD_IN_CUTSCENE]]
 +
 
 +
[[START_CUTSCENE_NOW]]
 +
 
 +
[[START_CUTSCENE]] - не используется (?)
 +
 
 +
[[SET_CUTSCENE_EXTRA_ROOM_POS]]
 +
 
 +
[[WAS_CUTSCENE_SKIPPED]]
 +
 
 +
 
 +
{{SA-navi}}{{GTA4-navi}}
 +
[[Категория:GTA SA]][[Категория:GTA LCS]][[Категория:GTA VCS]][[Категория:GTA 4]] [[Категория:Форматы файлов]]

Текущая версия на 16:32, 14 сентября 2014

Катсцены - анимационные заставки к миссиям, воспроизводимые движком игры. Служат для подачи сюжета игроку. Хранятся в архиве CUTS.IMG (MOCAPPS2.IMG в GTA VCS). Модели, использующиеся в катсценах, имеют специфическую иерархию и обычно содержат приставку cs перед именем.

Используются следующие форматы файлов:

Gta3.png Vc.png Sa.png Lcs.png Имя_сцены.ifp - пакет со списками кадров для каждого анимируемого объекта внутри сцены.
Gta3.png Vc.png Sa.png Lcs.png Имя_сцены.dat - данные для движения камеры внутри сцены.
Gta3.png Имя_сцены_имя_объекта.anm - список кадров для лицевой анимации персонажей.
Sa.png Lcs.png Vcs.png Имя_сцены.cut - данные, необходимые для загрузки катсцены.
Vcs.png Имя_сцены.cam - бинарная версия .dat-файла, структура полностью совпадает.
Vcs.png Имя_сцены.anim - новая версия пакетов анимаций, поддерживаемая исключительно GTA LCS и GTA VCS.

Содержание

Описание форматов

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

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 файл этой игры использует теги. Список и описание этих тегов рассмотрены ниже.

Катсцены в GTA IV состоят из секций. В одной катсцене может быть от одной до 15 секций.

Описание тегов

ID:0 - SECTION_START

Тег указывает на начало секции катсцены.

ID:0 - SECTION_END

Тег указывает на конец секции катсцены.

ID:1 - OFFSET

Точка, которая определяет начало системы координат катсцены

float X, float Y, float Z

Пример:

[OFFSET]
-109.416000 -265.023010 14.785000
[/OFFSET]
ID:2 - CUTSCENE_HEADER

Содержит диапазон кадров, которые используются в анимации

Например:

10 1000 1500 2500

Настройки .cut файла будут применены к диапазону кадров анимации с 10 по 1000 и затем от 1500 до 2500

P.S. Данные заметки могут быть неверны

ID:3 - DURATION

Определяет длительность секции

Пример:

[DURATION]
45466.667969
[/DURATION]
ID:4 - ANIM

Название WAD файла, в котором хранятся анимации для секции.

string WADName

Обычно, это <имя катсцены>_<ID секции>

Пример:

[ANIM]
RB_1_1
[/ANIM]
ID:5 - MODELS

Содержит информацию о субьектах, которые присутсвуют в катсцене, а именно - их модели и анимации.

int ID, string ModelName, string AnimName, string HeadAnimName, int Unknown
  • ID - идентификатор субьекта, который может использоваться в других тегах (в этой секций используется как порядковый номер)
  • ModelName - название модели (модели для катсцен находятся в архиве cutsprops.img)
  • AnimName - название анимации для субьекта из WAD файла
  • HeadAnimName - название анимации лица для персонажа из WAD файла

В одной секции катсцены может быть использовано до 570 субьектов.

Пример:

[MODELS]
0 CS_Davethemate CS_Davethemate_0 Davethemate_head_0
1 player player_0 player_head_0
2 CS_Hossan CS_Hossan_0 cs_hossan_head_0 0
3 CS_WhippingGirl CS_WhippingGirl_0
4 csWhip csWhip_0
5 csToolBox csToolBox_0
[/MODELS]
ID:6 - VEHICLE_DETAILS

Присваивает некоторые характеристики транспорту.

int ID, int color1, int color2, int color3, int color4, int dirtLevel, int livery
  • ID - идентификатор субьекта (определён в теге MODELS)
  • color1...4 - ID цвета (из carcols.dat)
  • dirtLevel - уровень загрязнённости (0-15, по стандарту - 0)
  • livery - тип используемого логотипа (по стандарту - -1) (например - Enforcer)

Пример:

[VEHICLE_DETAILS]
2 0 127 133 133 0
[/VEHICLE_DETAILS]

Максимальное количество строк - 10

ID:7 - VEHICLE_REMOVAL

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

int ModelID, int BoneID
  • ModelID - Порядковый номер модели, который записан в теге MODELS
  • BoneID - Идентификатор кости

Пример:

[VEHICLE_REMOVAL]
0 15301
[/VEHICLE_REMOVAL]

Как можно заметить, ModelID параметр используется из тега MODELS, по которому игра определяет, какая модель используется для удаления детали автомобиля. Движок определяет по идентификатору кости, который записан в .wft файле модели (в данном случае - автомобиль BANSHEE). Максимальное количество строк - 100, для одного автомобиля - 10.

ID:8 - CAMCORDER

Определяет время включения/выключения "режима сьёмки".

int StartTime, int EndTime
  • StartTime - время начала "режима сьёмки"
  • EndTime - время окончания действия "режима сьёмки"

Максимальное количество строк - 30

Пример:

[CAMCORDER]
14900 19666
24199 27833
31633 37600
64766 67533
72466 100233
[/CAMCORDER]

Примечание: Скриншот из катсцены с включенным "режимом сьёмки"

ID:9 - VARIATION

Устанавливает варианты моделей и текстур педов в катсцене. Информация в теге является общей для всех секций.

int ID, int component, int drawableVariation, int textureVariation, int time
  • ID - идентификатор субьекта (определён в теге MODELS)
  • component - ID компонента педа
0  head
1  uppr
2  lowr
3  suse
4  hand
5  feet
6  jack
7  hair
8  sus2
9  teef
10 face
  • drawableVariation - номер варианта модели
  • textureVariation - номер варианта текстуры
  • time - время применения этой вариации
ID:10 - REMOVE
ID:11 - FIXUP

Секция в процессе разбора. Ниже приведена не разобранная структура:

float1, float2, float3, string, float4
ID:12 - CAMERA

Имя камеры в .WAD.

Пример:
[CAMERA]
camera_0
[/CAMERA]
ID:13 - AUDIO

Тег отвечает за использование аудио файла в катсцене.

Все аудио файлы для катсцены расположены в директории pc/audio/sfx/cutscenes.rpf

Пример:

[AUDIO]
myaudio
[/AUDIO]
ID:14 - TEXT

Отображает текст внизу экрана.

int starttime, int length, string gxt
  • starttime - время начала (в миллисекундах)
  • length - продолжительность (в миллисекундах)
  • gxt - имя строки в gxt.

Например:

[TEXT]
10817	683	MY_TEXT_1
12250	1033	MY_TEXT_2
15017	2033	MY_TEXT_3
[/TEXT]

Максмальное кол-во текстов - 500.

ID:15 - ATTACHMENT

Отвечает за крепление субьекта к субьекту.

int ID1, int ID2, int Unknown
  • ID1, ID2 - идентификаторы субьектов, присваиваются в секции MODELS

Примечание: Тег не использовался в оригинальных .cut-файлах.

ID:16 - PROPS
int ModelID, int index, int prop
  • ModelID - Порядковый номер модели, который записан в теге MODELS

Максимальное количество строк - 50.

ID:17 - FLAGS

Секция для флагов. Флаги назначают некоторые дополнительные параметры или эффекты во время катсцены.

Пример:

[FLAG]
SHORT_FADE_OUT
[/FLAG]
Список флагов:
Число Флаг Описание
1 FADE_BETWEEN_SECTION Эффект затемнения между секциями .CUT
2 NO_VEHICLE_LIGHTS У автомобиля отсутствует свет
4 SHORT_FADE_OUT
8 LONG_FADE_OUT
16
32 FLAG_DONT_FADE_IN_FROM_GAME
64 FLAG_USE_ONE_AUDIO
128 FLAG_MUTE_MUSIC_PLAYER
256 FLAG_LEAK_RADIO
512 FLAG_DONT_FADE_OUT
1024 NO_AMBIENT_LIGHTS Отсутствует свет в пространстве
2048 FLAG_DONT_FADE_AUDIO_IN
4096 FLAG_DONT_FADE_AUDIO_OUT
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
string Unknown

Примечание 1: Не используется в оригинальных .cut-файлах.

Примечание 2: Полученное значение не используется игрой.

ID:25 - MAX_PEDS

Определяет максимальное количество педов в катсцене (не считая педов, задействованных в катсцене)

Пример:

[MAX_PEDS]
5
[/MAX_PEDS]
ID:26 - MAX_CARS

Определяет максимальное количество автомобилей в катсцене (не считая автомобилей, задействованных в катсцене)

Пример:

[MAX_CARS]
2
[/MAX_CARS]
ID:27 - TIMECYCLE_MODIFIER_NAME

Используется для указания модификатора Timecycle, который придает некоторые графические эффекты игры. По умолчанию, используется модификатор e2_int. Список можно посмотреть в файле timecyclemodifiers№.dat.

Пример:

[TIMECYCLE_MODIFIER_NAME]
fau3_a
[/TIMECYCLE_MODIFIER_NAME]

Примечание: Не используется в оригинальных .cut-файлах.

Секции, игнорируемые игрой

ID:22 - PLAYER_START

ID:23 - MISSION_TEXT_NAME

Примечание: Эти два параметра используются только в .SCO, поэтому данные секции игнорируются.

ORIENT

TIME

ANIMRANGE

COMPRESSION

SCO (Native функции) для катсцен

CLEAR_CUTSCENE

CLEAR_NAMED_CUTSCENE

EXPLODE_CAR_IN_CUTSCENE

EXPLODE_CAR_IN_CUTSCENE_SHAKE_AND_BIT

GET_CUTSCENE_TIME

GET_CUTSCENE_AUDIO_TIME_MS

GET_CUTSCENE_PED_POSITION

GET_CUTSCENE_SECTION_PLAYING

HIDE_CHAR_WEAPON_FOR_SCRIPTED_CUTSCENE

HAS_CUTSCENE_FINISHED

HAS_CUTSCENE_LOADED

INIT_CUTSCENE

IS_PED_IN_CUTSCENE_BLOCKING_BOUNDS

IS_PLAYER_READY_FOR_CUTSCENE

IS_POS_IN_CUTSCENE_BLOCKING_BOUNDS

MAKE_PLAYER_SAFE_FOR_CUTSCENE

SET_CAR_IN_CUTSCENE

SET_CHAR_IN_CUTSCENE

SET_CUTSCENE_EXTRA_ROOM_POS

SHAKE_PAD_IN_CUTSCENE

START_CUTSCENE_NOW

START_CUTSCENE - не используется (?)

SET_CUTSCENE_EXTRA_ROOM_POS

WAS_CUTSCENE_SKIPPED


п · о · р
San Andreas Grand Theft Auto: San Andreas
Форматы файлов.col.cfg.cut.dff.dat.fxp.gxt.ide.ifp.img.ipl.rep.rrr.scm.txd.set
Документацияcarcols.datCarrecPed EventsPed TypeАдреса Памяти Функций (SA)Анимация моделей в SAВизуальные эффекты в скриптинге
Загруженные звукиКатсценыНомера оружияРисование на экранеТрюки с меткамиСтатистикаСтруктура аудио в SABeta версия
ИнструментыCLEOCollision File Editor IIENBSeriesG-ToolsGXT EditorIMG ToolPS2 TXD ModPS2 TXD ViewerLimit AdjusterMap EditorPathViewer
San Andreas Audio ToolkitSan Andreas Texture PlacerSanny BuilderTXD WorkshopTXDFuckerXBOX TXD PowerTool
ТуториалыРедактирование аудио в SAИзменение cutsceneDecision MakerПропуск роликовКонвертация автомобилей в SA
Основы маппинга GTA:SAДелаем ломающиеся объектыКонвертирование персонажа в SA2dfx в SanAndreasМоддинг San Andreas v2.0
Новая анимация персонажейУниверсальный солдат (GTA SA)
МодыAlien CityDesign Your Own MissionGTA: UnitedGTA StoriesGTA Berlin
МультиплеерgtaTournamentMulti Theft AutoSan Andreas Multiplayer
п · о · р
GTA 4 Grand Theft Auto IV
Форматы файлов.dat.gxt.ide.img.ipl.nod.sco.rpf.rrr.wdd.wdr.wft.wbd/wbn.whm.wad.wnv.wpl.wtd
Документация Handling.datgta.datОружиеКатсценыПутиСкриптовые функцииШифрованиеФормат CFG файла настроек
Скриптинг в GTA 4
ИнструментыAPE IVASI LoaderIV NeedleGIMSOpenIVPathViewerSparkIVXLiveLessRaCon
Скриптовые программыAliceC++ Script HookScocl.NET Script HookDelphi Hook
ТуториалыИмпортирование текстур с помощью OpenIVИмпортирование текстур с помощью SparkIV
МодификацииGTA Vice City RageIV:SAGostown Paradise IV