Ho to use Ninja Ripper

Ho to use Ninja Ripper

Русский / English

Официальная страница поддержки на cgig.ru/forum

[Обновлено 2017 Февраль 05: Добавлен рип из браузера Chrome]

В статье подробно описан процесс «рипа» моделей, текстур и шейдеров из игр использующих в качестве API directx версий 6, 7, 8, 9, 10, 11 (как 32 так и 64 битных версий) и импортирования «рипнутых» моделей/текстур в 3ds max, Noesis или Blender.

Внимание: рипер не поддерживает и не будет поддерживать рип моделей с сохранением их игровых позиций как это делает 3D Ripped DX.

Примечание: Статья рассчитана на пользователей знакомых с работой в 3ds Max и не описывает такие моменты как, например, текстурирование объектов, настройка материалов и т.п.

Для  конвертирования потребуются следующие инструменты:

  • 3ds Max (я использую 2009 х86) должно работать на версиях 2009+
  • Ninja Ripper v1.6.0 (рипер) Автор: blackninja [страница]
  • GIMS Evo Importer (3ds max import script) Автор: 3Doomer [страница]
  • [не обязательно] ninja_importer v1.3 (3ds max скрипт) Автор: blackninja [скачать]
  • [не обязательно] Noesis v4+ (3d model viewer/converter) Автор: Rich W. [страница]
  • [не обязательно] Blender v2.49b (3d modeling software) Автор: Blender Foundation [скачать]

1. Настройка рипера. Распаковываем содержимое архива в любую папку. Существует две версии рипера: для игр использующих 32-битную (в папке x86) или 64-битную (в папке x64)  архитекстуру. Запускаем программу из папки, которая соответствует битности архитектуры игры. Старые игры в осно

Примечание: Современные игры (2016+) используют в основном 64-битную архитектуру в то время как старые игры работают на 64-битной архитектуре. Некоторые игры работают на OpenGL, с которым рипер не работает и работать не будет.

Все возможности рипера:

  • Извлекается ВСЯ доступная информация о вершинах модели (позиция, все текстурные координаты, нормали, веса, BLENDWEIGHT, BLENDINDICES, BINORMAL, TANGENT), индексы, текстуры, шейдеры. Теоретически, можно импортировать и эту доп. информацию в 3д редактор!
  • Поддержка D3D11, D3D9, D3D8 (обрабатываются не все методы/техники, но должно работать в 95% игр).
Спойлер

  • Target (DX8, DX9, DX11 application) (выбор приложения/игры для рипа):
    • Exe — поле для ввода прямого пути для исполняемого файла приложения/игры;
    • Arg — поле для ввода дополнительных параметров запуска для исполняемого файла;
    • Dir — поле для ввода прямого пути к папке содержащего исполняемый файл (подставляется автоматически после выбора .exe, не обязательно изменять);
  • Intruder Inject — режим, при котором рипер будет пытаться запустить exe приложения/игры напрямую, используя для рипинга только intruder.dll, если этот режим не сработает (ничего не рипается) то нужно выбрать один из режимов «Врапера»;
  • Режимы «Врапера», при которых рипер скопирует d3dX.dll рипера в папку содержащую исполняемый файл приложения/игры, после этого окно рипера можно уже закрыть (не для рипа из firefox — его нужно постоянно запускать через рипер), далее можно запускать игру из любого места, скопированная рипером d3dX.dll будет автоматически «цеплятся» в игру при запуске любым способом, позволяя рипать модели. Таким образом более не нужно запускать сам рипер для этой игры. Доступны следующие режимы «Врапера»:
    • D3D8 Wrapper — для игр на directx8;
    • D3D9 Wrapper — для игр на directx9;
    • D3D11 Wrapper — для игр на directx11;
    • DDRAW Wrapper — для игр на directx 6/7;

    Примечание: удалять .dll из папки с игрой надо вручную (если потребуется рипать через Intruder Inject, например), настройки рипера хранятся в реестре!

  • Кнопка RUN — кнопка для запуска приложения/игры;
  • Output Directory (директория для сохранения рипнутых моделей):
    • Dir — поле для ввода исходящей папки (автоматически подставляется), эту папку можно выбрать вручную, не забудьте поставить галку в Don’t change the path;
    • Browse — кнопка для открытия папки выбранного исполняемого файла;
    • Don’t change the path — при активировании этой функции выбор исполняемого файла не будет переписывать исходящую папку;
  • Кнопка Settings (настройки):
    • Rip Hotkeys — в этом разделе можно поменять кнопки для рипа разных ресурсов:
      • All — рипает все модели и текстуры;
      • Textures — рипает только текстуры;
      • Forced — рипает модели и текстуры пока не истечёт таймер (по умолчанию 3 секунды), т.е. по сути кнопка рипа нажимается несколько раз;
      • Альтернативно можно использовать кнопки Alt, Shift или Ctrl в комбинации с хоткеями;
    • Save Shaders (for experts) — отметьте для рипа шейдеров (в некоторых случаях игра может запускаться очень долго или не запускаться вообще);
    • Forсed Rip Interval [X] second — таймер для функции Forced;
    • Save DirectDraw Surfaces (DX1-DX7) — рипать текстуры или спрайты из игр 95-99 лет;
  • Кнопка About/Donate — если вам нравится эта программа и вы бы хотели дальнейшего развития пожалуйста поддержите разработчиков!
  • Кнопка Exit — закрывает рипер.

Выбираем игру которую хотим «рипать». В окне рипера жмём кнопку ‘…’ для выбора .exe игры:

Примечание: Добавить желаемую игру в окно рипера можно так же простым перетаскиванием .exe игры из окна «эксплорера» в окно рипера.

Выбираем режим, в котором будет производиться «рип» игры. Режим зависит от того, на каком directx работает игра. Описание режимов:

  • No Wrapper — режим, при котором рипер будет пытаться запустить exe приложения/игры напрямую, используя для «рипинга» только intruder.dll, если этот режим не сработает (ничего не рипается) то нужно выбрать один из режимов «Врапера»
  • Intruder Inject — режим, при котором рипер будет пытаться запустить exe приложения/игры напрямую, используя для рипинга только intruder.dll, если этот режим не сработает (ничего не рипается) то нужно выбрать один из режимов «Врапера»;
  • Режимы «Врапера», при которых рипер скопирует d3dX.dll рипера в папку содержащую исполняемый файл приложения/игры, после этого окно рипера можно уже закрыть (не для рипа из firefox — его нужно постоянно запускать через рипер), далее можно запускать игру из любого места, скопированная рипером d3dX.dll будет автоматически «цеплятся» в игру при запуске любым способом, позволяя рипать модели. Таким образом более не нужно запускать сам рипер для этой игры. Доступны следующие режимы «Врапера»:
    • D3D8 Wrapper — для игр на directx8;
    • D3D9 Wrapper — для игр на directx9;
    • D3D11 Wrapper — для игр на directx11;
    • DDRAW Wrapper — для игр на directx 6/7;

Примечание: Удалять .dll-ки из папки с игрой надо вручную (если потребуется рипать через Intruder Inject, например), настройки рипера хранятся в реестре.

Запускаем игру нажатием на кнопку Run:

2. Процесс «рипа» игры. После того как игра запущена папка _NinjaRipper будет создана рядом с запущенным .exe. В игре выбираем место, которое хотим рипнуть и нажимаем на кнопку «рипа», по умолчанию это клавиша F10. После нажатия F10 игра «подвиснет» на секунду, далее игра чуть «дёрнется» и снова зависнет на какое-то время (около 5-25 секунд). Продолжительность «рипа» зависит от «качества» игры и мощности компьютера. Во время процесса рипа игры в папке с игрой где расположен её .exe все модели в формате .rip и текстуры в формате .dds сохраняются в папке <папка с EXE игры>\_NinjaRipper\.

Нажатием на кнопку рипа текстур (по умолчанию F9) «рипаются» только текстуры и сохраняются так же в папку _NinjaRipper, в директории игры туда где расположен .exe. О завершении процесса рипа можно узнать по «отвиснувшей» игре.
Стоит так же учитывать, что в некоторых играх процесс рипа «вешает» всю игру, т.е. после завершения рипа и «отвисания» игры можно продолжить с того же места, с которого игра «зависла». Однако есть и такие игры, которые продолжают выполняться даже во время рипа и после окончания процесса «вы можете въехать в бок какому-нибудь внедорожнику, а соперники будут далеко впереди».

