Конвертирование персонажа в SA
Материал из GTAModding.ru
Версия от 04:33, 5 января 2009; Seemann (обсуждение | вклад)
В этой статье мы будем учиться менять модель персонажа в СА на какую-либо другую. Конечно точно вам сказать не могу, но мне кажется этот способ действительно уникален, т.к тем временем как американцы ломают мозги над различными модификаторами, и присваивают кости к определённым частям тела, мы благодаря моей технологии можем конвертировать любую модель в СА буквально за 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 под голову игрока, сделайте примерно так как на скринах:
Даже перевернув и "совместив" наши модели мы всё равно видим что расположение частей тела игрока из VC существенно отличается от модели из SA, сейчас мы и будем исправлять эту проблему. Это мы сделаем с помощью "привязанной" к нашей модели игрока, скелета просто перемещая и поворачивая его "кости". Для начала изменим расположение рук, у нашего игрока они повёрнуты на 90 градусов, а у модели из СА как видим на 45 градусов. Выбираем кость под названием "LUpperArm" и поворачиваем её с помощью инструмента "Select and Rotate". Мы должны поворачивать кость по оси Y, как видим, вместе с тем как поворачивается данная кость, поворачивается и сама рука, "привязанная" к данной кости. Поворачиваем руку, подгоняя её к расположению руки claude. Но как мы видим само плечо игрока явно нужно немного опустить, что-бы рука была более схожа с расположением руки claude, для этого кость "Bip01 L Clavicle" опускаем немного вниз инструментом "Select and Move" по оси Y. Если после этого рука немного не совпала с расположением руки claude, просто продолжайте поворачивать кость "LUpperArm". Вот ещё беда- рука нашего игрока явно короче руки claude, но и это можно так-же легко исправить перемещением кости "LForearm" тем самым немного "растянем" руку игрока, после локтя, подгоняя её под руку claude. Переходим теперь на вид Top, там мы видим что рука игрока расположена немного дальше руки claude, просто передвигаем кость "LUpperArm" по оси X немного левее, вобщем подгоняем под расположение руки 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, что мы уже делали, только в данном случае модели поменялись местами. Сверяемся со скрином:
Итак, конец близок, выбираем модель claude (Skin_Mesh), в списке применённых к ней модификаторов(справа) выберем Editable Mesh(только не в коем случае не делайте Convert to> Editable mesh" !!!) В открывшемся "свитке" модификатора нажмём на "Attach" (присоединить), и затем присоединяем модель lcaude к модели игрока из VC, просто направив на неё и нажав ЛКМ, не заостряем внимание на появившемся меню "Attach Options", и нажимаем ok.
Снова вернёмся к модификатору 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.