Mafia 2 Export Detailed Cars

2k Czech Mafia II game modding.

Moderator: Oleg

User avatar
agens
Posts: 59
Joined: Fri Feb 20, 2015 8:16 am

Mafia 2 Export Detailed Cars

Post by agens »

Привет Олег.
Не так давно я тебя просил найти решение ограничений в экспортере машин для Mafia 2, с 32-х битными моделями из Mafia 2DE. Ребята из форума нашли решение, которое должно точно нам помочь и тебе не составит труда это сделать.
Всё это время мы пытались обойти ограничения на одних Vertex и Index файлах, но игра может спокойно принять множество этих файлов и у машин, а не только у карт. Если модель будет тяжелой в экспорте, можешь задать лимит для Vertex и Index файлов, что бы они разбивались на части, как при экспорте карт и не ломало тем самым модель автомобиля.
Я у себя делал тест и закидывал через сторонний инструментарий к мафии 2, ещё одну модель не урезанного автомобиля к своему сконвертированному через Zmodeler 3 урезанному под требования автомобилю и игра спокойно приняла модели и ничего не сломало.
Множество файлов создалось и всё это также спокойно может работать, без ущерба моделям.

Я не так часто тебя о чём то прошу, но буду рад если ты не проигнорируешь просьбу активному пользователю.
Вот файл с автомобилем сконвертированным под существующие требования Zmodeler 3, но с поделенными на части файлами Vertex и Index. Пожалуйста посмотри его и дай ответ. Потому что многие люди ( а у меня большой опыт пользования ZModeler 3 , более пяти лет) не рады этим ограничениям, как и я сам и от этого многие отказываются в моддинге.
Attachments
shubert_pickup.sds.rar
(4.02 MiB) Downloaded 217 times
User avatar
Oleg
Site Admin
Posts: 14022
Joined: Fri Feb 06, 2004 3:54 am
Contact:

Re: Mafia 2 Export Detailed Cars

Post by Oleg »

так, еще раз и подробнее, что имеено игра смогла сделать после таких изменений?

само наличие нескольких файлов VertexBufferPool_* и IndexBufferPool_* проблемы не решает. Игра загружает их все, пока они есть. Проблема, насколько я сейчас вижу, в самой структуре данных для объекта - к нему на каждый LOD подвязыается только один VertexBuffer и один IndexBuffer. При этом IndexBuffer использует двухбайтовые индексы для ссылки на вершинки (вот тут ограничение в 64к вершинок).
User avatar
norskpl
Posts: 11
Joined: Sat Nov 30, 2019 9:25 am

Re: Mafia 2 Export Detailed Cars

Post by norskpl »

Oleg wrote: Sun Mar 28, 2021 8:32 am так, еще раз и подробнее, что имеено игра смогла сделать после таких изменений?

само наличие нескольких файлов VertexBufferPool_* и IndexBufferPool_* проблемы не решает. Игра загружает их все, пока они есть. Проблема, насколько я сейчас вижу, в самой структуре данных для объекта - к нему на каждый LOD подвязыается только один VertexBuffer и один IndexBuffer. При этом IndexBuffer использует двухбайтовые индексы для ссылки на вершинки (вот тут ограничение в 64к вершинок).
Классическая версия мафия 2 никогда не сможет загружать модели свыше 64k вершинок, просто потому что нет ни системы, ни флага так что можно загрузить 32-битный буфер.

Mafia 2 Definitive Edition содержит флаг и систему, чтобы игра знала, как загрузить 32-битный буфер. В этой версии персонажи использовать 32-битные модели. Например vitm3.sds имеет 136711 вершинок.

Image

Было бы неплохо получить новый фильтр для M2DE, который может экспортировать 32-битные буферы.
User avatar
agens
Posts: 59
Joined: Fri Feb 20, 2015 8:16 am

Re: Mafia 2 Export Detailed Cars

Post by agens »

Попробуй пожалуйста посмотреть этот ремастер Mafia 2, может там получится обойти это ограничение.
User avatar
Oleg
Site Admin
Posts: 14022
Joined: Fri Feb 06, 2004 3:54 am
Contact:

Re: Mafia 2 Export Detailed Cars

Post by Oleg »

скинь мне этот .sds файл.
User avatar
agens
Posts: 59
Joined: Fri Feb 20, 2015 8:16 am

Re: Mafia 2 Export Detailed Cars

Post by agens »

User avatar
Oleg
Site Admin
Posts: 14022
Joined: Fri Feb 06, 2004 3:54 am
Contact:

Re: Mafia 2 Export Detailed Cars

Post by Oleg »

интересная деталь - они лажанулись с экспортом модели, на каждый треугольник у них свои три вершинки. и на 46К треугольников вышло 136К вершинок. при правильном экспорте модели (когда одинаковые вершинки соседними полигонами используются совместно, не дублируя идентичные вершинки) они бы вписались в 64К вершинок.

будет смешно, если из-за этого бага им пришлось делать 32-битные индексы для поддержки более 64К вершинок))
User avatar
Oleg
Site Admin
Posts: 14022
Joined: Fri Feb 06, 2004 3:54 am
Contact:

Re: Mafia 2 Export Detailed Cars

Post by Oleg »

Скинь мне еще default.mtl файл(ы) из этой версии игры. Если не ошибаюсь, на ранних стадиях изучения этого вопроса было установлено, что в свойствах материала ещё как-то прописана "32-битность" индексов (при подсовывании другого материала переставала работать игра с 32-битными моделями или что-то такое происходило).
User avatar
Oleg
Site Admin
Posts: 14022
Joined: Fri Feb 06, 2004 3:54 am
Contact:

Re: Mafia 2 Export Detailed Cars

Post by Oleg »

Я попробую в разумные сроки исправить импорт, чтоб модель могла загружаться (такую геометрию придется "резать" на несколько объектов для ZModeler, что создаёт сложности при импорте и создании сцены).

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

Но как показывает практика, такие вещи лучше сразу делать "от и до", поскольку очень сложно переключаться с одной задачи на другую через даже небольшие промежутки времени.
User avatar
agens
Posts: 59
Joined: Fri Feb 20, 2015 8:16 am

Re: Mafia 2 Export Detailed Cars

Post by agens »

Вот default.mtl из Mafia 2 Definitive Edition. Они поменяли шейдера/настройки, но не критично, на вид всё тоже самое.

Если нужно будет я могу посмотреть какой нибудь тяжелый автомобиль и тоже его скинуть.
Attachments
default.mtl.rar
(551.13 KiB) Downloaded 215 times
User avatar
norskpl
Posts: 11
Joined: Sat Nov 30, 2019 9:25 am

Re: Mafia 2 Export Detailed Cars

Post by norskpl »

К сожалению, в M2DE нет машины, имеющей 32-битные файлы.
Тем не менее, мне удалось преобразовать пользовательскую 16-битную модель машины в 32-битную.
Я тестировал его в M2DE, игра может загрузить его нормально. Кстати, FPS не падает при подъеме на крышу.
Я также тестировал классическую версию. К сожалению, 32-битная модель в Mafia 2 (Classic) не появилась.

Я сделал это на примере Chevrolet BelAir от Agens. Он сделал эту модель очень давно. Модель имеет 65393 вершинок.
Модель на картинке ниже имеет 32-битные файлы:

Image

Кстати, я прилагаю анализ шейдеров, который я сделал в прошлом году:

https://drive.google.com/drive/folders/ ... sp=sharing

Анализ основан на программе Toolkit. Его можно скачать отсюда: https://cdn.discordapp.com/attachments/ ... 032021.zip
Attachments
chevroletbelair_32bit.zip
Модель с 32-битными буферами
(3.75 MiB) Downloaded 203 times
User avatar
Oleg
Site Admin
Posts: 14022
Joined: Fri Feb 06, 2004 3:54 am
Contact:

Re: Mafia 2 Export Detailed Cars

Post by Oleg »

Модель имеет 65393 вершинок.
это меньше чем 64K (64*1024 = 65536). Возможно, поэтому и проблем с машиной не наблюдается. Но вцелом, да, я вижу, она на 32-битном индексбуффере собрана.
User avatar
Oleg
Site Admin
Posts: 14022
Joined: Fri Feb 06, 2004 3:54 am
Contact:

Re: Mafia 2 Export Detailed Cars

Post by Oleg »

Импорт вроде сделал. Экспорт сейчас кажется нетурдной задачей, попробую на выходных с ней справиться.
User avatar
agens
Posts: 59
Joined: Fri Feb 20, 2015 8:16 am

Re: Mafia 2 Export Detailed Cars

Post by agens »

Если нужно будет что нибудь ещё или протестировать, сообщай я всегда на связи.
User avatar
agens
Posts: 59
Joined: Fri Feb 20, 2015 8:16 am

Re: Mafia 2 Export Detailed Cars

Post by agens »

И ещё я хотел бы попросить, сделать экспорт моделей отдельным фильтром или в опциях каких, ну что бы выбиралось версия classic или de. Если возможно.
User avatar
Oleg
Site Admin
Posts: 14022
Joined: Fri Feb 06, 2004 3:54 am
Contact:

Re: Mafia 2 Export Detailed Cars

Post by Oleg »

на данный момент ничем не отливаются импорт/экспорт de и классической версии. база материалов разная и буферы 32-битные в de версии могут быть. в остальном не вижу необходимости что-то указывать - экспортированные модели до 64К для de и classic ничем не отличаются.
User avatar
agens
Posts: 59
Joined: Fri Feb 20, 2015 8:16 am

Re: Mafia 2 Export Detailed Cars

Post by agens »

Я сделал не большой конверт тяжелого автомобиля. У него чуть больше 200к вершин. Может для проверки подойдет. На экспорте vertex 8,4 мб. Реимпорт работает, автомобиль сломанный. Может в 32 битном формате его не будет ломать.
Вот: https://disk.yandex.ru/d/aZq7d7eD4FjNdA
User avatar
Oleg
Site Admin
Posts: 14022
Joined: Fri Feb 06, 2004 3:54 am
Contact:

Re: Mafia 2 Export Detailed Cars

Post by Oleg »

хорошо, попробую на нем.
User avatar
Oleg
Site Admin
Posts: 14022
Joined: Fri Feb 06, 2004 3:54 am
Contact:

Re: Mafia 2 Export Detailed Cars

Post by Oleg »

попробуй в первом приближении тест экспорта.
меня интересует, работает ли микс из 16-битных и 32-битных буферов в одном файле IndexBufferPool_0.

для ZModeler разницы нет, а как игра на это смотрит?

16-битные буферы для веток "rain" и что-то там еще в иерархии. сама модель целиком на 32-битный буфер уходит.
Attachments
Mafia II.zip
(202.26 KiB) Downloaded 190 times
User avatar
agens
Posts: 59
Joined: Fri Feb 20, 2015 8:16 am

Re: Mafia 2 Export Detailed Cars

Post by agens »

О,Спасибо! Щас проверю.
User avatar
agens
Posts: 59
Joined: Fri Feb 20, 2015 8:16 am

Re: Mafia 2 Export Detailed Cars

Post by agens »

Блин, не могу сделать скрин. Не fraps, не другая прога не видит игру.

В общем, после zmodeler 3, машина в игре к сожалению разломанной получилось. Можно сесть, запрыгнуть, игра работает при этом.

Я через Toolkit сделал фикс этому автомобилю, там есть в опциях, режим 32 битного сохранения модели и в игре этот автомобиль, стал нормальным, но видимо также срабатывает ограничитель материалов и у 32 битных машин, как и в старой 16 версии и при разбитии окна или если при попытке залезть на автомобиль игра виснет. Тут видимо проблема решиться уменьшением количества материалов.

Вот этот автомобиль после фикса в Toolkit. С этим модель отличная не поведенная.
Attachments
houston_wasp_phaToolkit.rar
(4.58 MiB) Downloaded 190 times
User avatar
agens
Posts: 59
Joined: Fri Feb 20, 2015 8:16 am

Re: Mafia 2 Export Detailed Cars

Post by agens »

Забыл про клавишу PrtSc.

Вот что без фикса вышло
Attachments
1.jpg
User avatar
agens
Posts: 59
Joined: Fri Feb 20, 2015 8:16 am

Re: Mafia 2 Export Detailed Cars

Post by agens »

А так после фикса в Toolkit
Attachments
2.jpg
User avatar
Oleg
Site Admin
Posts: 14022
Joined: Fri Feb 06, 2004 3:54 am
Contact:

Re: Mafia 2 Export Detailed Cars

Post by Oleg »

какие есть мысли? по большому счету в экспорте никаких изменений сейчас не сделал, только в indexbuffer свалил 32-битные данные (местами).
User avatar
Oleg
Site Admin
Posts: 14022
Joined: Fri Feb 06, 2004 3:54 am
Contact:

Re: Mafia 2 Export Detailed Cars

Post by Oleg »

просто ре-импорт в ZModeler вроде совершенно нормальную машину дает в плане топологии - вся геометрия (мэппинг, нормали, полигоны) - всё восстанавливается правильно.
Post Reply