на главную
об игре
Mafia 2 23.08.2010

Урок по конвертации автомобилей

И так вышла новая версия ZModeler 3 (3.1.3) в которой доступна для работы Mafia 2.
Урок рассчитан на опытных пользователей,поэтому в нем будет описаны советы по конвертации автомобилей в mafia 2.

Введение
Для конвертации машин в mafia 2 , вам потребуется обзавестись програмами:
Photoshop , SDS Tool GUI , ExpSDS и Material_Converter
Машины старайтесь искать таким образом, чтобы экспорте модели,файл VertexBufferPool_0.bin был размером примерно в 2 мб.

Конвертация

Для примера конвертации возьмем машину из GTA 5. Импортируйте машину (все LODы) со всеми необходимыми текстурами , далее будем её адаптировать и сохранять через Zmodeler 3. Поскольку Mafia2 использует только два уровня детализации (высокий и очень низкий), при конвертации деталей можно оставить наивыший (L0) и наименьший (обычно L3) LOD. Остальные можно удалить (выбрав в списке на объекте L1 или L2 и нажав маленькую кнопку "Del" в строке с кнопками "Convert to Compound" и "Dismiss"). Данное действие вычленят объект указанного уровня из compound-объекта , поэтому появившиеся объекты в иерархии (без имени) затем надо удалить правым кликом и пунктом меню Edit->Delete. (рис.1).

Теперь можете сохранить модель и проверить размер файла. Важно : сохранять .z3d надо без текстур ( для этого временно выключите опцию "Store Textures" в Settings - > General -> Files- > Z3d Open & Save -> Store Textures ). Размер файла не должен превышать 2- 3 мб , где 2мб оптимальный,т. к модель и колизия записана в VertexBufferPool_0.bin , а размер в 3 м б для него будет почти критичным размером. Если размер файла подбирается к 3 мб или превышает его, то возможны ошибки в игре или вылет игры.
Теперь нужно подготовить вашу модель для замены. Для этого нужно импортировать машину из Mafia 2, старайтесь подобрать машину таким образом, чтобы конструктивно (по элементам: двери / капот / багажник /бампера / и их расположению) машина была похожа на вашу модель (Рис.3). Если у вашей машины две двери , то и машину для замены ищите с двумя дверьми. Категорически запрещено удалять невостребованые детали из иерархии оригинальной модели. неиспользуемые детали можно заменить простейшей геометрией (один маленький полгион и скрыть эту геометрию внутри кузова, или же просто сконвертировать объект в дамми ) (рис.5)
Распаковка моделей выполняется программой SDS Tool GUI ( см. руководство по распаковке и упаковке SDS файлов). В папке с распаковнными файлами модели создайте блокнотом пустой файл ( название автомобиля ).mafia. Импорт и экспорт моделей Mafia2 идет в папке и данный файл с расширением .mafia лишь отправная точка для импорта / экспорта , его содержимое не важно - в игре или в распакованных данных такого файла нет.

Проанализируйте, как устроена родная модель, сверьте расположение поворотных осей дверей/капота/багажника, убедитесь, что раскалдка деталей данного авто подходит для замены.
Теперь нужно будет собрать вашу модель по аналогии оригинальной машины, заменяя идентичные детали (геометрии) для L0, L1 внутри Compound объектов вашими геометриями. Важно: менять локальные оси деталей, имеющих коллизии нельзя. Это относится к дверям, капоту, багажнику, бамперам, глушителю (сохраняйте оси оригинальной модели копированием, если меняете весь объет целиком).Также нельзя трогать деформаторы модели (deform_),если их переместить,модеь в игре будет деформированой. Большинство других деталей можно именовать произвольно и задавть им произвольные оси (оставлять оси от новой модели). (рис.2).

