PDA

View Full Version : 3D Ripper DX или моддинг не только в Homeworld


Джаспер
11-01-2011, 06:36 PM
Я точно не знаю, в каком разделе создать надо было эту тему, так что если ошибся, да простит меня Ten и исправит мою ошибку! :)

Недавно столкнулся с такой вот интересной прогой для моддеров, открывающей широкие возможности. Вот ссылка (http://www.igromania.ru/articles/55437/Tehnologiya_3D-zahvata_pri_pomoshi_programmy_3D_Ripper_DX.htm) на соответствующую статью в Игромании.

Здесь под катом её копипаст: 3D Ripper DX — уникальная утилита. Она позволяет извлечь из трехмерных игр модели персонажей, техники, оружия и даже целые локации. По понятным причинам использовать все эти ресурсы в коммерческих проектах нельзя, а вот для создания бесплатных дополнений — вполне. Сегодня мы детально разберем принципы работы 3D Ripper и научимся извлекать из игр трехмерные объекты.

Оно вертится!

Для захвата 3D-сцен нам потребуется, во-первых, сам 3D Ripper DX (для захвата всей геометрии, текстур и шейдеров, отрендеренных в текущем кадре), а во-вторых, D3DX9_29.dll — файл библиотеки для DirectX, необходимый для работы 3D-риппера. Все перечисленные файлы вы можете взять с нашего диска из раздела «Игрострой».

3D Ripper работает по следующему принципу. При запуске программы необходимо указать путь к exe-файлу игры, из которой нужно извлечь ресурсы, и настроить ряд параметров захвата. После этого игра грузится не напрямую, а через 3D Ripper.

Если игра поддерживает DirectX 9.0, то в левом верхнем углу программы высветится сообщение Ready to Capture, информирующее о том, что можно приступать к захвату. Остается лишь добраться до того места, которое необходимо «сфотографировать», и нажать горячую клавишу.

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

3D для всех

Запустите 3D Ripper. На экране появится окно, в котором необходимо настроить ряд параметров. В поле под строкой Please Select DirectX 9 application to analize укажите путь к любой установленной игре, использующей возможности DirectX девятой версии. Мы для примера использовали Call of Duty 2.


Захваченная при помощи риппера сцена в 3DS Max.

Теперь нужно назначить горячие клавиши на различные действия утилиты. Параметр поля Capture key отвечает за клавишу захвата сцены, в пределах которой находится игрок. По умолчанию на данное действие назначена клавиша F12. Дополнительно назначьте клавишу на пункт Wireframe mode key, данная опция позволит увидеть внутреннее устройство игровой локации — множество полигонов или треугольников, из которых состоят все объекты. Назначив клавишу на действие Disable texture key, вы сможете включать/отключать все игровые текстуры.

Теперь разберем предназначение флажков напротив поля Capture key. Если вы поставите галку в пункте Capture all shaders, то риппер при захвате сцены вытянет из игры все шейдеры. Хотите захватить все текстуры, использованные в локации? Ставьте галку напротив пункта Capture all textures. Если вам нужно запустить игру в оконном режиме, то установите флажок напротив опции Force windowed mode.
Последний пункт — Disable shader model 3.0 — по умолчанию отключен, лучше его не активировать, иначе программа будет часто вылетать в Windows. При желании вы можете изменить пути хранения сцен, текстур (кнопки Frames (*.3DR) output directory, Textures (*.DDS) output directory и Shaders (*.VSH, *.PSH) output directory).

Атрибут Camera FOV отвечает за обзор камеры. Чем больше значение, тем больше объектов будет в захваченной сцене. По умолчанию значение данного параметра ровно 85.

C настройкой риппера разобрались. Жмите кнопку Launch, чтобы запустить Call of Duty 2 в режиме захвата. Вы увидите, что в левом верхнем углу игры высветится надпись Ready to Capture. Начните какую-либо миссию в CoD 2, отыщите наиболее подходящую для захвата сцены локацию и нажмите F12. 3D Ripper сохранит все извлеченные файлы на винчестер в заданные вами директории.

Выйдите из игры и запустите 3DS Max. Выберите пункт меню File/Import и в появившемся окне в поле Тип файлов задайте параметр 3DR Import (*.3DR). Затем укажите путь к захваченной 3D-сцене, например, C:\Documents and Settings\User\Мои Документы \3DReaperDX\Frames\frame006b27f2.3dr. Кликните по кнопке Ok.

В появившемся меню импорта сцены, не изменяя никаких параметров, снова нажмите на Оk. Подождите, пока «Макс» загрузит захваченный 3D-кадр. На слабых машинах этот процесс может затянуться на несколько часов: крайне желательно, чтобы оперативной памяти было не менее 1 Гб (в этом случае средних размеров сцена загружается за 2-3 минуты).

Описанным методом вы можете захватывать сцены из любой игры, поддерживающей DirectX 9.0, после этого разбирать их в «Максе» на составляющие и использовать при создании модов.

К сожалению, прога эта работает только с играми, использующими Direct 9, так что нахаляву повытаскивать модельки из ХВ не получиться. Зато, это может здорово облегчить импорт в ХВ моделей из других игр.

А вот собственно и ссылка для скачивания (http://narod.ru/disk/30213974001/3DRipperDXSetup.rar.html).

И теперь пара слов об установке, в которой кроется неприятный сюрприз: при установке надо интегрировать нашего потрошителя (:)) в имеющуюся версию 3д макса. Для этого надо во время установки не только(!) выбрать флажком в окне имеющуюся версию, но(!) прописать в строке под флажком точный путь установки плагина (но не самого рипера - тот может быть установлен в любую другую директорию). Прописываем путь до папки, где у нас стоит макс и дописываем "\plugins", только, естественно, без кавычек.

Собственно это всё :)