• Главная
  • Карта сайта
Не найдено

Ho to use Ninja Ripper «CG in Games

російська /   English   Офіційна сторінка підтримки на cgig російська / English

Офіційна сторінка підтримки на cgig.ru/forum

[Оновлене 2017 Лютий 05: долучення рип з браузера Chrome]

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

Увага: Ріпер не підтримує і не буде підтримувати рип моделей зі збереженням їх ігрових позицій як це робить 3D Ripped DX .

Увага: Ріпер не підтримує і не буде підтримувати рип моделей зі збереженням їх ігрових позицій як це робить   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 - поле для введення вихідної папки (автоматично підставляється), цю папку можна вибрати вручну, не забудьте поставити галку в Do not change the path;
    • Browse - кнопка для відкриття папки обраного файлу;
    • Do not 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;

Можна налаштувати режим Врапера:   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 і прораховувати чи ваги на імпортовану модель:
    • Do not 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:

Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью