Как сделать катсцену в гта са

Обновлено: 07.07.2024

В этой статье мы будем учиться менять модель персонажа в СА на какую-либо другую. Конечно точно вам сказать не могу, но мне кажется этот способ действительно уникален, т.к тем временем как американцы ломают мозги над различными модификаторами, и присваивают кости к определённым частям тела, мы благодаря моей технологии можем конвертировать любую модель в СА буквально за 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, все текстуры должны активироваться.

У вас должно получиться тоже самое:

ConPedSa1.jpg

Теперь конвертируем модель в editable mesh (щёлкаем ПКМ по модели, затем в открывшемся меню Convert to > Editable Mesh). При этом модификатор skin удаляется и скелет больше не привязан к модели, но не беспокойтесь нам это и нужно. Теперь мы должны удалить весь скелет модели и оставить только саму модель персонажа(Skin_mesh) для удаления скелета удобнее использовать удаление по имени, для этого открываем Edit> Select By> Name, в открывшемся меню выбираем всё кроме Skin_Mesh:

ConPedSa2.jpg

Нажимаем select, и мы можем видеть что всё кроме самой модели игрока выбрано, осталось лишь стереть это, нажимаем на клавиатуре "Delete". Всё что у нас осталось будет служить неким "макетом", позже поймёте. Советую вам сохранить эту сцену, т.к проделывать эту операцию вам в дальнейшем больше не придётся, и намного удобнее будет открывать созданную нами сцену, дадим сохранённой сцене имя maket.max. Пока нам эта сцена не пригодится, и мы создаём новую (File > New > New All). Включаем уже знакомый нам плагин "IFP IO" но уже импортируем модель игрока из VC, в нашем случае - player2.dff, аналогично активируем текстуры. Теперь, не трогая импортированного нами игрока, не меняя и не удаляя никаких модификаторов, мы должны импортировать в нашу сцену, ранее сохранённую - maket.max. Нажимаем на File > Merge, и выбираем нужную нам сцену, в меню нам ничего не остаётся, как выбрать Skin_mesh, и нажать OK. У вас должно получится примерно как на скрине:

ConPedSa3.jpg

На следующем этапе мы должны немного "подогнать" нашу модель из VC под габариты модели из SA. Для начала перевернём модель и скелет player2, делаем следующее: "прячем" модель claude (ПКМ на модели, в появившемся меню выбираем "Hide selection"). Модель "спрятана", теперь мы должны выбрать всё что у нас осталось, а это сама модель игрока и её скелет, для этого нажмём комбинацию клавиш Ctrl+A. На верхней панели инструментов выберем "Select and Rotate", и нажимаем на этот инструмент правой кнопкой мыши. В появившемся окошке мы должны повернуть модель в координатах Y и Z, для этого в оси Y мы ставим -90, а в Z поставим 90. Модель перевёрнута, теперь спрятанную модель claude мы смело открываем (жмём ПКМ по любому видовому окну, и в появившемся окне выбираем "Unhide All" Смотрим результат на скрине:

ConPedSa4.jpg

Продолжим "подгонять" нашу модель игрока. Для этого мы должны переместить("select and move" на верхней панели инструментов) модель claude и как можно точнее "вставить" его в модель нашего игрока. Для этого вы хотя бы должны подогнать голову claude под голову игрока, сделайте примерно так как на скринах:

ConPedSa5.jpg

ConPedSa6.jpg

Переходим к ногам, как видим они тоже немного не схожи с расположением ног claude. Но это уже для нас не проблема т.к мы уже научились работать с костями модели. Просто немного поворачиваем кость "L Thigh" по оси Y, и "дотягиваем" ноги до ног claude, перемещая кость "L Calf", немного повернём и ботинки игрока, используя кость "L Foot". Сверьтесь с моим скрином для продолжения работы:

ConPedSa7.jpg

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

Теперь модель claude можно смело удалять, она нам больше не понадобится. Затем щёлкаем на модели игрока из VC правой кнопкой мыши, и в появившемся окне нажимаем Convert To> Editable Mesh, тем самым мы "отделяем" скелет от нашей модели, осталось только удалить сам скелет, для этого выбираем весь скелет кроме самой модели (Edit> Select By> Name), и выбираем все части скелета кроме модели игрока под названием Root(не спутайте с костью, если что нажимайте "Undo"(откат), находящийся в панели Edit). У вас должно получится примерно как на скрине:

ConPedSa8.jpg

Советую вам сохранить получившуюся сцену в файл player2.max. И снова открываем плагин IFP IO и снова импортируем в нашу сцену(player2.max) модель claude(claude.dff). Не меняем, и не удаляем модификатор skin модели claude. Теперь мы должны переместить, тем самым подогнать нашего игрока, как-бы вставив его в модель claude, что мы уже делали, только в данном случае модели поменялись местами. Сверяемся со скрином:

ConPedSa9.jpg

Снова вернёмся к модификатору Editable mesh выбрав его из списка модификаторов, а именно на уровень редактирования полигонов(Polygon). Нашей задачей сейчас является просто удалить модель claude, но модель игрока оставить неизменной, что-бы выделить все полигоны модели claude, выделите хотя-бы один полигон этой модели, затем переходим в "свиток" Surface Properties, и там же в окошке Material выберем "No Name - (1)". Тем самым мы выбрали все полигоны модели claude, теперь просто удаляем их (Delete), тем самым у нас остаётся только модель игрока из VC.

Снова выбираем модификатор Skin. Вы не поверите но мы уже привязали скелет персонажа из СА к скелету игрока из VC, этого мы так долго и добивались, для проверки можете просто нажать на "Edit Envelopes" в модификаторе "skin" и в списке костей просто выбрать нужную вам кость, вы увидите что данная часть тела окрасится в определённый цвет, и будут показаны вершины модели. привязанной к данной кости.

ConPedSa10.jpg

Отжимаем кнопку "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".

ConPedSa11.jpg

Всё, теперь у нас есть и модель персонажа dff, и текстура txd, и что-же нам остаётся. да просто удалить из img архива оригинальные файлы данного персонажа, и добавить туда наши, только-что созданные.

ConPedSa12.jpg

Итак, в этой статье я как можно лучше "разжевал" вам эту операцию конвертирования модели в СА, в данном случае я использовал модель из 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):

  1. .IFP – Файл анимаций;
  2. .CUT – Файл, в котором находится информация о персонажах, текстах и т.п.
  3. .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 использует новый анимационный движок).



Результат конвертирования катсцены из GTA:LCS в GTA:SA. На данном скриншоте - проект GTA: Stories.

Таким образом, "собрать" собственную катсцену вполне реально. Проблемы могут начаться непосредственно с 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;- Колеса теперь нормальной округло.

Читайте также: