Дозвольте розповісти про ninja ripper - навчальні посібники - портал спільноти cryengine

Дозвольте розповісти про Ninja Ripper

І так все привіт, сьогодні я розповім як користуватися Ninja Ripper. У статті докладно описаний процес "ріпа" моделей і текстур з ігор використовують в якості API directx версій 8, 9, 11 і імпортування "ріпнутих" моделей / текстур в 3ds max. Важливо: якщо ви досвідчений користувач ПК, то для вас складністю може бути тільки налаштування імпорту UV. Інше все просто. Однак, я спеціально "розжував" процес для всіх користувачів.

Натисніть сюди, щоб дізнатися більше

Натисніть сюди, щоб дізнатися більше

Опис функцій:
Target (DX8, DX9, DX11 application) (вибір додатки / ігри для ріпа):
Exe - поле для введення прямого шляху для виконуваного файлу програми / гри
Arg - поле для введення додаткових параметрів запуску для виконуваного файлу
Dir - поле для введення прямого шляху до папки містить виконуваний файл (підставляється автоматично після вибору .exe, не потрібно змінювати)
No Wrapper - режим, при якому Ріпер намагатиметься запустити exe додатки / ігри безпосередньо, використовуючи для ріпингі тільки intruder.dll, якщо цей режим не спрацює (нічого не ріпа) то потрібно вибрати один з режимів "Врапера"!
Режими "Врапера", при яких Ріпер скопіює d3dX.dll Ріпера в папку містить виконуваний файл програми / гри, після цього вікно Ріпера можна вже закрити, далі можна запускати гру з будь-якого місця, скопійована ріпером d3dX.dll буде автоматично "цеплятся" в гру при запуску будь-яким способом, дозволяючи ріпа моделі. Таким чином більш не потрібно запускати сам Ріпер для цієї гри.
D3D8 Wrapper - для ігор на directx8
D3D9 Wrapper - для ігор на directx9
D3D11 Wrapper - для ігор на directx11

Примітка: видаляти .dll з папки з грою треба вручну (у відповідних випадках), настройки Ріпера відтепер зберігаються в реєстрі!
RUN - кнопка для запуску програми / гри
Output Directory (директорія для збереження ріпнутих моделей):
Dir - поле для введення вихідної папки (автоматично підставляється), цю папку можна вибрати вручну, не забудьте поставити галку в Do not overwrite by EXE
Browse - кнопка для відкриття папки обраного виконуваного файлу
Do not overwrite by EXE - при активації цієї функції вибір виконуваного файлу не буде переписувати вихідну папку
Settings (налаштування):
RIP - вибір кнопки, натиснувши на яку проводиться рип
Forced to save (Textures) - вибір кнопки для форсованого збереження тільки текстур.

1. Налаштування Ріпера. Розпаковуємо вміст архіву в будь-яку папку. Запускаємо програму.


2.Вибіраем гру яку хочемо "ріпа". У вікні Ріпера тиснемо кнопку для вибору .exe ігри


3.Вибіраем режим, в якому буде проводиться "рип" гри. Режим залежить від того, на якому directx працює гра. Опис режимів:


• No Wrapper - режим, при якому Ріпер намагатиметься запустити exe додатки / ігри безпосередньо, використовуючи для "ріпингі" тільки intruder.dll, якщо цей режим не спрацює (нічого не ріпа) то потрібно вибрати один з режимів "Врапера"!

Режими "Врапера", при яких Ріпер копіює d3dX.dll Ріпера в папку містить виконуваний файл програми / гри, після цього вікно Ріпера можна вже закрити, далі можна запускати гру з будь-якого місця, скопійована ріпером d3dX.dll буде автоматично чіплятися в гру при запуску будь-яким способом, дозволяючи "ріпа" моделі. Таким чином більш не потрібно запускати сам Ріпер для цієї гри.
• D3D8 Wrapper - для ігор на directx8
• D3D9 Wrapper - для ігор на directx9
• D3D11 Wrapper - для ігор на directx11.

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


5.Процесс "ріпа" гри. Після запуску гри і вибору потрібного місця натискаємо на кнопку "ріпа", за замовчуванням це клавіша F10. Після натискання F10 гра "підвисне" на секунду, далі гра трохи "сіпнеться" і знову зависне на якийсь час (близько 5-25 секунд). Тривалість "ріпа" залежить від "якості" гри і потужності комп'ютера. Під час процесу ріпа гри в папці з грою де розташований її .exe створюється папка з моделями в форматі .rip і текстурами в форматі .dds.

Натисканням на кнопку ріпа текстур (за замовчуванням F9) "ріпа" тільки текстури і зберігаються так само в папку з грою туди де розташований .exe.
Про завершення процесу ріпа можна дізнатися по "отвіснувшей" грі.
Варто також враховувати, що в деяких іграх процес ріпа "вішає" всю гру, тобто після завершення ріпа і "відвисання" гри можна продовжити з того ж місця, з якого гра "зависла". Однак є і такі ігри, які продовжують виконуватись навіть під час ріпа і після закінчення процесу ви можете в'їхати в бік якогось позашляховику, а суперники будуть далеко попереду.

6.Імпортірованіе моделі в 3ds max. Відкриваємо 3ds max. В меню MAXScript> Run Script. вибираємо скрипт ninja_importer.ms, відкриється вікно:

7. Для імпорту моделі тиснемо кнопку "Огляд":

8.Вибіраем .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 і він "падає / закривається" з помилкою.

Про структурах. Текстурами завжди є .dds файли. Вони автоматично завантажуються в 3ds max. Варто врахувати, що кожної моделі відповідає кілька текстур: наприклад є модель Mesh_0000.rip, їй можу відповідати кілька текстур з іменами Tex_0000_1.dds, Tex_0000_2.dds, Tex_0000_3.dds і т.д. У 3ds max можна завантажити тільки одну з цих текстур. Яка текстура буде завантажена вибирається в імортере функцією Tex.Num зміною цифри.

Примітка: Якщо ви використовуєте програми генератори "превью" для .dds файлів в Windows (я використовую Mystic Thumbs) то при ріпі ігор на dx11 такі .dds не показуватимуть міні-превью, все тому-що вони мають неправильний заголовок файлу, дана проблема поки не вирішена.

Результати деяких рипів з ігор NFS: Run, Expendables 2:

Ну ось начебто і все, вдалого ріпа всім =) гри. Після запуску гри і вибору потрібного місця натискаємо на кнопку

"Ми віримо в неймовірно світле майбутнє, яке з року в рік стає все тьмяніше. Нехай воно вислизає від нас, але це не має значення. Адже завтра ми побіжимо ще швидше, протягнемо руки ще далі. І в один прекрасний ранок. Ми немов човни, все намагаємося пробитися крізь справжні, але нас безжалісно відносить в минуле. "

  • На початок