Как сделать катсцену в гта са
В этой статье мы будем учиться менять модель персонажа в СА на какую-либо другую. Конечно точно вам сказать не могу, но мне кажется этот способ действительно уникален, т.к тем временем как американцы ломают мозги над различными модификаторами, и присваивают кости к определённым частям тела, мы благодаря моей технологии можем конвертировать любую модель в СА буквально за 10 минут. Итак, начнём.
Для начала у вас должен быть 3ds max версии 4.0 и выше, а так-же набор плагинов от KAM'а. В данной статье я использую 3DS Max 6 версии. Первое что вы должны сделать - это вытащить модель игрока из СА с помощью IMG Tool, в данном случае я использую модель claude (claude.dff, claude.txd). Создаём папку и кидаем туда саму модель и текстуры к ней в формате tga. На данном примере мы будем конвертировать в СА модель из VC, возьмём модель игрока- player2 (player2.dff, player2.txd), добавляем эту модель и текстуры к ней в ту же папку. Теперь включаем 3DS Max и загружаем плагины от KAM'а, можно это сделать так - MAXScript> RunScript, но удобнее будет, если вы вынесете все эти скрипты на панель редактирования. Теперь загружаем скрипт "IFP IO", и ничего там не меняя нажимаем на "import dff", выбираем модель персонажа из SA, в данном случае, это Claude.dff. Модель должна загрузится без проблем, но если у вас не отображаются текстуры, то нужно сделать следующее- в верхнем меню выбираем Views > Activate all maps, все текстуры должны активироваться.
У вас должно получиться тоже самое:
Теперь конвертируем модель в editable mesh (щёлкаем ПКМ по модели, затем в открывшемся меню Convert to > Editable Mesh). При этом модификатор skin удаляется и скелет больше не привязан к модели, но не беспокойтесь нам это и нужно. Теперь мы должны удалить весь скелет модели и оставить только саму модель персонажа(Skin_mesh) для удаления скелета удобнее использовать удаление по имени, для этого открываем Edit> Select By> Name, в открывшемся меню выбираем всё кроме Skin_Mesh:
Нажимаем select, и мы можем видеть что всё кроме самой модели игрока выбрано, осталось лишь стереть это, нажимаем на клавиатуре "Delete". Всё что у нас осталось будет служить неким "макетом", позже поймёте. Советую вам сохранить эту сцену, т.к проделывать эту операцию вам в дальнейшем больше не придётся, и намного удобнее будет открывать созданную нами сцену, дадим сохранённой сцене имя maket.max. Пока нам эта сцена не пригодится, и мы создаём новую (File > New > New All). Включаем уже знакомый нам плагин "IFP IO" но уже импортируем модель игрока из VC, в нашем случае - player2.dff, аналогично активируем текстуры. Теперь, не трогая импортированного нами игрока, не меняя и не удаляя никаких модификаторов, мы должны импортировать в нашу сцену, ранее сохранённую - maket.max. Нажимаем на File > Merge, и выбираем нужную нам сцену, в меню нам ничего не остаётся, как выбрать Skin_mesh, и нажать OK. У вас должно получится примерно как на скрине:
На следующем этапе мы должны немного "подогнать" нашу модель из VC под габариты модели из SA. Для начала перевернём модель и скелет player2, делаем следующее: "прячем" модель claude (ПКМ на модели, в появившемся меню выбираем "Hide selection"). Модель "спрятана", теперь мы должны выбрать всё что у нас осталось, а это сама модель игрока и её скелет, для этого нажмём комбинацию клавиш Ctrl+A. На верхней панели инструментов выберем "Select and Rotate", и нажимаем на этот инструмент правой кнопкой мыши. В появившемся окошке мы должны повернуть модель в координатах Y и Z, для этого в оси Y мы ставим -90, а в Z поставим 90. Модель перевёрнута, теперь спрятанную модель claude мы смело открываем (жмём ПКМ по любому видовому окну, и в появившемся окне выбираем "Unhide All" Смотрим результат на скрине:
Продолжим "подгонять" нашу модель игрока. Для этого мы должны переместить("select and move" на верхней панели инструментов) модель claude и как можно точнее "вставить" его в модель нашего игрока. Для этого вы хотя бы должны подогнать голову claude под голову игрока, сделайте примерно так как на скринах:
Переходим к ногам, как видим они тоже немного не схожи с расположением ног claude. Но это уже для нас не проблема т.к мы уже научились работать с костями модели. Просто немного поворачиваем кость "L Thigh" по оси Y, и "дотягиваем" ноги до ног claude, перемещая кость "L Calf", немного повернём и ботинки игрока, используя кость "L Foot". Сверьтесь с моим скрином для продолжения работы:
Наконец мы закончили подгонять нашу модель игрока под габариты персонажа из SA, как говорится дело за малым, читаем дальше.
Теперь модель claude можно смело удалять, она нам больше не понадобится. Затем щёлкаем на модели игрока из VC правой кнопкой мыши, и в появившемся окне нажимаем Convert To> Editable Mesh, тем самым мы "отделяем" скелет от нашей модели, осталось только удалить сам скелет, для этого выбираем весь скелет кроме самой модели (Edit> Select By> Name), и выбираем все части скелета кроме модели игрока под названием Root(не спутайте с костью, если что нажимайте "Undo"(откат), находящийся в панели Edit). У вас должно получится примерно как на скрине:
Советую вам сохранить получившуюся сцену в файл player2.max. И снова открываем плагин IFP IO и снова импортируем в нашу сцену(player2.max) модель claude(claude.dff). Не меняем, и не удаляем модификатор skin модели claude. Теперь мы должны переместить, тем самым подогнать нашего игрока, как-бы вставив его в модель claude, что мы уже делали, только в данном случае модели поменялись местами. Сверяемся со скрином:
Снова вернёмся к модификатору Editable mesh выбрав его из списка модификаторов, а именно на уровень редактирования полигонов(Polygon). Нашей задачей сейчас является просто удалить модель claude, но модель игрока оставить неизменной, что-бы выделить все полигоны модели claude, выделите хотя-бы один полигон этой модели, затем переходим в "свиток" Surface Properties, и там же в окошке Material выберем "No Name - (1)". Тем самым мы выбрали все полигоны модели claude, теперь просто удаляем их (Delete), тем самым у нас остаётся только модель игрока из VC.
Снова выбираем модификатор Skin. Вы не поверите но мы уже привязали скелет персонажа из СА к скелету игрока из VC, этого мы так долго и добивались, для проверки можете просто нажать на "Edit Envelopes" в модификаторе "skin" и в списке костей просто выбрать нужную вам кость, вы увидите что данная часть тела окрасится в определённый цвет, и будут показаны вершины модели. привязанной к данной кости.
Отжимаем кнопку "Edit Envelopes". Теперь остаётся лишь сохранить нашу модель для игры в формате dff, и создать txd файл, где будет хранится текстура модели. Итак, экспортируем модель в dff, для этого выбираем только одну модель игрока(кости не трогать). Включаем плагин DFF IO, в появившемся окне выберем экспорт для SA, остальные все настройки оставим без изменения, разве что отключите VCol (если он у вас активирован), нажимаем на "Bones/Skin Export", называем наш dff тем именем, модель которой вы хотите заменить в СА, в данном случае я буду заменять модель одного из гангстеров Сиджея, модель которого называется - "fam2.dff", а текстура соответственно "fam2.txd" Итак модель экспортирована, дело за малым- создать лишь txd файл, отвечающий за текстуру модели. Для этого я использую программу Txd Workshop, открываем её, нажимаем File> New в открывшемся окне выберем 16 бит цветов. В созданную нами текстуру импортируем (import) текстуру игрока из VC (player2.TGA), теперь открываем опции текстуры (properties) и в окошке name переименовываем текстуру в "player2". Теперь делаем компресс текстуры (Image> Compress All Images), выбрав при этом в низу компрессию "San Andreas". Теперь сохраняем наш txd, жмём "Save TXD" и даём имя txd файлу- "fam2.txd".
Всё, теперь у нас есть и модель персонажа dff, и текстура txd, и что-же нам остаётся. да просто удалить из img архива оригинальные файлы данного персонажа, и добавить туда наши, только-что созданные.
Итак, в этой статье я как можно лучше "разжевал" вам эту операцию конвертирования модели в СА, в данном случае я использовал модель из VC, но вы можете использовать любую другую модель и легко сконвертировать её в СА. Может для новичков всё вышеописанное и покажется сложным, но, поверьте, освоившись, вы будете конвертировать модели для СА максимум за 10 минут, это намного быстрее и проще, чем копаться в модификаторе Skin, применять вершины к скелету и т.д.
Автор статьи: igorok
Дополнил, исправил и выложил статью со всеми картинками - Dageron.
Катсцены
Катсцены - анимационные заставки к миссиям, воспроизводимые движком игры. Служат для подачи сюжета игроку. Хранятся в архиве CUTS.IMG (MOCAPPS2.IMG в GTA VCS). Модели, использующиеся в катсценах, имеют специфическую иерархию и обычно содержат приставку cs перед именем.
Используются следующие форматы файлов:
New GTA SA sports car.v1.0
Первая версия новых спортивных автомобилей для GTA SA. Мод заменяет Banshee, Buffalo, Comet, Turismo.У каждой машины свои особенности.Качайте, проверяйте, только потом оставляйте комментарии.
DEFAULT cars configs
Стандартные настройки транспорта, которые включают в себя:GTA San Andreas --> data- carcols.dat- carmods.dat- handling.cfg- vehicles.ideGTA San Andreas --> data --> maps --> veh_mods-veh_mods.ideЭти файлы я забыл внести в ЭТОТ СБОРНИК (КЛАЦ).
[!] Если у вас возникли проблемы при установке файла, то прочтите инструкцию по установке файлов для GTA San Andreas .
[!] Если вы считаете, что этот файл уже был добавлен в архив ранее, то сообщите, пожалуйста, об этом администратору с указанием ссылок на этот и добавленный ранее файл.
GTA IV
В GTA IV для каждой катсцены используются .WAD, .CUT и файлы моделей, которые принадлежат этой катсцене. .CUT файл этой игры использует теги. Список и описание этих тегов рассмотрены ниже.
Катсцены в GTA IV состоят из секций. В одной катсцене может быть от одной до 15 секций.
Описание тегов
ID:0 - SECTION_START
Тег указывает на начало секции катсцены.
ID:0 - SECTION_END
Тег указывает на конец секции катсцены.
ID:1 - OFFSET
Точка, которая определяет начало системы координат катсцены
ID:2 - CUTSCENE_HEADER
Содержит диапазон кадров, которые используются в анимации
Настройки .cut файла будут применены к диапазону кадров анимации с 10 по 1000 и затем от 1500 до 2500
P.S. Данные заметки могут быть неверны
ID:3 - DURATION
Определяет длительность секции
ID:4 - ANIM
Название WAD файла, в котором хранятся анимации для секции.
Обычно, это <имя катсцены>_<ID секции>
ID:5 - MODELS
Содержит информацию о субьектах, которые присутсвуют в катсцене, а именно - их модели и анимации.
- ID - идентификатор субьекта, который может использоваться в других тегах (в этой секций используется как порядковый номер)
- ModelName - название модели (модели для катсцен находятся в архиве cutsprops.img)
- AnimName - название анимации для субьекта из WAD файла
- HeadAnimName - название анимации лица для персонажа из WAD файла
В одной секции катсцены может быть использовано до 570 субьектов.
ID:6 - VEHICLE_DETAILS
Присваивает некоторые характеристики транспорту.
- ID - идентификатор субьекта (определён в теге MODELS)
- color1. 4 - ID цвета (из carcols.dat)
- dirtLevel - уровень загрязнённости (0-15, по стандарту - 0)
- livery - тип используемого логотипа (по стандарту - -1) (например - Enforcer)
Максимальное количество строк - 10
ID:7 - VEHICLE_REMOVAL
Используется для того, чтобы убрать деталь автомобиля из катсцены.
- ModelID - Порядковый номер модели, который записан в теге MODELS
- BoneID - Идентификатор кости
Как можно заметить, ModelID параметр используется из тега MODELS, по которому игра определяет, какая модель используется для удаления детали автомобиля. Движок определяет по идентификатору кости, который записан в .wft файле модели (в данном случае - автомобиль BANSHEE). Максимальное количество строк - 100, для одного автомобиля - 10.
ID:8 - CAMCORDER
Определяет время включения/выключения "режима сьёмки".
- StartTime - время начала "режима сьёмки"
- EndTime - время окончания действия "режима сьёмки"
Максимальное количество строк - 30
ID:9 - VARIATION
Устанавливает варианты моделей и текстур педов в катсцене. Информация в теге является общей для всех секций.
- ID - идентификатор субьекта (определён в теге MODELS)
- component - ID компонента педа
- drawableVariation - номер варианта модели
- textureVariation - номер варианта текстуры
- time - время применения этой вариации
ID:10 - REMOVE
ID:11 - FIXUP
Секция в процессе разбора. Ниже приведена не разобранная структура:
ID:12 - CAMERA
Имя камеры в .WAD.
ID:13 - AUDIO
Тег отвечает за использование аудио файла в катсцене.
Все аудио файлы для катсцены расположены в директории pc/audio/sfx/cutscenes.rpf
ID:14 - TEXT
Отображает текст внизу экрана.
- starttime - время начала (в миллисекундах)
- length - продолжительность (в миллисекундах)
- gxt - имя строки в gxt.
Максмальное кол-во текстов - 500.
ID:15 - ATTACHMENT
Отвечает за крепление субьекта к субьекту.
- ID1, ID2 - идентификаторы субьектов, присваиваются в секции MODELS
Примечание: Тег не использовался в оригинальных .cut-файлах.
ID:16 - PROPS
- ModelID - Порядковый номер модели, который записан в теге MODELS
Максимальное количество строк - 50.
ID:17 - FLAGS
Секция для флагов. Флаги назначают некоторые дополнительные параметры или эффекты во время катсцены.
Список флагов:
ID:18 - LIGHTS
ID:19 - DRAW_DISTANCE
Расстояние рендеринга объектов.
- Time - Время установки дистанции прорисовки
- DrawDistance - Дальность видимости
Максимальное количество строк - 100
Примечание 1: Второй параметр игнорируется игрой, но он должен обязательно присутствовать (это может быть любое целое число)
Примечание 2: При отсутсвии в .cut-файле последнего параметра, он приравнивается к 0.05.
ID:20 - EFFECTS
ID:21 - BLOCKING_BOUNDS
Определяет зоны блокировки (для педов/автомобилей). Используется для игнорирования Spawn (появления) педов/автомобилей в данной зоне.
- CornerAA, CornerAB, CornerBA, CornerBB - точки четырёхугольника
- Height - высота зоны
Максимальное количество строк - 24
ID:24 - EXTRA_ROOM
Примечание 1: Не используется в оригинальных .cut-файлах.
Примечание 2: Полученное значение не используется игрой.
ID:25 - MAX_PEDS
Определяет максимальное количество педов в катсцене (не считая педов, задействованных в катсцене)
ID:26 - MAX_CARS
Определяет максимальное количество автомобилей в катсцене (не считая автомобилей, задействованных в катсцене)
ID:27 - TIMECYCLE_MODIFIER_NAME
Используется для указания модификатора Timecycle, который придает некоторые графические эффекты игры. По умолчанию, используется модификатор e2_int. Список можно посмотреть в файле timecyclemodifiers№.dat.
Примечание: Не используется в оригинальных .cut-файлах.
Секции, игнорируемые игрой
ID:22 - PLAYER_START
ID:23 - MISSION_TEXT_NAME
Примечание: Эти два параметра используются только в .SCO, поэтому данные секции игнорируются.
Изменение cutscene
Файлы катсцен (анимированных роликов) содержатся в cuts.img архиве.
Каждая сцена состоит из трех файлов (размер каждого должен быть кратен 2048):
- .IFP – Файл анимаций;
- .CUT – Файл, в котором находится информация о персонажах, текстах и т.п.
- .DAT - Файл с параметрами камеры.
Анимацию ( .IFP ) мы трогать не будем, а рассмотрим содержание файла [color=navy]bcesa4w.cut[/color] .
Это координаты XYZ сцены.
Содержит перечень всех моделей сцены.
BCE4w12 - текстовое сопровождение ролика 5300,1450 – Время в мс после начала катсцены, когда показывать текст; время на экране в мс.
Здесь описывается применяемая анимация для каждого актера, предмета, авто сцены.
В San Andreas в сцене можно подгружать персонажи не только из cutscene.img ( csplay ), но и из gta3.img ( SOFYBU, SOFYBU ).
Для редактирования [color=navy]bcesa4w.cut[/color] блокнотом пользоваться не советую, поскольку его размер должен быть кратен 2048. Лучше прибегнуть к помощи любого Hex-редактора.
Открываем [color=navy]bcesa4w.cut[/color] в Hex-редакторе. Заменим в блоке [color=navy]model[/color]
Так же в блоке motion заменим
Открываем bcesa4w.ifp в Hex-редакторе. Ищем [color=navy]cswoozie[/color] и меняем на [color=blue]csclaude[/color], а так же [color=navy]SOFYBU[/color] на [color=blue]BFYPRO[/color].
Есть одно но - количество букв в названиях моделей должно совпадать иначе работать не будет. Сохраняем оба файла, не стоит их переименовывать, поскольку добавить новую сцену не получится. Открываем cuts.img находим bcesa4w.ifp и заменяем (не удаляем) его на тот что мы правили. Тоже проделываем и с bcesa4w.cut и bcesa4w.dat .
Число перед каждым блоком равно количеству записей в этом блоке
X , Y, Z - скорее всего это офсет
X , Y, Z – первая тройка это направление камеры( куда смотрит камера) При изменении только первых X , Y, Z наблюдал результат этих правок.
0.000000f - время работы камеры (быть может между ключевыми кадрами) каждый блок имеет одинаковый перечень показателей времени
В блоках 3 и 4 могут быть небольшие изменения, то есть в блоках 1 и 2 объявлены
то в 3 и 4 блоках между ними могут быть к примеру
Для того чтобы увеличить длительность самой сцены нужно в каждом блоке изменить в последней строке время, например:
Ну а если есть желание при этом наблюдать перемещение камеры, то в четвертом блоке добавим одну строку.
Запускаем и видим плавное перемещение камеры и актеров сцены, застывших на последнем движении анимации.
Дополнительно
Простейший скрипт для запуска катсцены:
Компилируем и запускаем игру. Нажимаем клавишу "Беседа - нет" и наблюдаем сцену.
В катсценах GTAIII/Vice City отсутствуют .CUT файлы. Все "объявления" объектов производятся скриптово. Аналогично в GTA:LCS (VCS использует новый анимационный движок).
Таким образом, "собрать" собственную катсцену вполне реально. Проблемы могут начаться непосредственно с IFP - анимированием. Зато запустить сцену с GTA:LCS вполне возможно (хоть и с некоторыми изъянами).
Туториал по изменению CJ в кат-сценах
Вы хотите пройти гта са заново, но худой Карл в кат-сценах вам не нравится? По этому учебнику вы научитесь заменять СиДжея в кат-сценах на любого педа. В учебнике много картинок, так что сложностей не возникнет.
Содержание
Описание форматов
Файл .cut загружается первым. Он содержит важную информацию, например о загружаемых моделях или субтитрах. Он поделён на несколько секций. Не каждый cut-файл требует все секции, однако рекомендуется включать все, а неиспользуемые оставить пустыми.
Эта секция содержит информацию об оффсете. Она описывает 3D-координаты точки начала проигрывания катсцены.
Также этот параметр можно вызвать опкодом 0244.
MODEL
Эта секция содержит информацию о том, какая модель, какую анимацию будет использовать
UnknInt - неизвестное число (зачастую просто 1)
name - название модели
animation - название анимации в IFP
Может содержать не более 50 значений!
EXTRACOL
Секция EXTRACOL выставлят цвет интерьера. Она аналогична опкоду 04F9.
Number - число.
Extracolours редактируются в TimeCyc.DAT.
Отображает текст внизу экрана.
starttime - время начала (в миллисекундах)
length - продолжительность (в миллисекундах)
gxt - текстовая строка в gxt
UNCOMPRESS
Декомпрессирует анимацию IFP.
PEFFECT
Добавляет эффект из effects.fxp.
REMOVE
Убирает статический объект (записанный в IPL) по специфическим координатам.
Objectname - имя объекта
X, Y, Z - координаты
ATTACH
Предназначение этой секции неизвестно. Используется редко.
MOTION
Игра игнорирует эту секцию!
Файл dat содержит в себе информацию о камерах.
Состоит из 4-х блоков:
- Блок 1: Поворот
- Блок 2: Увеличение (зум)
- Блок 3: Позиция камеры
- Блок 4: Цель камеры
Каждый блок начинается с целого числа, которое обозначает сколько далее проследует строк в блоке, а заканчивается символом ";" (без кавычек). В конце файла тоже должен стоять этот символ. Конец строки определяется запятой в конце. В строке следует три значения (кроме TimeOffset - оффсета начала времени), где последние 2 игнорируются. Поэтому 3 значения можно ставить одинаковыми.
Блок 1 - Поворот
Описывает поворот камеры под углом (в градусах) относительно целевой точки.
Блок 2 - Увеличение
Определяет фокусировку камеры.
Блок 3 - Позиция камеры
Определяет позицию камеры.
Блок 4 - Направление камеры
Определяет точку, в которую будет направлена камера.
Блок, который содержит в себе анимации.
Список катсцен в San Andreas
SCM (Опкоды)
- 0244 - SetsCutscenePosition
- 02E4 - LoadsCutsceneData
- 02E7 - StartsCutscene
- 02E8 - GetsCutsceneTime
- 02E9 - HasCutsceneReachedEnd
- 02EA - EndsCutscene
- 03B7 - ProcessCutsceneOnly
- 06B9 - IsCutsceneDataLoaded
- 08D0 - IsCutsceneSkipped
- 08F0 - SetsCutsceneModelTexture
Improved SA Default Cars
Этот пак включает в себя ВСЕ транспортные средства в игре с исправленными недочетами.Особенности:- Исправлены баги с альфой, пропавшими текстурами и прочим;- Восстановлены отражения у Sadler;- Новый интерьер у Coach;- Колеса теперь нормальной округло.
Читайте также: