Существует множество статей, позволяющие достать модель из конкретной игры. Но все эти способы разные, порой долгие и малопонятные, и плюс ко всему этому приходится качать кучу дополнительного кустарного софта. Согласитесь, было бы не плохо иметь универсальный способ, подходящий если не ко всем, то хотя бы большинству игр.
И такой способ есть! Недавно совершенно случайно я наткнулся на очень интересную программу - 3D Ripper DX. Она позволяет извлекать модели из игр использующих технологии DirectX. И эта статья будет описывать способ конверта через эту программу.
Что нам понадобится:
Шаг №1. Достаем сцену из игры.
Запускаем 3D Ripper видим такое окошко:
Производим настройку программы:
Please Select DirectX 9 application to analize - здесь нужно указать путь к .exe файлу игры. Я выбрал Call of Duty 4.
Command line parameters - это поле оставляем пустым.
Горячие клавиши можете изменить по своему усмотрению, для конверта нам понадобится только "Capture key" (по умолчанию F12).
Capture all shaders - ставим галочку напротив этого пункта.
Capture all textures - здесь тоже ставим галочку.
Force windowed mode - галочка на ваше усмотрение. Это опция позволяет открыть игру в оконном режиме.
Disable shader model 3.0 - здесь галочку ставить не рекомендуется, это может привести к вылету программы во время захвата сцены.
Последующие строчки - это папки сохранения текстур, шейдеров и самой сцены. Их ставим на свое усмотрение, лично я оставил стандартные пути.
Вот что у нас должно получится:
Далее нажимаем "Launch". У нас запускается наша игра, но только запускается она через 3D Ripper.
В игре находим интересующую нас модель или область. Меня например за интересовал вот этот холодильник и прилегающие к нему тумбы.
Нажимаем F12 и ждем пока риппер достанет все необходимое (игра зависнет на несколько секунд, а когда отвиснет можно смело выключать ее и приступать к следующему шагу).
Шаг №2. Извлекаем из полученной сцены нашу модельку в формате .3ds
Теперь, когда мы извлекли сцену запускаем 3ds MAX.
Нажимаем Open file и ищем нашу сцену формата .3dr (поставьте в фильтре all files)
Когда вы нажмете открыть вылезет табличка, в ней ничего не трогаем просто нажимаем OK
Вот и открылась наша сцена:
Тыкаем на нужную модельку и нажимаем: File => Export => Export Selected
Вылазит окно сохранения. В нем выбираем папку куда кладем модель, даем ей имя и выбираем выходной формат 3D Studio (*.3DS)
Сохраняем и приступаем к поиску текстур. Для просмотра формата .dds можно использовать BLP lab
После того как мы нашли нужную текстуру можно приступать к следующему шагу, а именно - конверту непосредственно в WarCraft III
Шаг №3. Конвертим .3ds в .mdx
Этот шаг я не буду разъяснять подробно, это должен уметь каждый моделер, иначе я не вижу смысл читать эту статью.
1. Конвертим .3ds в .mdx
2. С помощью Blp Lab конвертируем нашу текстуру в формат .blp
3. Через WarModelEditor накладываем текстуру
4. Снова открываем модель в MdlVis и открываем редактор текстур, выделяем все и нажимаем "Отразить по Y"
Конец
В конце этого процесса у меня получился вот такой холодильник:
Единственный минус этого при этом способе конверта - модель получается немного кривой, но это исправимо если руки откуда надо растут.
Автор статьи: RЕRONAGE
Если возникнут вопросы обращайтесь.