Skip to content
This repository has been archived by the owner on Sep 1, 2023. It is now read-only.

Ripping Models

Justin113D edited this page Feb 6, 2020 · 22 revisions

How to rip models

Ripping models is pretty easy!
You can automatically rip all models using the project manager from SATools. Simply Start it, enter the path to respective game, press enter and then create a new project.
You can name the project whatever you want, i prefer to just name it "Ripping". Then select the game that you want to rip and press "Create". This might take some time, as the game is taking a lot of data from the games and putting them into individual files.
You should now be able to locate the projects file in the Project folder created in the directory of the game, which is where you should be able to find all models that have been found so far.

Sonic Adventure DX

Sonic Adventure 2

Models

Models are stored in mdl and lvl files, both of which have 3 types:

  • SA1 (*.sa1mdl, *.sa1lvl) - In most cases collision models, but can also server other purposes
  • SA2 (*.sa2mdl, *.sa2lvl) - Main format for objects; only format that can hold weighted model data
  • SA2B (*.sa2bmdl, *.sa2blvl) - Mainly used for stages, as sa2blvl stages are the only ones that can display real-time shadows

The model locations for Sonic Adventure 2 projects are pretty straight forward for the most part:

  • Stages are found in the levels folder (lvl files)
  • Objects in the objects folder (mdl files)
  • etc.
  • Character models can be found in the resource folder. They are actually stored in .prs files, but the project manager automatically splits them and puts the split models into their own folders
  • Many other models are stored in the "Data_DLL" folder
    • Chao models are located in "\Data_DLL\AL_RootObject"

If you can't find a specific model that you are looking for, then there is a certain chance that the tool-devs haven't mapped it yet and as such might be among the Unknown models ("Objects\Unknown_#")

To open/convert the model:

  • Blender:
    • Import mdl files: "File -> Import -> Sonic Adv. Model (.*mdl)"
    • Import lvl files: "File -> Import -> Sonic Adv. Level (.*lvl)"
  • SATools:
    • SAMDL is used to open all mdl files
    • SALVL is used to open all lvl files

You can export from SAMDL and SALVL using "File -> Export -> Assimp export" (don't forget to set the file extension of the format when exporting)

Textures

As for textures, most textures are located in "Sonic Adventure 2/resource/gd_PC".
For the most part their file extension is .prs, but some specific textures are ending on .pak and .GVP.
You can open texture files using Texture editor from SATools.
NOTE: Textures are not the only files that use the prs file extension (as "prs" just tells us that the original file was compressed using prs compression)

Most textures have a "tex" or "tx" inside their name (e.g. "sonictex.prs", "landtx01.prs", etc.).
The textures for the character models have the same name, but with "tex" instead of "mdl"
(e.g. "sonicmdl.prs" -> "sonictex.prs").

To find the correct texture file for a stage:

  • Blender: After importing the stage, go to Properties -> Scene -> SA File info, there open the "texture list" box; The texture name should be in the "texture file name" field
  • SATools: Open the stage using SALVL. You can already see the file name you are looking for when the program is asking for a texture file, but if you already skipped that part/selected a texture file, you can still find the texture file name in "File -> Edit Info".

A more detailed list of texture locations can be found here

Animations

To rip an animation, you are gonna need an armature. Some models that have animations do not have one on import.

In order to convert them to an armature, import the model, then select only the root object of the model (the object with the prefix "000"), then in properties or the 3d view toolbar, open the submenu "SA Tools" and select the button "Armature from objects"
This will generate an armature and duplicate meshes which work with the newly created armature. You can then delete the old objects. \

Most animations that you are looking for will be in the projects resource folder. The folders ending with "mtn" (short for "motion") contain ".saanim" files, which hold the animations for the characters.
Chao animations are located in "Data_DLL/al_motion_table" First you are gonna need to use the "AnimJSONConverter" from SATools.
Simply start the program, enter the file path and hit enter.

To convert all files in a folder at once, create a batch file (file ending ".bat") and enter the following:

@ECHO OFF
FOR /R %%F in (*.saanim) do (
"YOUR/PATH/TO/AnimJSONConvert.exe" "%%F"
)

Then start cmd/powershell in the folder with all the animations, paste the path to the batch file and hit enter. This will convert all saanim files in the folder (and also in the folders of the folder).

Now, to import an animation into blender, select the armature, then go to
"Properties -> Scene -> SA File Info" where at the bottom you will the "Load Anim JSON file" button.

Once you press it, you can select and import as many .json files as you want.

The animations will be loaded as seperate actions, which you can now select for the armature.