Сегодня рассмотрим как конвертировать модель педа из GTA San Andreas в GTA Vice City. Да, именно из более новой игры (если конечно так можно выразиться) в более старую. Для начала скачаем и запустим программу Ped Editor. При первом запуске укажем путь к папке с San Andreas.
Определимся с выбором персонажа и запомним его название. Я остановил свой взор на SWFOPRO.
Теперь необходимо распаковать этот файл из архива с моделями. Откроем файл gta3.img, что находится в папке C:\Games\GTA San Andreas\models (у вас игра может быть установлена в другой каталог) при помощи программы Img Tool. Нажмем Edit>Find и впишем название нашей модели.
Программа найдет нашу модель в списке, нажмем Commands>Extract и извлечем файлы swfopro.dff и swfopro.txd в любую папку, к примеру C:\test.
Теперь зайдем в папку C:\Games\GTA Vice City \models (либо в ту, в которую вы установили игру), откроем файл gta3.img, и уже описанным выше образом найдем и извлечем файл player.dff в ту же папку - это модель главного героя в Vice City.
Почему именно модель главного героя? Всё просто, в Vice City модели педов и главного героя не имеют различий по структуре (в cut сценах используется другая модель), таким образом, нам проще будет тестировать наш мод в дальнейшем. Итак, почему нельзя просто взять модель из одной игры и использовать в другой? Дело в том, что San Andreas использует обновленный формат dff файлов моделей, равно как и большинство основных форматов (txd, col, img), поэтому Vice City просто не сможет прочитать файл. Еще одним отличаем является наличие в San Andreas дополнительных костей у персонажей. Откроем 3ds MAX. Скрипты от KAMа конечно должны быть установлены. Если их нет, то качаем и устанавливаем. Для установки необходимо переместить содержимое папки Scripts архива в C:\Program Files\Autodesk\3ds Max 2009\Scripts, а содержимое паки maps архива в C:\Program Files\Autodesk\3ds Max 2009\maps.
Пути конечно же могут отличаться в зависимости от версии 3ds MAX. Хочу сразу предупредить, что в 3ds MAX 2013 скрипты работают некорректно, поэтому я буду использовать версию 2009. Запускаем MAX и жмем на правой панели кнопку DFF IO (если кнопки нет, значит скрипты не установлены). В появившемся окне раскроем свиток “Import DFF” и нажмем кнопку “A” (иначе модель загрузится без привязки к костям, что неприемлемо). Загрузим модель игрока нажав кнопку “Import DFF” и указав путь к файлу player.dff.
После загрузки модели выделим ее вместе с костями кнопкой “select and Move”и сместим в сторону.
Эта модель будет эталонная, на нее будем ориентироваться. Еще раз нажмем кнопку “Import DFF” и загрузим модель, которую предстоит переделать.
Первое, что бросается в глаза это то, что модели по-разному ориентированы в пространстве, второе, что привлекает внимание это разная поза. Ни то, ни другое не является критичным, так как педы в стандартной позе в игре не появляются, они всегда используют анимацию. Включив для удобства привязку по углам (клавиша “A” на клавиатуре) развернем эталонную модель и поставим рядом с моделью, которую будем редактировать.
По идее нужно бы привязать сетку второго педа к косям первого, но это займет много времени, особенно если вы этого никогда не делали. Упростим себе работу. Так как вторая модель уже имеет привязку, то мы просто удалим лишние кости и привяжем освободившиеся вертексы (точки, вершины) к соседним костям. Для удобства нажмем F3 – это действие переключит вьюпорт в режим Wireframe и мы сможем видеть меш и кости одновременно.
Выделим и удалим следующие кости: R Finger01, L Finger01 (пальцы), Belly (живот), R breast, L breast (грудь), R Brow, L Brow (брови) и Jaw (челюсть).
Теперь выделим кость с названием Root (так называемая рутовая кость, родительский элемент всего скелета) и отодвинем в сторону. Вслед за ней сдвинутся и все остальные кости, а также меш. Останутся только те вертексы, которые были привязаны к тем костям, что мы удалили. Сейчас мы их по-быстренькому привяжем.
Выделим меш, раскроем модификатор “Skin”, нажмем кнопку “Edit Envelopes” и поставим галочку “Vertices”.
Теперь выберем в списке костей кость “Head”, выделим вертекты челюсти и нажмем кнопку с гаечным ключем (Weight Tool). Появится окошко, в котором нужно нажать кнопку со значением “1”.
Как видим челюсть встала на место. Тоже самое проделываем с костями “Spine1” (к ней мы привязываем вертексы груди) и “L Finger” (привязываем пальцы левой руки). Пальцы правой руки почему-то сами встали на место, но нам же лучше. Отжимаем кнопку “Edit Envelopes” и возвращаем рутовую кость на место (0,0 по оси Y). Переименуем меш в Root.
На первый взгляд всё готово, но если мы сейчас попытаемся экспортировать модель, то появится окно с ошибкой. Дело в том, что у каждой кости (и у меша в том числе) есть параметры. Посмотреть и изменить их можно кликнув правой кнопкой по объекту и выбрав пункт “Object Properties”и перейдя во вкладку “User Defined”.
Скопируем параметры костей и меша эталонной модели в соответствующие параметры костей и меша редактируемой модели. Это займет некоторое время, но эта процедура в миллион раз проще чем скинить (привязывать модель к костям) модель заново. Чтобы не запутаться, можно скрывать те кости, параметры которых мы изменили, кликнув правой кнопкой по выделенному объекту и нажав “Hide Selection”.
После того как скопируем параметры меша и всех костей кликнем правой кнопкой мыши по вьюпорту и выберем “Unhide All”. Спрятанные объекты снова появятся. Удалим эталонную модель.
Теперь можно экспортировать. Выделим меш, нажмем кнопку “VC” , нажмем “Bones/Skin Export” и сохраним в ту же папку, перезаписав файл player.dff.
Подготовим текстуру. Переименуем swfopro.txd в player.txd и откроем при помощи программы TXD Workshop. Выберем версию “GTA VC” и нажмем “Save TXD”.
Нажмем Export>BMP и сохраним под названием player.bmp в папку C:\Games\GTA Vice City\models\generic (ну или где у вас там игра) подтвердив замену.
Осталось только заменить player.dff и player.txd в gta3.img. Откроем для этого gta3.img программой Img Tool, нажмем Edit>Find и впишем player.
Программа найдет нашу модель в списке. Удалим по очереди player.dff и player.txd командой Commands>Delete
и так же по очереди добавим командой Commands>Add файлы player.dff и player.txd из нашей папки.
Ребилдним архив.
Теперь просто переименовав файлы player.dff и player.txd можно заменить ими модель любого педа в игре. К примеру, назвав их в cop.dff и cop.txd и заменив ими соответствующие модели в gta3.img вы поменяете модель полицейского. Замена текстуры в папке models\generic требовалась только для модели player. Так мы совершенно не заморачиваясь с модификатором Skin конвертировали модель из San Andreas в Vice City.
P.S. В ролике выставляйте качество получше и разворачивайте на весь экран, а то буквы сильно мелкие.
Определимся с выбором персонажа и запомним его название. Я остановил свой взор на SWFOPRO.
Теперь необходимо распаковать этот файл из архива с моделями. Откроем файл gta3.img, что находится в папке C:\Games\GTA San Andreas\models (у вас игра может быть установлена в другой каталог) при помощи программы Img Tool. Нажмем Edit>Find и впишем название нашей модели.
Программа найдет нашу модель в списке, нажмем Commands>Extract и извлечем файлы swfopro.dff и swfopro.txd в любую папку, к примеру C:\test.
Теперь зайдем в папку C:\Games\GTA Vice City \models (либо в ту, в которую вы установили игру), откроем файл gta3.img, и уже описанным выше образом найдем и извлечем файл player.dff в ту же папку - это модель главного героя в Vice City.
Почему именно модель главного героя? Всё просто, в Vice City модели педов и главного героя не имеют различий по структуре (в cut сценах используется другая модель), таким образом, нам проще будет тестировать наш мод в дальнейшем. Итак, почему нельзя просто взять модель из одной игры и использовать в другой? Дело в том, что San Andreas использует обновленный формат dff файлов моделей, равно как и большинство основных форматов (txd, col, img), поэтому Vice City просто не сможет прочитать файл. Еще одним отличаем является наличие в San Andreas дополнительных костей у персонажей. Откроем 3ds MAX. Скрипты от KAMа конечно должны быть установлены. Если их нет, то качаем и устанавливаем. Для установки необходимо переместить содержимое папки Scripts архива в C:\Program Files\Autodesk\3ds Max 2009\Scripts, а содержимое паки maps архива в C:\Program Files\Autodesk\3ds Max 2009\maps.
Пути конечно же могут отличаться в зависимости от версии 3ds MAX. Хочу сразу предупредить, что в 3ds MAX 2013 скрипты работают некорректно, поэтому я буду использовать версию 2009. Запускаем MAX и жмем на правой панели кнопку DFF IO (если кнопки нет, значит скрипты не установлены). В появившемся окне раскроем свиток “Import DFF” и нажмем кнопку “A” (иначе модель загрузится без привязки к костям, что неприемлемо). Загрузим модель игрока нажав кнопку “Import DFF” и указав путь к файлу player.dff.
После загрузки модели выделим ее вместе с костями кнопкой “select and Move”и сместим в сторону.
Эта модель будет эталонная, на нее будем ориентироваться. Еще раз нажмем кнопку “Import DFF” и загрузим модель, которую предстоит переделать.
Первое, что бросается в глаза это то, что модели по-разному ориентированы в пространстве, второе, что привлекает внимание это разная поза. Ни то, ни другое не является критичным, так как педы в стандартной позе в игре не появляются, они всегда используют анимацию. Включив для удобства привязку по углам (клавиша “A” на клавиатуре) развернем эталонную модель и поставим рядом с моделью, которую будем редактировать.
По идее нужно бы привязать сетку второго педа к косям первого, но это займет много времени, особенно если вы этого никогда не делали. Упростим себе работу. Так как вторая модель уже имеет привязку, то мы просто удалим лишние кости и привяжем освободившиеся вертексы (точки, вершины) к соседним костям. Для удобства нажмем F3 – это действие переключит вьюпорт в режим Wireframe и мы сможем видеть меш и кости одновременно.
Выделим и удалим следующие кости: R Finger01, L Finger01 (пальцы), Belly (живот), R breast, L breast (грудь), R Brow, L Brow (брови) и Jaw (челюсть).
Теперь выделим кость с названием Root (так называемая рутовая кость, родительский элемент всего скелета) и отодвинем в сторону. Вслед за ней сдвинутся и все остальные кости, а также меш. Останутся только те вертексы, которые были привязаны к тем костям, что мы удалили. Сейчас мы их по-быстренькому привяжем.
Выделим меш, раскроем модификатор “Skin”, нажмем кнопку “Edit Envelopes” и поставим галочку “Vertices”.
Теперь выберем в списке костей кость “Head”, выделим вертекты челюсти и нажмем кнопку с гаечным ключем (Weight Tool). Появится окошко, в котором нужно нажать кнопку со значением “1”.
Как видим челюсть встала на место. Тоже самое проделываем с костями “Spine1” (к ней мы привязываем вертексы груди) и “L Finger” (привязываем пальцы левой руки). Пальцы правой руки почему-то сами встали на место, но нам же лучше. Отжимаем кнопку “Edit Envelopes” и возвращаем рутовую кость на место (0,0 по оси Y). Переименуем меш в Root.
На первый взгляд всё готово, но если мы сейчас попытаемся экспортировать модель, то появится окно с ошибкой. Дело в том, что у каждой кости (и у меша в том числе) есть параметры. Посмотреть и изменить их можно кликнув правой кнопкой по объекту и выбрав пункт “Object Properties”и перейдя во вкладку “User Defined”.
Скопируем параметры костей и меша эталонной модели в соответствующие параметры костей и меша редактируемой модели. Это займет некоторое время, но эта процедура в миллион раз проще чем скинить (привязывать модель к костям) модель заново. Чтобы не запутаться, можно скрывать те кости, параметры которых мы изменили, кликнув правой кнопкой по выделенному объекту и нажав “Hide Selection”.
После того как скопируем параметры меша и всех костей кликнем правой кнопкой мыши по вьюпорту и выберем “Unhide All”. Спрятанные объекты снова появятся. Удалим эталонную модель.
Теперь можно экспортировать. Выделим меш, нажмем кнопку “VC” , нажмем “Bones/Skin Export” и сохраним в ту же папку, перезаписав файл player.dff.
Подготовим текстуру. Переименуем swfopro.txd в player.txd и откроем при помощи программы TXD Workshop. Выберем версию “GTA VC” и нажмем “Save TXD”.
Нажмем Export>BMP и сохраним под названием player.bmp в папку C:\Games\GTA Vice City\models\generic (ну или где у вас там игра) подтвердив замену.
Осталось только заменить player.dff и player.txd в gta3.img. Откроем для этого gta3.img программой Img Tool, нажмем Edit>Find и впишем player.
Программа найдет нашу модель в списке. Удалим по очереди player.dff и player.txd командой Commands>Delete
и так же по очереди добавим командой Commands>Add файлы player.dff и player.txd из нашей папки.
Ребилдним архив.
Теперь просто переименовав файлы player.dff и player.txd можно заменить ими модель любого педа в игре. К примеру, назвав их в cop.dff и cop.txd и заменив ими соответствующие модели в gta3.img вы поменяете модель полицейского. Замена текстуры в папке models\generic требовалась только для модели player. Так мы совершенно не заморачиваясь с модификатором Skin конвертировали модель из San Andreas в Vice City.
P.S. В ролике выставляйте качество получше и разворачивайте на весь экран, а то буквы сильно мелкие.
Комментарии
Скорей всего у меша сдвинут пивот. Залей модель на обменник и скинь ссылку в комментах, тогда я постараюсь сказать конкретней.
В моделе слетел скининг ступней. Незаскиненные вершины нужно либо назначить к костям, либо заново экспортировать модель. Закинь на обменник исходную модель, так как непонятно на каком этапе исказились данные. Кстати с рутовой костью такие манипуляции лучше не делать, так как из-за этого могут быть баги.
Скорей всего с ногами ты накосячил когда прикреплял челюсть и пальцы к голове и кистям рук соответственно, так как я конвертнул твою модель и всё получилось идеально. За исключением того, что модель чуть-чуть не касается земли, но это почти не заметно. Вот файл:
http://naphtizin.net/files/player.dff
RSS лента комментариев этой записи