3. Импортирование модели в 3ds max. Существует 2 версии импортера .rip файлов в 3ds max:

  • первый (далее: старый) скрипт написан самим автором рипера, имеет набор стандартных функций. Единственная сложность в его использовании это получение правильных uv-координат;
  • второй (далее: новый) импортер — GIMS Evo — имеет очень обширный набор возможностей, одной из основных, по моему мнению, его возможностей является импортирование весов и генерирование костей. Я рекомендую пользоваться именно им. Новую версию для web-установки всегда можно скачать по этой ссылке.

Главное окно нового импортера выглядит так:

Процесс установки GIMS Evo:

  • Распакуйте папку «scripts» в папку 3ds max с заменой файлов;
  • Распакуйте папку «GIMS» с заменой файлов папку:
    • если у вас Windows Vista/7/8: «<DRIVE>:\Users\<USER_NAME>\AppData\Local\»
    • Windows 2K/XP: «<DRIVE>:\Documents and Settings\<USER_NAME>\Application Data\»
    • Если появляются ошибки при запуске GIMS Evo, запустите этот скрипт для получения пути установки:
      • dl.dropbox.com/u/18649105/GIMS/ShowEGIMSPath.ms
  • Запустите 3ds max (убедившись, что ваше интернет соединение работает) и нажмите кнопку установки GIMS Evo в панели Utilities в 3ds max.
Спойлер

Раздел Scene:

  • Кнопка Bones — выбрать вариант использования информации о весах из .rip файлов, будут ли создаваться или нет кости вместе с модификатором Skin и просчитывать ли веса на импортированную модель:
    • Don’t create — кости и веса не будут импортированы;
    • Create at zero — кости будут созданы в центре объекта, так же Skin модификатор и веса будут добавлены на импортируемую модель;
    • Create at calculated position — кости будут созданы в области своего влияния на объект, так же Skin модификатор и веса будут добавлены на импортируемую модель;
    • Reuse scene bones — уже имеющиеся в сцене кости будут использовать при импортировании объектов;
    • Split the mesh by skinning when possible — импортируемый объект может быть разрезан в зависимости от установленных в rip-файле весов;
  • Flip Faces — инвертировать полигоны;
  • Scale — масштаб объекта;
  • Position — поменять XYZ позицию объекта в сцене;
  • Rotation — поменять XYZ поворот объекта в сцене;
  • Miror — отразить объект по XYZ;

Раздел UV coordinates:

  • Flip U — инвертировать UV координаты по U;
  • Flip V — инвертировать UV координаты по V;
  • Offset U/V — установить сдвиг UV координат по U или V;
  • Scale U/V — установить масштаб UV координат по U или V;

Раздел Texture Indices. Взгляните на индексы текстур, которые относятся (по ID) к импортируемым объектам. Например Tex_0001_0.dds имеет цифру 0 перед «.dds», что обычно определяет эту текстуру как диффузную (цветную/основную):

  • Diffuse — какая текстура будет использовать в качестве диффузной карты по индексу;
  • Bump — какая текстура будет использовать в качестве карты объёма по индексу;
  • Specular — какая текстура будет использовать в качестве карты отражений по индексу;

Раздел Import. Этот раздел для настроек непосредственно импорта моделей:

  • Mode — импортировать один меш (Single File) или группу мешей (Path, IDs);
  • Engine — выбрать настройки для импорта из особого движка. Для большинства случаев нужно использовать Other engine. Однако вы можете выбрать из следующих движков: Frostbite 2, Frostbite 3, Frostbite 3.5, YETI engine. На каком движке сделана игра часто можно узнать со страницы о ней на оф. сайте или на Википедии;
  • Path — путь к .rip файлам. Нажмите на иконку папки чтобы выбрать путь;
  • File IDs — номер/номера меша для импорта. Формат может быть таким: «0-15, 589, 67» или просто «1» (без кавычек);
  • Import — нажмите чтобы начать импорт;

Раздел Preset. В самом низу окна:

  • Раскрывающийся список с названием пресета (шаблона) — можно выбрать/сохранить шаблон настроек импортера;
  • Remove — удалить выбранный шаблон;
  • (i) — кнопка информации об импортере.

Для того чтобы импортировать .rip модель в 3ds max выберите режим импортирования, задайте путь к файлам и нажмите на кнопку импорта. Все возможные uv координаты теперь загружаются на импортируемую модель в разные uv каналы если их несколько.

Спойлер
Открываем 3ds max. В меню MAXScript > Run Script… выбираем скрипт ninja_ripper_import_1.3.ms, откроется окно:

Описание функций импортера:

  • Source select (выбор источника и режима импорта):
    • Group — режим для импорта группы файлов
    • Single — режим для импорта файлов по-одному
    • List File — режим для импорта файлов через файл-список .lst, который содержит список всех моделей одного рипа
    • Input Dir/File — источник импорта, файл или папка (в зависимости от выбранного режима)
    • RIP File Nums — поле для ввода номеров файлов для импорта (для режима Group), формат ввода: 0-15, 589, 67
  • Vertex Format (выбор режима построения модели):
    • Auto — режим для автоматического определения групп данных (вершины, нормали, uv-координаты), подходит для большинства игр
    • Manual — режим для ручного определения групп данных, необходим для импорта моделей из новых игр (преимущественно directx11)
    • Position (x,y,z) — поля для ввода группы данных определяющих положение вершин модели, даже в ручном режиме эти параметры в 99% игр остаются неизменными
    • Normal (x,y,z) — поля для ввода группы данных определяющих направление нормалей каждой вершины модели (находятся в доработке)
    • TexCoord (u,v) — поля для ввода группы данных определяющих текстурные координаты модели, один из важнейших параметров импорта. Для игр, импорт которых не позволяет получить правильные uv-координаты, пара uv всегда подбирается перебором. На данный момент выявлено, что пары не могут превышать цифру 50, т.е. могут быть 6-7 или 18-19 или 24-25 или 39-40. В очень редких случаях пары uv могут быть 3-4 или 4-5 или 5-6, что входит в пределы «поля определения нормалей», а так же 8-6 или 12-11, что идёт в разрез со здравым смыслом, но тем не менее может быть.
  • Transformations (трансформации):
    • Scale — масштаб импортируемой модели
    • Rotate X — поворот по оси импортируемой модели
  • Tex.0 File Level — выбор номера текстуры, которая будет присвоена модели после импорта
  • Flip UV Vertical — инвертировать расположение uv по вертикали
  • IMPORT — кнопка для начала процесса импорта

Для импорта модели жмём кнопку «Обзор»:

Выбираем .rip файл, и жмём «Открыть». Модель загрузится в 3ds max. Если результат вас не устроил измените режим Vertex Layout импорта с Auto на Manual, откроются дополнительные настройки для импорта:

Приложу так же картинку для наглядного понимания что за цифры и за что они отвечают (цвета/зоны на картинке ниже соответствуют цветам на картинке выше):

На этой картинке показан шаблон данных .rip файла. Из шаблона следует: зелёная зона (модель), синяя зона (нормали), оранжевая зона (uv, текстурные координаты), подробнее:

  • данные вершин (сама модель) строится по первым трём значениям (00=x, 01=y, 02=z), так же эти цифры соответствуют тому, что есть в импортере, т.о. 00=0=x, 01=1=y, 02=2=z. Значения эти в импортере можно изменить на какие угодно цифры, но в 99,99% игр эти значения остаются неизменными, и лучше их вообще не трогать
  • данные нормалей (для групп сглаживания моделей, соответствует цифрам 03, 04, 05) — в текущей версии не закончено, изменение значений не даст результатов
  • uv, текстурные координаты — представляются двумя цифрами (06, 07 или 07, 08 или 24, 25), а не тремя как в случае с вершинами или нормалями — в 80% игр остаются неизменными, но бывают игры (например: Battlefield: Bad Company 2 или NFS: Run) где необходимо изменять эти значения, а иногда значения даже заходят в зону «нормалей» (т.е. могут быть 03, 04), но никогда не заходят в зону «вершин». Значения эти нужно менять простым перебором/подставлением. На картинке ниже — пример.

Таким образом выбрав модель, настроив процесс импорта (uv, масштаб, поворот и т.д.) нажимаем кнопку IMPORT. Модель загружена в 3ds max.

Так же можно импортировать модели массово. Для этого нужно вместо Single в Source Select выбрать Group, а в RIP File Nums написать цифры соответствующие имени модели .rip в таком виде: 15,489,0, 50-85

После этого настроив процесс импорта жмём IMPORT, все файлы соответствующие написанным цифрам импортируются в 3ds max. Скорость процесса зависит от сложности и количеству моделей — иногда придётся запастись терпением.

Примечание: Следите за тем чтобы файлов не было очень много, или перенесите текстуры в отдельную папку: бывает такое, что огромное количество текстур, которые ложатся на импортированные объекты перегружают 3ds max и он «падает/закрывается» с ошибкой.

