Reverse Engineering StepMania Characters

Stepmania - Reverse Engineering Existing characters!

It appears that some people were interested more in how to extract characters from StepMania in order to understand how the process works. I should note that you should only do this if you want to get a better understanding for how StepMania characters are designed and how the program re-assembles the data structure once it was received.  So this is an add-on tutorial explaining how to take a character that you may have downloaded from this site. and then how to view it in MilkShape and even have it animate right before your eyes!

Prerequisites

  • Milkshape 3-d - download a demo of it here - The cost for this program is rather cheap!
  • an unzipping tool - WinRAR is my personal favorite and can be downloaded from rarlab.com (do not go to any other sites which claim themselves as WinRAR on Google or bing as a lot of them are spyware/scam programs)
  • A character file from Stepmania - you can go here if you want to download some - or check out the Stepmania forum for some Mediafire links.
  • the dance moves for a character -  hosted locally - click here to download that.

Let us Begin!

(3rd) Emi (b) character directoryIn this tutorial example, we're going to use the (3rd) Emi (b) character that was going on the site listed above. When downloading your file it will have a .smzip file extension for any and all Stepmania themes, songs, characters, note skins, etc. Just rename it from a .smzip to a .zip and you should be able to extract it with any unzipping tool. The file that contains the mesh of the character is model.txt which is saved in MilkShape ASCII format. This is the file that we will be focusing on during this brief tutorial. MilkShape-3d Import Emi MessIf you attempt to do a 'File' 'Import' 'MilkShape 3d ASCII' import of the model.txt in your Emi character file you will get something that looks like this. Basically a ball of unrecognizable mesh data. And if you remember from the earlier tutorial this is because all characters in Stepmania are saved without their bone data as the Stepmania program pulls that data from another file. Model.txt problem for stepmania charactersIn the model.txt when you scroll down past all of the mesh and UV map data (Note: Line 1774 for this Emi file, this line number will change depending on the character you open) and you see where the problem is; All of the coordinates for the bones have been zeroed out which warps the entire mesh into a tiny ball.

Fixing the "model.txt" so it is usable again.

Bones helper file selection for stepmania bones and animation Now we need to go and find the dance bone animation files. which can be extracted out of the "bones+helper.zip" file. A brief description of what these files are is these are bone animation files that were extracted out of the original Konami DDR PC version of the game. The model's mesh files, UVs, and bones, were all extracted and re-exported into Stepmania. The files were separated so the bones could be used on all Stepmania characters. This is why when you looked at the emi file directory example you just found a .redir instead of these bone files. Selecting the entire bone text file for stepmania characters For this example we are just going to click on _DDRPC_common_Dance0001.bones.txt which is where all of the bone data exists in. be clicking 'edit' and 'Select All' and then 'copy' will ensure we copy every single line in this text file, which is 16 bones with 748 frames of animation.   Copying Bone data into the model.txt file for stepmania Next, we are going to open the models.txt of the character that we are working on. In this case the "Emi" character. highlight all of the bones that are zeroed out and pasted all of the data from _DDRPC_common_Dance0001.bones.txt file . Then, save the file as model-b.txt so you don't overwrite your existing character and -really- mess up your model when it is processed by Stepmania.  Once the model-b.txt file is saved (or whatever you want to name it) we can re-import this into MilkShape using the MilkShape 3d ASCII import. MilkShape-3d Import Emi Mess"What the hell?!? It didn't do anything!" - This is the reaction I had when I first tried to import mesh data from a StepMania character. That is until I actually had to go into animation mode in MilkShape mode by hitting the Anim MilkShape Anim Button button on the bottom right-hand corner of the screen.

Emi StepMania Model after Anim Button is pressed!After you click the animation button the model pops right into shape! Perfect!

What about the texture? I selected the texture in MilkShape but all I get is the white outline like in your example pictures?

Turn on Texture in MilkShape Preview PaneSelect Face Texture if it has one in MilkShape for StepManiaRight-Click in the preview pane of your MilkShape editor and then change it from "Flat Shaded" to "Textured" and you get to see the StepMania Object file textured. Also, if the StepMania object has facial animations as most of them tend to have. Then in order to see that you will need to go into the Materials tab. Select the "Face" material and then where it says "Face.ini" for the actual material name, change it to a logical file. In this example, I have it set up as "face1.bmp". From there; You should be able to see your character as how it would look in StepMania and be able to export it out to whatever format you choose by using the 'file' and 'export' features within MilkShape.

What about viewing the animations? I can't get MilkShape to play the animations.

Adjust frame animation settings in MilkShape 3dAdjust the 'max frame' and 'total frame' values in two text boxes on the right of the animation bar. By doing this you have told Milkshape to look past the first frame of animation which will then make those bones animate without an issue.

FIN!

End of tutorial for StepMania character reverse engineering.

End of tutorial. I hope this was helpful for anyone reading this.

Related Blogs:

StepMania Character Guide Title.Read on if you want to know more about how to make your own Stepmania characters.

Final thoughts and disclaimers.

By reverse engineering any model. I am not responsible for any damage that can occur when extracting data as well as saving the model into different formats, you should always retain backups of project files that you are working on. "Emi" and other characters within StepMania are copy-written to their respective owners and this site does in no way wish to infringe upon those intellectual properties.

7 thoughts on “Reverse Engineering StepMania Characters

  1. also one more question, do you know how to apply the default rest position to the model so when i export it in a format that isnt the ms3d ascii file, it doesnt scrunch up into a ball? i feel like you might not know this

    Reply
    • A little confused by this. Project Outfox really has no characters when downloading the binary itself. Unless there's a build on there that we didn't see. just a TXT file within the /characters/ folder explaining that for copyright reasons the bone files are not in play and there's no indication if they will provide their own bone standard or not.

      As project outfox is a fork of the StepMania 5.3x; Its source temporarily closed for very good reasons (I've seen some of the drama). It holds the same file structure as Stepmania 5.1 . Also, all of the instructions on how to install characters applies on Project Outfox as well.

      So if you reverse engineer a stepmania character. The same techniques will hold true for Project Outfox (for now.)

      - S

      Reply
        • Back when we were making stepmania characters we found the closest anim frame that represented a t-pose and exported that in order for us to make our own models. The dance system is something i'd like to revisit in the future in the hopes of porting new dance moves and getting rid of the DDR rip once and for all but that will take a bit of time.

          Glad you found your answer though. Good luck in making your own characters!

          - S

          Reply
  2. There are official characters from DDR which haven't been put into Stepmania yet like Rhythm & Blues from Japanese Exclusive Title DDR FESTIVAL and Dance Dance Revolution EXTREME US.

    Will it be possible for someone to rip their models out of the DDR Games they came from and make them compatible with Stepmania?

    Reply

Leave a Reply to tofu Cancel reply