Совмещение моделей и замена деталей должна выполняться с указанным выше ограничением на неизменность осей объектов, содержащих коллизии, равно как и на неизменность осей самих коллизий. Данное ограничение распространяется так же на посадочное место водителя (посадку персонажа по высоте отрегулировать нельзя.В дальнейшем предполагается эти ограничения устранить.
Подгонка модели не будет идеальной, но старайтесь подогнать заменяемую модель таким образом, чтоб совпало как можно больше осей из тех, которые нельзя менять. Приоритет отдайте передним дверям и капоту, они открываются в игре чаще всего - задние двери и багажник могут иметь не совсем подходящие оси, но они и в игре открываются гораздо реже. (рис.4 и 4.1).Остальное все настраиваете по вашему автомобилю, оси можно смело брать от новой модели.

Процедура замены деталей стандартная. Если вы никогда не работали с Compound-объектами, посмотрите любое видео по замене авто в GTA5, там этот момент будет разобран. Как дойдете до рулевого колеса, выставите ваше рулевое колесо по родному рулю. Руки водителя нельзя выставить, как и посадочное место персонажа, поэтому выставляем руль (рис.6).

В иерархии модели есть несклько веток, одна из них начинается с имени, содержащим в окончании _rain - эта ветка содержит объект для отрисовки брызг и капель дождя на поверхности кузова. Еще одна ветка содержит объект причудливой формы внутри (скорее всего используется для эффекта огня при сгорании авто) и, собственно, ветка иерархии авто. Перед экспортом необходимо перетащить ветку, соответсвующую автомобилю, выше остальных, чтоб она была первой (рис. ниже).

Дополнительные объекты иерархии, которые присутствуют в оригинальной модели сохраняйте без изменений, перемещать или даже удалять не в коем случае нельзя,такие объекты как _deform,за исключением случая,когда _deform это кусок какой части авто. В остальных случаях,когда_deform это квадраты,нельзя их перемещать,это приведет к повреждениям машины.

Применение материалов к конвертируемой модели.

Полностью выделите вашу модель и перейдите в режим полигонов (рис.7) На режиме полигонов нажмите "None", затем выделите полигоны, соответствующие красящимся деталям кузова (используем инструмент Select\By Material) и примените к выделенным полигонам родной материал покраски кузова; пока не сбрасываем выделение. Для того что бы модель красилась, ей нужно указать номер Flag в свойствах (Properties -> General -> External State -> ). Для покраски в основной цвет включем Flag 1, для дополнительного цвета используем Flag 2 (рис.8).

Далее выделите полигоны, соответствующие хрому на вашей модели и примените к ним материал хрома от оригинальной модели (рис.9.1).
Настоятельно рекомендуется применить родной материал для фар и номерного знака. Это стандартный материал в Mafia2 именуется "GPLC" и только он может светиться в игре при включении фар, торможении, только на нем работают символы номерного знака. Применить материал можно смело к округлым фарам и задним фонарям по типу оригинальных моделей. Заменять данный материал, равно как и текстуру на нем - нельзя, он используется во всех моделях авто в Mafia2, поэтому вам придется переделать текстурирование (UV Mapping) на соответсвующих полигонах модели, чтобы они использовали стандартную текстуру для фар с материала GPLC. Если это ограничение слишком жетское и вы хотите оставить фары с индивидуальной текстурой для вашей машины, эффектом света придется пожертвовать - в игре будет только светиться маячок (Flare эффект). Это допустимо для небольших задних фонарей, но малоприемлемо для фар головного света.

Конвертирование материалов (применение шейдеров Mafia 2).
Для конвертирования материалов нужно нажать одним кликом на материал и посмотреть, к какой детали он относится: для этого можно включать/выключать галку на материале - в 3D окне будут пропадать/появляться полигоны, соответствующие этому материалу. Конвертирование осуществляем скриптом, вызывая меню в правой-верхней кнопки редактора материалов (иконка материала с "шестеренокой") и выбирая там конфигурацию из ветки "Mafia 2".
Для салона рекомендуется применять шейдер "Vehicle-generic", можно применить этот шейдер и к другим элементам, это ошибкой считаться не будет, но для подкапотного пронстрансва можно применить шейдер "diff".

При переделываении материала стекол во вкладке User-defined options можно внести свойство Hash от оригинального материала для стекол. Важно: в игре допускается только один материал с каждым уникальным значением Hash - нельзя пользоваться одним и тем же значением Hash на разных материалах. Про невозможность замены текстуры на материале GPLC ("фары") уже было сказано выше. (рис.9.3).

ВАЖНО
Количество новых матерьялов для машин ограничено,поэтому учтите что количество новых матерьялов,помимо стандартных, не должно быть больше восьми (8). Если будет больше,модель будет работать,но при аварии,стрельбе или просто подойти к машине,вас может выкинуть. Для первой проверки работоспособности модели, уменьшать количество матерьялов не обязательно,но в дальнейшем учтите, не востребованные матерьялы текстур,придется текстурить к другим матерьялам.

Если хотите, чтобы материал с текстурой фары оставался нетронутым, к нему также можно применить шейдер Vehicle - generic, в этом случае он будет разбиваться,но не будет светиться текстурой, будет только flare-эффект.
Для остальных материалов (салон, дно, бейджики, моторный отсек и т.д.) то же самое - подбираем подходящий шейдер и применяем.
Ешё раз, для корректной работы материала в игре (покраска, разбивание стекол, свет фар, чернение при сгорании) на материалах "краска", "хром", "фары", "стёкла" нужен оставить соответствующий родной хеш, от заменяемой модели. Хеш для "краски" от другой модели не подойдет для вашей модели. Также помните, что указывая хеш, вы заменяете во всей игре данный материал своим.
После того, как завершите с материалами, можно приступать к первому экспорту вашей модели.
Сделайте отдельную папку для экспорта, поместите туда файл экспорта "название автомобиля".mafia .
Жмем экспорт, убеждаемся что в окне лога нет ошибок. Из папки с экспортированными файлами копируем FrameNameTable_0.bin, FrameResource_0.bin, IndexBufferPool_0.bin, VertexBufferPool_0.bin и помещаем в папку с распакованой машиной.
Заменяем файлы,далее програмой SDS Tool GUI запаковываем измененый архив обратно.Для этова в центре программы нажмите на стрелочку назад "<".
ItemDesc пока можете оставить на месте,при условии,что не изменяли колизию вашей модели. Если при замене игра с первого раза не запустилась, перезапустите ещё раз и игра примет по новому вашу модель.
Если при замене ItemDesc у вашей модели появились сверху дыры, можите установить из резервной копии ItemDesc от родной модели.

Теперь вам нужно зарегистрировать материалы от вашей модели в общей базе игры default.mtl (mafia 2\edit\materials\). Материалы вашей модели прописываются на экспорте в файл (название автмобиля).mtl в папке экспорта.
Для этого вам нужно скопировать экспортный файл "название автомобился".mtl и вставить в одну папку с defailt.mtl. Открыть программу Material_Converter.Скачать http://www.playground.ru/files/mafia_2_material_converter-77247/
Нажать Open и выбрать файл default.mtl, расположенный в корне игры. Далее в программе нажмите на "Merge (*.mtl)" и выберите экспортный файл "название автомобиля".mtl и нажмите "Save". Таким образом вы добавите ваш .mtl с игровым.
Ещё при обьединение текстур рекомендуеться в первую очередь открыть сперва, ваш полученный .mtl и удалить (это обязательно) из него параметры от оригинальных матерьялов и потом сохранить только с новыми матерьялами. Это нужно для того,что бы при обьединение файлов,не произошел сдвиг оригинального расположения параметров от нового авто. Игра капризна реагирует на любые изменения,если параметор оригинального матерьяла будет стоять не на своем месте иногда это приводит к не правельной работе текстур.
Важно: для публикации модов нужно прилагать файл только с новыми параметрами в вашем .mtl.

Если вы использовали оригинальные материалы (сохраняли значение Hash и лишь меняли текстуры), то не будет лишним найти эти оригинальные материалы и поменять названия родных текстур,на свои.В этом случае допускается оставлять оригинальный матерьял.

Таким образом у вас будут зарегистрированы новые/измененные материалы от вашей модели, если же этого не сделать, то текстуры модель будет ярко зеленой.

Урок по запаковке новых текстур в архив автомобиля.
Теперь нужно подготовить сохраненные ранее текстуры (уникальные для вашей модели) для запаковки в .SDS архив. Текстуры в mafia 2 дублируються: одна текстура большего разрешения, другая в половину меньшего разрешения. Для создания такой пары текстур вам нужно в Photoshop-е сохранить каждую из ваших текстур как имя_текстуры.dds и при сохранении указать "No MIP Maps". Затем уменьшить текстуру вдвое (Image -> Image Size и вписываете вдвое меньший размер как по вертикали, так и по горизонтали) и сохранить эту текстуру в отдельную папку от текстуры большего разрешиния,т.к названия текстур будут одинаковыми, но при сохранение в этот раз с опцией "Generate MIP maps". Внимательно следите что бы обе текстуры, должны быть с одинаковыми названиями "Texture".dds (высокова разрешения) и "Texture".dds (уменьшеного на половину разрешения).
Важно: Размер текстуры в Mafia2 не должен превышать 1024x1024.
Если ваша текстура больше допустимого размера, уменьшите её до 1024x1024, и это изображение сохраните,а маленькую текстуру соответственно на 512х512 и тоже сохраните. Текстуры должны быть в разных папках,так что тут важно не на путать местами при запоковки.
Также можно сразу переделать рельефные текстуры для кузова и хрома, чтобы они давали правильное отображение. Текстуры рельефа в Mafia2 используют либо "8.8 Alpha.Luminance", либо RGBA текстуры рельефа, где каналы R и A поменяны местами (такие текстуры в программе отображаются ярко-малиновыми вмето привычных фиолетовых).
После проделаных подготовительных работ с текстурами нужно запаковать их в архив програмой ExpSDS.

Скачать: https://yadi.sk/d/AH5dDZKdr8Yzp
Автор программы Y.U.S.I.K (PlayGround.ru)

В окне программы ExpSDS нажмите "Open" и выберите sds архив заменяемого автомобиля (рис ниже).

Далее работаем со списком в левой части окна программы. Маленькие текстуры лежат во вкладке "Texture", а наибольшее разрашение текстур вынесено во вкладку "Mipmap". Для добавления текстур наведите на вкладку, нажмите правой кнопкой мыши и выберите "Add Files" (рис.ниже).

Высокие и маленькие текстуры должны быть с одинаковыми именами,поэтому для удобства и что бы не путаться в текстурах,рекомендуеться при создание текстур, создать две папки.Одну подпишите как "Mipmap",в эту папку вложите текстуры наивысшего размера,а для текстур наименьшего размера (в два раза меньшие от наивысших текстур) создайте вторую папку "Texture" и вложите туда текстуры.
Что бы добавить в программе ExpSDS несколько текстур сразу, при выборе текстуры удерживайте левый Ctrl. Добавляйте текстуры правильно,повторюсь названия на больших и маленьких текстурах должно быть одинаковым. А упаковывать вы должны в разные разделы. Для текстур с большим разрешением это вкладка "Mipmap",а для текстур с низким разрешением вкладка " Texture",соотвественно из заготовленых папок кидайте текстуры в соответсвующие разделы.
Далее нажмите "Save" и выберите снова ваш архив и ещё раз нажмите "сохранить" (рис. ниже).

Таким образом у вас сохранятся все текстуры в архиве с автмобилем.
Всё, проверяем наш автомобиль в игре. Если все работает хорошо, то возвращаемся к zmodeler и начинаем прописывать полигонам ID номера полигонам. Номера вводим для стекл на материале "стекла", для фонарей, и номерном знаке на материале "GPLC".
Для стекол ID номера.
Лобовое 1 (левое), 2 (правое) или просто 1 если оно общее.
Форточка на передней левой двери 3
Форточка на передней правой двери 4
Стекло на передней левой двери 5
Стекло на передней правой двери 6
Стекло на задней левой двери (в кузове купе,задние стекла) 7
Стекло на задней правой двери (в кузове купе,задние стекла) 8
Форточка на задней левой двери 9
Форточка на задней правой двери 10
Заднее стекло 11
Для Света:
48 фары передние левая/правая
49 Поворотник левый
50 поворотник правый
51 стоп центральный
52 стопы левые
53 стопы правые
54 задний ход левый/правый

Стекла будут биться, а фары гореть при условии, что они назначены к родным материалам для света ("GLPC") и стекол (........_glass) .
Далее создаем кузову мэппинг (текстурирование) на стандартную текстуру грязи на втором UV канале (стандартная процедура).

Нанесение винилов.
Для нанесения винилов нужно заменить в материале "краски" кузова текстуру грязи на винил и указать 3 канал (рис ниже), а в программе нажать кнопку "Dust". Вместо грязи будет отображаться винил (по мере создания мэппинга на третьем UV канале). Убедитесь, что у объекта геометрии в свойствах выставлены три канала UV: Properties- > Mesh- > Vertices- > Format- > UV Channels = 3 и нажмите Apply.

Мэппинг генерируем инструментом Surface\Mapping\Edit UV на нужном вами виде. В появившемся окне настроек установите 3 канал UV и "Generate New", а также рекомендуется выключить "Continuous Mesh surface".

Вы должны протекстуритьть весь кузов, ведь винил наносится на весь кузов. Детали на которых его быть не должно просто наносите на пустое место текстуры, а остальное делаем примерно по скрину ниже: боковину в нижней части, над ней капот.

Далее жмем экспорт, собираем снова SDS,прогой SDS Tool GUI и довольствуемся результатом.

P.S. кто не хочет возиться с запаковкой текстур и их переделкой,можно создать одну общую текстуру и полностью перетекстурить свою модель. Сделав таким образом аналогично родным машинам. Текстуру можно сохранить под именем оригинальной текстуры модели, при этом не придется создовать новые материалы, а значит в игре будет чернеть при сгорании и кузов, и салон, всё будет светиться и работать как на родных машинах (при условии сохранения родных Hash значений на материалах и замене лишь текстур). Данное допущение опять же не относится к материалу GPLC, текстуру на котором менять нельзя.

Обновление

Теперь для регистрации текстур появилась не большая утилита,гораздо облегчающая установку текстур как мододелам,там и простым пользователям.Утилиту и экспортный файл (название автомобиля).mtl кидать в edit/materials. Далее вам остаеться запустить утилиту,программа работает в фоновом режиме,следовательно вам нажимать ничего не нужно.Таким образом программа сама перенесет данные из .mtl мода в общий default.mtl

Скачать MafiaIIMaterialsMerger: https://yadi.sk/d/_447R6tVsWoEv
Автор программы: Олег (http://zmodeler3.com )

Обновление

Теперь доступен импорт\экспорт колес.Замена модели стандартная процедура,но учтите что для файлов колес стоит защита от новых матерьялов. Поэтому вам прийдется сначала переделать оригинальные текстуры и затем протекстурить модели колес.

Обновление экспортера от 15.01.2017
Улучшена оптимизация модели в игре.Проще говоря подвесаний игры при стрельбе или нахождения персонажа на автомобиле не будет.

Обновление экспортера от 30.01.2017
Добавлен импорт\экспорт персонажей NPC в мафии 2 (главные персонажи используют physx, поэтому игра не дает на них не каких изменений). Перед импортом нужно снять галочку
В мафии 2 персонажи большей частью протекстурены практически на один матерьял, экспортеру сложно экспортировать такие модели, поэтому что бы экспортировать вашу модель, нужно скопировать один раз материал одежды и применить на этот матерьял какую часть персонажа, если одного скопированого материала будет мало, скопируйте ещё раз этот материал и примените другую часть персонажа на этот материал.
Для лучшего отображения персонажа,рекомендуется материал глаза переместить в самый конец списка в Material Browser.
Обратите внимание, есть не доработки в работе экспортера персонажей.

Обновление экспортера от 10.08.2017
Решена проблема с отображаемостью новых скинов в игре.Плюс мелкие исправления, теперь не нужно копировать, один матерьял и делать одну общую текстуру, как это сделано у родных скинов. Примените шейдер одежды или же шейдер от автомобилей к текстрам скина.
Для начала вам нужно как можно точней подогнать новый скин по размерам с заменяемой моделью, затем скопировать от оригинальной модели влияние костей на новую (Rigging---Copy Weight) (сами кости двигать нельзя иначе у вас в игре будет поведенная модель, поэтому нужно подгонять новый скин по оригиналу), замените модель и далее примените шейдер одежды к новым матерьялам, не забудьте для начала подготовить текстуры в формате .dds и двух размеров (большие и маленькие размером). Как все сделаете можете экспортировать модель.Текстуры упаковать в архив модели программой ExpSDS, затем не забудьте в экспортированный .mtl вашей модели скина зарегистрировать в файле default.mtl. Важно при регистрации вашего .mtl или для дальнейшей публикации мода, удаляйте оригинальные параметры от уже зарегистрированных материалов.

Обновление экспортера от 28.10.2018
Добавлен экспорт новых карт.

Видео урок по картам:

&t=14s

Комментарии: 47
Ваш комментарий

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

4

У каво возникнут вопросы задовайте,чем больше мододелов будет тем лучше.

4

agens
А появится ли на playground.ru эта версия zmodeler3 (3.1.3)?

2

Дрифтер_783
В этом нет смысла,сверху приведены ссылки на программу,она постоянно обновляться и для покупки вам все равно прийдеться связываться с разработчиком.

3

agens
привет я закинул мустанг gt500 и сделал регистрацию текстур вопрос надо ли мне делать регистрацию текстур когда я буду закидывать например додж челенджер?

2

Agens, а ты не мог бы сделать видеоурок по конвертациии?

2

Mr.Oogi-Boodi
Возможно сделаю,но пока обещать не буду.
А что там за трудности у тебя, с чем именно?

1

agens
Просто когда написано не очень понятно. Мне в виде видео более понятно, нежели чем в виде текста.

1

agens
А непонятно - как в Zmodeler закинуть, к примеру, машинку из ГТА Са. А то я решил сам для себе Wespe сделать.

1

Mr.Oogi-Boodi
Для начала у тебя должна быть активированнная версия ZModeler 3 (купленная на какой то срок), иначе ты не как не откроешь модель.
ZM2 в просторах инета можно скачать без проблем. Открываешь им нужную тебе модель, убераешь все лишнее от модели (колизию, квадраты всякие, модель повреждения) и оставляешь чистую модельку и сохраняешь её как .z3d. Только не забудь сразу распаковать все текстуры от неё, что бы ZM2 сразу все текстуры загрузил при импорте.

Затем импортируй любую модельку из Mafia 2 и жми совместить указав на свою сохраненую модельку.
Ещё как урок можешь посмотреь конвертацию автомобилей в GTA 5, вот ссылка на уроки от 9ixa https://www.youtube.com/user/9lXA
Там суть такая же, единственое когда будешь текстурить модель (уменьшать матерьялы до 8 матерьялов текстур). Но если ты будешь веспу конвертить, то с матерьялами работать не нужно и регистрировать тоже.

Сложного ничего нет, если ты работал когда либо с ZM2 и GTA SA, то тут фигня полная, даже в GTA 5 конвертировать дольше, чем в мафию 2. Вобщем суть поймешь,остальное фигня. Но урок глянь.

1

Mr.Oogi-Boodi
Я постараюсь перед уходом сделать видос, но ты всеравно Олега (разработчика ZModeler) там подшевели с вопросами, а то он меня уже игнорирует с вопросами по mafia 2. Пусть видит что спрос есть,может че улучшит.

1

Agens, у меня выскакивает такая ошибка. Как её устранить?

1

Можно ли добавить новую машину без замены уже существующей?

1
Комментарий удален

agens
А как спросить у разработчика?

2

Скажи пожалуйста, как открыть файл sds в Мафии 3?

0

Innercorse
Только если будет распаковщик,так ты не откроешь.

0

Интересно было почитать, хотя я все равно в этом не шарю.

0

FileViewPro, как говорят разработчики откроет абсолютно любой формат. Стоит 780р и есть гарантия на возврат.

0

Innercorse
Они там что курят, за простой распаковщик, просить 780 р, от которого и толку 0. Ну распакуешь ты там файлы с моделями и там все тоже самое что в Mafia 2.Куча разбитых файлов от модели,текстурки,звуки и прочая фигня для модели,на которые ещё тоже нужны программы.Смысла нет, в программе.

0

agens
Привет,а на каком сайте можно z3d модель авто взять?уже всё перерыл,не нашёл,или как к примеру с той же гта са вытащить модель?

0

Artem32RusssBK
В z3d ты сохраняешь сам машину. Лучше всего тебе посмотреть видео уроки по конвертациям машин. Программа не бесплатная, нужно разбиратся в ней.

1

Давайте добавим в игру джип...

-2