Модели (иногда и текстуры) могут быть так же загружены в Blender или Noesis:

  • для импорта моделей в Blender используйте этот python-скрипт (написанный Akaito);
  • скрипт для импортирования в Noesis находится в архиве с NinjaRipper;

4. О текстурах. Текстурами всегда являются .dds файлы. Они автоматически загружаются в 3ds max. Стоит учесть, что каждой модели соответствует несколько текстур: например есть модель Mesh_0000.rip, ей могу соответствовать несколько текстур с именами Tex_0000_1.dds, Tex_0000_2.dds, Tex_0000_3.dds и т.д. В 3ds max можно загрузить только одну из эти текстур. Какая текстура будет загружена выбирается в имортере функцией Texture Indices изменением цифры.

Примечание: Если вы используете программы генераторы «превью» для .dds файлов в Windows (я использую Mystic Thumbs) то при рипе игр на dx11 такие .dds не будут показывать мини-превью, всё потому-что они имеют неправильный заголовок файла, данная проблема пока не решена.

5. Результат. Результаты некоторых рипов из игр Battlefield: Bad Company 2, Battlefield 3, NFS: Run, Expendables 2:

151 thoughts on “Ho to use Ninja Ripper

  1. Ребят, подскажите а эта прога из СТИМ игр сможет модели вытащить или нужна пиратка ?

  2. Даниил, да, конечно будет работать с лицензией.
    правда в некоторых случаях, игра запускается не с .exe, а с лаунчера, тогда рекомендую качать кряк на игру и запускать так же через стим. а вот если это онлайн игра, которая запускается с лаунчера то проблем может быть больше — в этом случае на удачу.

  3. а эта прога не сможет обратно в игру закинуть исправленную модель.
    или тут нужны другие средства?

  4. а эта прога не сможет обратно закинуть ту же самую модель,но только после изменений. или тут нужны другие средства?

  5. А если нужна не Т-поза , а поза как из игры. Как сделать такое ?

  6. использовать 3dRipperDX или сконвертировать модели с костями и поставить в позу руками.

  7. Захарчик, положить dll риппера рядом с exe (не лаунчером) и надеяться что не забанят.

  8. Ищу человека, способного рипнуть пару моделей со скетчфаба. Отблагодарю палкой или wmr

  9. 2019 год, а аналогов 3D Ripped DX даже за деньги до сих пор нет.
    А чем с этой что то сделать, быстрее XP поставить

  10. Использую для рипа с сайтов.
    в целом норм
    но вот со sketchfab да все полигоны есть
    но они как спроецированы на три плоскости или как в угол вжаты
    т.е. даже возможно ошибка отображения.. смотрел в Noesis

  11. Народ выручайте, после импорта рип файлов в 2009 максе приходится экспортировать в 8 макс в формате obj, и уже от туда в редактор FEAR, но вот беда, скин не налаживается, будто бы сбиты координаты uv, я уже все перепробовал, что за ересь.

  12. Короче ребят тем у кого при импорте слетают UV кординаты текстур: в параметрах UV Cordinates:
    в ячейках Scale: ставим 0.00244
    тоесть должно получится
    Scale:U 0.00244
    Scale:V 0.00244
    Внимание! Так можно зделать только в GIMS Evo импортере
    Примечание:
    В стандартном импортере значения подбираются по другому, и эти не подойдут.
    Примичание 2:
    GIMS Evo стабильно работает на 12 версии 3д макса, тогда как на 18 как не пытался не смог добится корректной работы.
    Примичание 3:
    Указаный мною диапазон не идеален, но близок кнужному результату. Суть в том что на придидущей винде значение UV Scale было 0.00231 (я хз что на него влияет)
    Для того чтобы правильно выставить значение UV Scale нужно импортировать простую модель (ящик или дверь чтобы тайлинг текстуры был равен 1 (тоесть текстура = размеру модели) также сетка должна быть максимально простой и прямоугольной) после чего применяем к модели модификатор UV Unwrap и смотрим совпадает ли сетка с текстурой или нет, после чего меняем значение UV Scale в большую или меньшую сторону. и снова повторяем, грузим модель импортером и смотрим совпадает ли сетка с текстурой, и так пока не подберете оптимальное значение.
    Если че пишите на почту alexangel77719@gmail.com

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *