В этой статье я расскажу о том как заменить одну модель в игре на другую. Примечательно, что та модель которую мы будем использовать для замены уже присутствует в игре.
Честно говоря я не планировал писать эту статью, но один мой знакомый - посетитель ресурса под ником empire425, задал мне в личку вопрос: "Как заменить модель самолета на НЛО", а я решил ответить в виде статьи на сайте, так как этот вопрос затрагивает самые основы моддинга GTA.
Статья рассчитана на людей никогда ранее не бравших шашки в руки занимавшихся моддингом, так что постараюсь всё объяснить как можно подробней и с иллюстрациями. Если меня вдруг будет нести - задавайте вопросы в комментариях.
Начнем с того, что определим названия моделей с которыми будем проводить манипуляции. Загрузим с сайта программу для просмотра моделей транспорта, она называется GGMM (GTA Garage Mod Manager). Распакуем содержимое архива в папку с игрой и запустим GGMM.exe. Пролистав список моделей найдем наш самолет. Он называется "airtrain".
Далее запускаем программу Img Tool, если ее у вас нет, то необходимо ее скачать. В программе жмем File>Open и указываем путь к архиву с моделями gta3.img (у меня это C:\Games\GTA Vice City\models\ gta3.img). После того как список моделей загрузится нажимаем Tools>Sort>Name,
тем самым мы отсортировали список по имени. Далее нажимаем Edit>Find
и в появившемся окошке вписываем airtrain и жмем кнопку "Найти далее". Программа найдет два файла с таким именем - airtrain.dff и airtrain.txd. Это модель и текстура соответственно. Выделим их по очереди и удалим нажатием Commands>Delete. В программе есть баг - при удалении сразу нескольких файлов она почему-то удаляет лишние файлы, а некоторые нужные оставляет. Так, что будьте внимательны.
Теперь нам надо узнать название летающей тарелки, но она является не транспортом, а частью карты. Значит нужно запустить программу Map Editor (MED). Если Med'a нет в наличии, то качаем его. Подробно о работе с этой программой я писал в статье "Работа с Map Editor". Там я указывал на некоторые ее баги и как их обходить. Напомню лишь о том, что программа не терпит русских путей (типа: C:\Document and settings\Вася\Рабочий стол\лютая прога для замены домов), видеокарт Radeon и о чем свидетельствуют отзывы на форумах запускается не у всех пользователей. Но если вы обошли все препятствия и запустили MED, то указываем при первом старте путь к игре и идем во вкладку Scene. Если у вас больше двух гигабайт оперативки и нормальная видеокарта, то смело можете выбрать все галочки, если же нет, то выбираем только DATA/MAPS/cisland/cisland.IPL и жмем кнопку Render.
Загрузится либо вся карта, либо только киностудия, в зависимости от того, что вы выбрали. В любом случае наша цель -киностудия и используя клавиши WSAD и мышку летим к ней. Находим летающую тарелку, дважды кликаем по ней мышкой чтобы она выделилась красным цветом и нажимаем кнопку IDE (не вкладку, а кнопку).
Появится окошко Item Definition c подробными параметрами модели.
Нас интересуют поля Model Name и Texture Name. Props_group1 это имя модели, ci_studio5 - имя текстуры. Запомним их или запишем чтобы не забыть. Map Editor теперь можно закрыть. Вернемся в программу Img Tool. Командой Edit>Find найдем модель props_group1.dff и сохраним ее на рабочий стол командой Commands>Extract. Тоже самое проделаем с текстурой ci_studio5.txd.
В итоге у нас на рабочем столе появилось два файла: props_group1.dff и ci_studio5.txd. Переименуем их в airtrain.dff и airtrain.txd соответственно. В Img Tool нажмем Commands>Add и укажем свежепереименованные файлы.
Тем самым мы добавили в архив переименованные файлы. Жмем Commands>Rebuild Archive и ждем пока пересобирется архив.
Если в двух словах, то мы узнали имена моделей и текстур самолета и летающей тарелки, удалили самолет, скопировали файлы тарелки и назвали их именами самолета (точнее сказать экспортировали, переименовали и снова импортировали).
Запускаем игру, едем в аэропорт и разглядываем садящиеся/взлетающие самолеты. Теперь вместо них летающая тарелка. Только есть одна досадная мелочь - к тарелке приклеены какие-то будки.
Это из-за того, что разработчики посклеивали многие неотносящиеся друг к другу объекты в один. А это значит, что нам предстоит это исправить. Всё, что нам нужно это открыть модель в 3d редакторе и удалить всё лишнее. Есть два варианта: редактировать модель в Zmodeler или в 3DS MAX.
Что выбрать решайте сами. Многие модеры делают моды в Zmodeler, профессиональные моделлеры работают же в 3DS MAX и вообще не понимают как в Zmodeler'е можно что-то замоделить. Споры на эту тему были и будут всегда. И не удивительно, так как 3DS MAX это сложный 3d пакет для моделирования, анимации и визуализации, Zmodeler более простая и заточенная под моддинг программа для создания и редактирования моделей из различных игр. Всё зависит от того, чем для вас является 3D моделирование - небольшим увлечением или профессией.
В любом случае я рассмотрю как вариант с Zmodeler'ом так и с 3DS MAX'ом.
Перед тем как начать редактирование создайте любую папку (у меня это будет C:/airtrain) и переместите туда ранее сохраненные и переименованные модели airtrain.dff и airtrain.txd. Далее распакуем все текстуры из файла airtrain.txd в папку C:/airtrain. Сделать это можно при помощи программы TXD Workshop. Если у вас ее нет, то ее нужно скачать и запустить. В окне программы нажать File>Open и указать путь к airtrain.txd.
После того как текстуры загрузятся нужно нажать Export>Export all textures to tga images и выбрать папку C:\airtrain.
Через несколько секунд все текстуры сохранятся в выбранную папку. Это нужно для того, чтобы при импорте модели все текстуры подгрузились в редактор.
Если вы выбрали Zmodeler , то качаем его (если у вас его нет) и запускаем. Откроется окно с четырьмя проекциями.
Для импорта модели нажмем кнопку Import и выберем airtrain.dff.
После того как модель загрузится, нажмем на кнопку со стрелочкой в проеции Left , этим действием мы развернем окно проекции на весь экран.
Далее перейдем в режим редактирования треугольников и сделаем одиночный клик левой кнопкой мыши по модели, после чего подсветятся красными точками все треугольники модели.
Нажмем Select>Quadr и выделим правой кнопкой мыши ненужные части модели.
Далее жмем Modify>Delete, нажимаем кнопку SELECT MODE чтобы удалились все выбранные треугольники, а не один и кликаем левой кнопкой мыши по модели.
Всё, теперь ненужные элементы удалены.
Теперь можно жать кнопку Export и сохранять.
В появившемся окне выберем тип файла GTA San Andreas DFF и версию Vice City. Сохраним файл поверх уже имеющегося.
Обратите внимание, что имя файла при сохранении должно быть точно таким как в списке объектов, иначе Zmodeler сохранит пустой файл. Также если не распаковать текстуры в папку с моделью, то Zmodeler сохранит "белую" модель без текстур.
Теперь рассмотрим как сделать тоже самое, но только в 3DS MAX.
Для начала скачаем скрипты импорта/экспорта DFF моделей от Kam'а. Распакуем содержимое архива в папку с 3DS MAX, чтобы содержимое папки maps оказалось в папке C:\Program Files\Autodesk\3ds Max 2009\maps, а содержимое папки scripts в C:\Program Files\Autodesk\3ds Max 2009\scripts. У меня 3DS MAX установлен в папку C:\Program Files\Autodesk, у вас это может быть другая папка, так же у вас может быть версия МАКСА отличная от 2009.
Запускаем 3DS MAX и видим похожее окно с четырьмя проекциями:
С правой стороны мы видим панель со скриптами от Kam'а.
Если у вас по каким-то причинам она не открылась при старте автоматически, либо в процессе работы вы забыли где она находится, то вернуться к ней можно нажав вкладку Utilities (изображение молотка).
Нажимаем кнопку DFF IO
и у нас появляется панель импорта/экспорта моделей.
Нажмем кнопку Import DFF во вкладке Import и укажем путь к нашей модели airtrain.dff.
После того как модель загрузится сделаем клик по проекции в которой будем работать (я выбрал Left) и нажмем в правом нижнем углу кнопку Maximize Viewport Toggle тем самым развернув окно проекции на весь экран.
Сделаем клик по объекту и перейдем во вкладку Modify и нажмем кнопку редактирования полигонов.
Выделим левой кнопкой мыши ненужные элементы и нажмем кнопку Delete на клавиатуре.
Всё, теперь можно экспортировать. Во вкладке Export DFF жмем кнопку VC, ставим галочку Skip COL и жмем кнопку Export DFF. Сохраняем вместо airtrain.dff.
Я описал два способа простейшего редактирования 3d модели в Zmodeler и 3DS MAX. Какой из них использовать решать вам, лично мне ближе второй.
Теперь снова откроем IMG Tool и заменим файл airtrain.dff.
Edit>Find, в появившемся окошке вписываем airtrain.dff и жмем кнопку "Найти далее".
Функция Replace работает некорректно, так что жмем сперва Commands>Delete,
затем Commands>Add и указываем путь к файлу.
Незабываем ребилднуть архив (Commands>Rebuild Archive).
Запускаем игру и едем в аэропорт любоваться взлетом и посадкой летающих тарелок, но на нашем пути встает еще один баг:
Мы заменили модель самолета, но его lod остался прежним.
LOD - это оптимизированная, низкополигональная копия модели, которая заменяет основную на дальних планах, тем самым значительно экономя ресурсы вашего компьютера.
Lod самолета называется air_vlo.DFF и расположен в папке C:\Games\GTA Vice City\models\generic. Его месторасположение я определил исключительно методом дедукции, так как самолет является исключением среди моделей (не статичен как объекты карты и не является транспортом).
По хорошему нужно бы замоделить lod, но мы этого делать не будем чтобы не усложнять урок, да и модель сама по себе достаточно лоупольная. Так, что мы просто скопируем ранее отредактированный airtrain.dff и назовем его air_vlo.DFF. Но заменять его еще рано. Если сейчас скопировать его в папку C:\Games\GTA Vice City\models\generic, то игра не запустится. Произойдет это из-за неправильного названия модели внутри файла. Чтобы это исправить нужно отредактировать air_vlo.DFF в Zmodeler или 3DS MAX.
Для любителей Zmodeler:
Запускаем Zmodeler, жмем кнопку Import, указываем air_vlo.DFF.
Раскроем список кликом по плюсику и кликнем по объекту props_group1 чтобы его переименовать.
Введем новое название - airtrain_vlo.
Жмем кнопку экспорта и сохраняем файл под названием air_vlo.DFF в папку C:\Games\GTA Vice City\models\generic подтвердив замену.
Не забываем указать Vice City в версии dff.
Для тех кто любит MAX:
Запускаем 3DS Max и жмем кнопку DFF IO.
Жмем кнопку Import DFF во вкладке Import и укажем путь к нашей модели air_vlo.DFF.
После загрузки модели делаем по ней одиночный клик и меняем название props_group1 на airtrain_vlo.
Во вкладке Export DFF жмем кнопку VC, ставим галочку Skip COL и жмем кнопку Export DFF. Сохраняем под названием air_vlo.DFF в папку C:\Games\GTA Vice City\models\generic и подтверждаем замену.
Остался последний штрих - добавить используемые текстуры в файл generic.txd, что находится в папке C:\Games\GTA Vice City\models. Сделать это необходимо потому, что lod самолета является отдельным файлом и находится в папке C:\Games\GTA Vice City\models\generic, то есть принадлежит к группе "общих" файлов. Для чего рокстаровцем понадобилось делать три лода (два из них по умолчанию находятся в файле airtrain.dff) для самолета, причем один из них вынести в отдельный файл для меня осталось загадкой. Да и в принципе это уже не важно. Просто откроем редактор материалов в занозе или максе и посмотрим имена используемых текстур.
В Zmodeler'e редактор материалов открывается кликом по значку с шариком:
И выглядит вот так:
Мы видим в нем два материала: один стандартный - Default Material, второй prop_ufo c текстурой prop_ufo.tga. Именно эту текстуру нам и нужно будет скопировать в generic.txd.
В 3DS Max'e редактор материалов вызывается кликом по значку с шариками либо клавишей M на клавиатуре.
После того как он откроется нажмем на иконку с пипеткой.
Кликнем пипеткой по модели.
После этого в редакторе материалов отобразится искомый материал, и мы увидим название текстуры.
Теперь откроем TXD Workshop и импортируем файл generic.txd нажав кнопку Open и указав к нему путь (C:\Games\GTA Vice City\models\ generic.txd).
Кликнем по последней текстуре и нажмем Image>Duplicate.
Появится копия текстуры. Сделаем по ней двойной клик, исправим название на prop_ufo и нажмем кнопку OK.
Далее жмем кнопку Import и указываем путь к prop_ufo.tga (в самом начале мы распаковывали все текстуры в папку C:\airtrain).
Сохраняем.
Всё. Мы счастливы.
Не смотря на обилие букв и картинок я рассказал как сделать несколько простых шагов: найти модель НЛО, отредактировать ее в редакторе и заменить ею самолет, попутно сделав lod.
Конечно по идее можно было еще и удалить лишние текстуры из airtrain.txd, но это не принципиально.
Комментарии
Ну для начала тебе нужны сами модели и текстуры к ним. Модели необходимо экспортировать в ".dff" формат, текстуры в ".txd". Потом залить их в gta3.img и либо расставить их при помощи Map Editor, либо прописать вручную их координаты в файлах ".ipl" и "ide". Добавление собственного объекта на карту я подробно рассмотрел в статье "Работа с Map Editor". Там я вставил билборд с изображением Красти в GTA3, GTA Vice City и GTA San Andreas.
В какой программе экспортировал dff? Если в Zmodeler 1.7, то расширение нужно прописывать большими буквами (.DFF), если в Zmodeler 2, то имя при сохранении должно совпадать с именем главного объекта в иерархии включая расширение.
я не очень подробно
1) я отрыл скрипт и выделил модель
2) я сохранил
3) открываю а там ничего нет
http://s017.radikal.ru/i435/1206/f8/4d73c66ea153.png: http://www.radikal.ru
Должно работать. Проделал все то же на своем компьютере:
согласны нам не помешают еще лишние руки !!!
Распаковать все модели и текстуры в одну папку и загрузить в 3ds max при помощи скриптов от KAM'а.
Не разводи панику.
Для начала убей русификатор в 3ds max. Он тебе ничем не поможет, а в будущем только навредит.
RSS лента комментариев этой записи