How to rip 3d models from games
How to rip 3d models from games
How to rip 3d models from games
Copy raw contents
THIS ARTICLE IS STILL UNDER CONSTRUCTION
Grabing Models and Textures from Game or 3D application
There are already a few methods of how to grab or export models with textures from any game or application. I would like to divide them into two main groups:
Example of usage:
Bonus: (This section will come)
There is many ways and reasons how or why you want to use obtained data:
Lethal way
Lethal way breaks all Legal agreements with software/game vendor and distributor. Simply you are not supposed to reverse engineer a product or ‘steal’ any kind of content created by a vendor it is their own intellectual property. But we are doing it because it is fun and most the hardcore fans do not simply care. At least what you can do is not to share «ripped» content for commercial purposes.
Graphics analyzers / profiling tools: Are designed to grab everything that goes to the memory of Graphic card during a single frame, utilizing frame breakdown, analysis or investigation.
3D Ripper DX Is old but still works fine for old games using DirectX 6x, 8x, 9x.
Note: Instalation is password protected, type: ripper
Ninja Ripper Works great for most of games based on DirectX 9x, 10x, 11x and newer.
Before you will start to use any Ripper tool or Graphics analyzer it is a good practice to understand what the Tool does and what is happening inside application.
At first,you must be aware of which Graphics API does the game run and check if tool or software of your selection does support that criteria, otherwise it might not work.
There are some cases of «software protection» against reverse engineering tools that will disable the functionality of software disassemblers or profilers or even prevent it from running the application.
The second you must realize that it is impossible to capture Frames per second in real-time from the graphic card, so every time you will do the ‘Frame grab’, the application will freeze for a few seconds or minutes.
And for the third, you must be aware that everything you are grabbing is handled by Game Engine of the game itself. Generally, Game Engine has its sub-system called ‘Rendering engine’ which is in the most common way responsible for managing everything that you see on the screen and in what order it will be displayed.
The Rendering engine is working with all 3D data structures such as vertices, polygons, UV coordinates, and textures. Under the hood Rendering engine is also handling their optimization before sending it to the video buffer memory and before it is all displayed in the frame of the application.
You will find more informations in Own Tool section.
So you might also grab additional «unwanted» data, which are practically hidden but their representation still exists in video memory such as:
Example of Usage:
The following game selection was made not because I loved those titles, but because there is still a lack of third-party community extraction tools for file formats. They are hard to crack or not interesting enough to give a try. This serves as proof that you can still extract game data from most of the games without official or community support.
For a Graphics Analyzer section I have used the DirectX 11 game steam-version of Alien: Isolation from Creative Assembly.
For Ripper Tools section I choose to use older DirectX 9 game steam-version of Dead Space 2 from Visceral games (EA)
Using a following software:
Using 3D Ripper DX
A 3D Ripper DX is a tool which enables you a grab frame data like 3d models, textures, and shaders. For 3d models it utilizes own file format called «.3DR» so for a successful viewing you must have any version of 3D Studio Max from 2009 to 2014 and installed import plugin which is included in 3D Ripper DX installation. Any other data such as textures (DDS Format) and shaders (Plain Text format) are viewable with common tools included in Windows 10.
Note: Shaders are in compiled form so you need to understand for DirectX HLSL Shading language with Fixed Function pipeline its instruction set and registers for a proper decomposition. You can follow for example this guide
Using Ninja Ripper
Usage and principles are almost the same as 3D Ripper DX, but Ninja does not support wireframe mode. Ninja Ripper also utilizes its own format «.RIP» which is exportable via Python plugin for 3D Studio Max. (Already included in software folder ‘/tool’ directory).
From results, we are able to see one main difference between Ninja Ripper and 3D Ripper DX is that tool captures the scene before any transformations from GPU shaders, it simply means that characters remain in the T-pose and additional/other geometry is also captured without rotation or deformation. That is one of the reasons why 3D Ripper DX is able to grab only what you are seeing on the screen.
I would like to say that every software has its own use case. For example, if I want to create «diorama» scene I will be choosing a 3D Ripper DX for a «models in motion», on another side if I would like to have non-deformed assets in their original stage I would choose Ninja Ripper instead.
Non-lethal way
Is an easy method, but time and computing-power consuming. The technique is pretty simple only what you need to do is to take many screenshots as possible from different camera angles in the application and use «processing» application which will generate a 3D model with textures from your screenshots. Quality of the generated 3D model with texture is depended on how many «takes» (screenshots) from different camera angle you did. You can follow this guide from page 8 chapter 2.
In theory, you are not altering with original data, or reverse engineering («cracking») file structures from the software vendor’s game engine, because you are just taking screenshots.
Example of usage: (Agisoft Metashape)
If you are not familiar with usage of Agisoft Metashape (Photoscan) you can folow this guide
Drag and drop photos into Agisoft Metashape do a Photo alignment which will generate a Point-cloud data.
After Point-cloud data just build Mesh
For a beter texture resolution you can rebuild Texture using «Build Texture» with higher resolution settings than defined, I have used 8k resolution which is 4 times bigger than source image resolution (1920×1080).
So a little comparsion for final image quality or result.
I will not bother you with optimisations and what you can do as next step but I will recommend to reduce polygon mesh by using something like Simplygon or InstaLOD or built-in functionality like Cinema 4D have called Polygon reduction.
Files for Download:
Data | Pros | Cons | Note |
---|---|---|---|
Models | Generated | Single file | Might have big file size. Needs optimisition |
Textures | Generated | Single file | Might have big size. In-correct UV |
Shaders | Baked | Not included | Shaders are baked in texture |
Legal | Not altering with legal agreement | x |
The most easiest way to extract data from game is to have oficial tools from game/software vendor.
How to rip 3d models from games
dragon age origins runs on bioware
inquistion runs on frostbite
star wars the force unleashed runs on ronin
brutal legend runs on buddha
mass effect 3 runs on unreal engine 3 (coincidence?)
the wolf among us runs on telltale tool
tl;dr most of the games you mentioned are impossible to port from
Dragon Age Origins runs on Eclipse Engine, Bioware is the developer.
And no engine is ever impossible to rip models from, you just need the proper tool. But in most cases, it takes an astronomical amount of know-how to code such a tool, and the more obscure a game engine is, the less likely it is that someone has done so.
dragon age origins runs on bioware
inquistion runs on frostbite
star wars the force unleashed runs on ronin
brutal legend runs on buddha
mass effect 3 runs on unreal engine 3 (coincidence?)
the wolf among us runs on telltale tool
tl;dr most of the games you mentioned are impossible to port from
Dragon Age Origins runs on Eclipse Engine, Bioware is the developer.
And no engine is ever impossible to rip models from, you just need the proper tool. But in most cases, it takes an astronomical amount of know-how to code such a tool, and the more obscure a game engine is, the less likely it is that someone has done so.
How to use Ninja Ripper [ENG | Upd 09.12.2015]
This article describes how to «rip» 3d models, shaders and textures out of the games using as an API directx 6, 7, 8, 9, 10, 11 versions for both 64 and 32 bit and import ripped models/textures into 3DS Max, Noesis or Blender.
Note: The article is designed for expirienced 3ds Max users and doesn’t cover detail things such as, for example, texturing objects, setting up materials, etc.
1. Setting up the ripper.
Unpack the archive to any folder. Run the program.
— Target (DX11, DX9, DX8, DX7, DX6, DDRAW 32/64 bit application):
Choose the mode which is depends on what directX game is running. Modes description:
Start the game by pressing the Run button:
2. Game rip process.
After game is started the folde _NinjaRipper will be created near the application exe. In game choose the desired location and click the «rip» button (F10 by default). After pressing F10 the game will «freeze» for a second, then it will run for a bit and «freeze» again for about 5-25 seconds. Duration of ripping process depends on complexity of the game and the computer capacity. During the ripping process all the ripped resources will be storing inside the _NinjaRipper folder. 3d model format is rip, texture format is dds.
Press Textures rip button (F9 by default) to rip the textures only. Press Forced rip button to rip for a period of a seconds. It’s important for ripping web sites (ex: WebGl) with 3d models. Firefox is officially supported only. I should mention that normaly after ripping process is over the game will be unfreezed and you can continue it from the same point. However there’re numerous of games which continue runnig during ripping process or games which screen will dimmed after ripping process so you can hear the game but can’t see it.
The only tested browser is Firefox. Used specs: windows 7 x64, geforce GTX 660.
1. run Ninja Ripper;
2. setup Settings/Forced button to F4 (or any other button wich browser doesn’t use);
— setup Forced Rip Interval (sec) to 5-10 (defaul is 3 sec);
3. run firefox.exe through ninja ripper (mode: D3D9 Wrapper);
4. open website you want to rip in firefox:
5. wait until webpage load completely;
6. tap F4 to start ripping process:
— models will be saved along with the textures (models can be duplicated multiple times);
7. open folder whith just ripped 3d models:
8 load rip files into 3ds max with uv pair: 3-4 (with old importer):
[FURTHER PROPERTIES COULD VARY FROM SITE TO SITE OR FROM MODEL TO MODEL]
10. to rip another model you have to clear Frame0000 folder first, because ripper will not create Frame0001 folder it will rip to Frame0000 folder again.
11. see final model:
Here’s setting for ripping from Dolphin (Gamecube/Wii emulator). Used specs: windows 7 x64, geforce GTX 660:
Riped models from pcsx2 (ps2 emulator) is heavily distorted and lack of polygons. Also the UV coordinated are not ripping correctly. So I suggest to use pcxs2 internal ripping feature:
Ripping from from psp games useing JPCSP is not possible. Because JPCSP works on Java. Hovewer you can «rip» models with JPCSP internal function:
3. Importing models into 3ds max.
For import the model choose rip file and press Import button. All available UV coordinates will be imported into uv channels. To install script copy everything from ninja_ripper_EvoGIMS_manualinstall.7z archive to 3ds Max install directory. To run importer go to your Utilities panel, look below the panel and press first Install button then Run.
Here’s detailed description of all the importer functions:
Texture Indices. Look at the texture’s ID which is related to the imported mesh. For example Tex_0001_0.dds defined by the number before «.dds» is usually used as diffuse texture.
Import This section is for settings of the mesh import.
Open 3ds max. Menu MAXScript > Run Script. choose a script ninja_importer.ms, window opens:
— Vertex Format (selecting the model building settings):
To import a model click Browse button:
Will attach an image for a visual understanding of what kind of numbers and what they are accountable (color/area in the image below correspond to the colors in the image above):
Riped models (sometimes textures) can be also loaded into Blender or Noesis tools.
Экспорт моделей из других игр
Экспорт моделей из других игр при помощи Ninja Ripper
Просмотров : | 6936 ( +12 ) |
Прислал / (а) : | NitrO |
Дата создания : | 16.04.2018 11:19:37 |
Источник : | http://cgig.ru/2012/10/ninja-ripper/ |
Рейтинг : | В статье подробно описан процесс «рипа» моделей, текстур и шейдеров из игр использующих в качестве API directx версий 6, 7, 8, 9, 10, 11 (как 32 так и 64 битных версий) и импортирования «рипнутых» моделей/текстур в 3ds max, Noesis или Blender.
Примечание: Статья рассчитана на пользователей знакомых с работой в 3ds Max и не описывает такие моменты как, например, текстурирование объектов, настройка материалов и т.п. Для конвертирования потребуются следующие инструменты: 1. Настройка рипера. Распаковываем содержимое архива в любую папку. Существует две версии рипера: для игр использующих 32-битную (в папке x86) или 64-битную (в папке x64) архитекстуру. Запускаем программу из папки, которая соответствует битности архитектуры игры. Старые игры в осно Примечание: Современные игры (2016+) используют в основном 64-битную архитектуру в то время как старые игры работают на 64-битной архитектуре. Некоторые игры работают на OpenGL, с которым рипер не работает и работать не будет. Все возможности рипера: Выбираем режим, в котором будет производиться «рип» игры. Режим зависит от того, на каком directx работает игра. Описание режимов: Запускаем игру нажатием на кнопку Run: Главное окно нового импортера выглядит так: Процесс установки GIMS Evo: Раздел UV coordinates: Раздел Texture Indices. Взгляните на индексы текстур, которые относятся (по ID) к импортируемым объектам. Например Tex_0001_0.dds имеет цифру 0 перед «.dds», что обычно определяет эту текстуру как диффузную (цветную/основную): Раздел Import. Этот раздел для настроек непосредственно импорта моделей: Раздел Preset. В самом низу окна: Открываем 3ds max. В меню MAXScript > Run Script. выбираем скрипт ninja_ripper_import_1.3.ms, откроется окно: Описание функций импортера: Для импорта модели жмём кнопку «Обзор»: Приложу так же картинку для наглядного понимания что за цифры и за что они отвечают (цвета/зоны на картинке ниже соответствуют цветам на картинке выше): Таким образом выбрав модель, настроив процесс импорта (uv, масштаб, поворот и т.д.) нажимаем кнопку IMPORT. Модель загружена в 3ds max. После этого настроив процесс импорта жмём IMPORT, все файлы соответствующие написанным цифрам импортируются в 3ds max. Скорость процесса зависит от сложности и количеству моделей — иногда придётся запастись терпением. Примечание: Следите за тем чтобы файлов не было очень много, или перенесите текстуры в отдельную папку: бывает такое, что огромное количество текстур, которые ложатся на импортированные объекты перегружают 3ds max и он «падает/закрывается» с ошибкой. Модели (иногда и текстуры) могут быть так же загружены в Blender или Noesis: 5. Результат. Результаты некоторых рипов из игр Battlefield: Bad Company 2, Battlefield 3, NFS: Run, Expendables 2: ROM Hack How to extract 3d models from nds games?Deleted UserGuestFAST6191TechromancerI lack the time right now to look into the game. Generally speaking there are three approaches to 3d. 2) The official format. This is NSBMD with textures either included in there or separately as NSBTX (do note not everything is a texture and the model colour options do quite well for some things) and animations as NSBCA. Most of the time they are compressed but with standard stuff, most of the time they have those extensions somewhere in the name but not all the time as I have seen some other things in some other games. Here is a pretty good description of the format 3) Something custom but still close to the hardware. You are not going to have an opengl type ripper like some things, though no$gba debug is free these days and has some fairly advanced 3d manipulation and viewing options. As with most play driven stuff you can always cheat and change file names to showcase end bosses/late game stuff right at the start if you want. Desmume has something in the menu but it was a placeholder last I checked (was a while ago though). All this is geared towards viewing and editing to be put back into the game, if you want to rip more than textures to put into your own game you are going to have to do it yourself. If you want something custom to go back in then some do fiddle with the leaked SDK tools for it but I am not going to help with that one, other than to say good luck finding the ancient version of 3ds max that you will need if you want to head down this path. Others try with MKDS course modifier to convert, it is not my favourite thing to do though. Deleted UserGuestI lack the time right now to look into the game. Generally speaking there are three approaches to 3d. 2) The official format. This is NSBMD with textures either included in there or separately as NSBTX (do note not everything is a texture and the model colour options do quite well for some things) and animations as NSBCA. Most of the time they are compressed but with standard stuff, most of the time they have those extensions somewhere in the name but not all the time as I have seen some other things in some other games. Here is a pretty good description of the format 3) Something custom but still close to the hardware. You are not going to have an opengl type ripper like some things, though no$gba debug is free these days and has some fairly advanced 3d manipulation and viewing options. As with most play driven stuff you can always cheat and change file names to showcase end bosses/late game stuff right at the start if you want. Desmume has something in the menu but it was a placeholder last I checked (was a while ago though). All this is geared towards viewing and editing to be put back into the game, if you want to rip more than textures to put into your own game you are going to have to do it yourself. If you want something custom to go back in then some do fiddle with the leaked SDK tools for it but I am not going to help with that one, other than to say good luck finding the ancient version of 3ds max that you will need if you want to head down this path. Others try with MKDS course modifier to convert, it is not my favourite thing to do though. Источники информации:
|