Jenny is a gamer and a 3D printing enthusiast
Creating figurines of your favorite video games characters can be easy. The in-game models usually have low polygon count, come fully textured, and are ripe for full-color 3D printing. A lot of 3D printing services such as Shapeways and Sculpteo offer the full-color 3D print service. All you have to do is package the files correctly.
For my examples, I used the Faceless Void hero from DOTA2 by Valve. Valve is exceptional in that they provide easy access to the character model files. Other games might be a little trickier figuring out how to unpack the appropriate game files.
Download your favorite Hero from Valve’s DOTA2 workshop. Heroes that would not be too good for printing are those with thin components (like, Death Prophet’s trailing scarf) or those with clear alpha-mapped areas (like, Naga Siren’s earlobes). Thin components are not printable, unless manually scaled up. The alpha-mapped areas will just print black. My Faceless Void actually has a bit of alpha-mapped areas on the bottom of his loin cloth, but I figured he’d be ok.
To get everything ready for upload to a printing service, the model needs to be packaged in a zip file. For Sculpteo, the model needs to be in an OBJ format, along with a MTL file, and the texture files. The OBJ will dictate the 3D shape of the model. It can be used by itself to print. The textures (Valve provides them as TGA files) will dictate the colors of the model. The MTL file will tell Sculpteo what parts are colored what. For Shapeways, the model needs to be in a VRML format, with the textures converted into JPGs or PNGs.
After downloading the Hero and unzipping the model files, there’ll be two folders. One is materialsrc, which will contain the materials. The other is models, which will contain the 3D models. Go into the materialsrc, and find _color TGA’s for each component. Copy those files to a new folder. These will be the color of the printed Hero.
To get the OBJ and MTL files, open up a 3D modelling software. I used 3D Studios Max 2013. If Valve provides an OBJ, it’s not really possible to use it since the MTL files produced will be incorrect (the texture mappings are wrong). Instead, find the fbx files in the models folder. Each fbx file will contain a component of the Hero.
For each one of those fbx files, select the solid-looking mesh and export the selected as an OBJ. The wire structures are bones, used for animating the Hero, and can be ignored. Create a new scene after each export to clear the screen.
Once all the components are exported as an OBJ, import all of the OBJs into a single scene. They should be all positioned correctly to form the hero.
Press M to texture the hero. Click on a white sphere, and click on the box next to Diffuse. This will bring up the Material/Map Browser. Clicking on Bitmap, and browse for one of the TGA textures. Drag and drop that texture on to the corresponding component to color the Hero. Hopefully all the mapping are correct and the Hero will look like it popped right out of DOTA2.
Sometimes the mapping isn’t correct and it’s a pain to fix (like Faceless Void’s mace).
Once everything is texture, select the components you want to print and export them as an OBJ. Make sure “Export materials” and “Create mat-library” is checked. Click the Map-Export button and it will tell you where the final MTL file will be created.
Step 9 (Sculpteo)
Gather the final OBJ, the MTL, and the TGAs into a zip file and upload onto Sculpteo, if you are using Sculpteo. Sculpteo is super nice in that it allows you to scale, and gives you a price quote. Be sure to check for solidity, which will tell you what areas are too thin / easy to break. When you’re ready, choose multicolor as the material, select your size, and add to cart.
Step 9 (Shapeways)
Check the final print size of the figurine, by importing it into netfabb. Since Shapeways does not allow for scaling adjustments on their website, you have to make sure your objects are the correct size before you upload. Scale your object in 3D Studios Max instead of netfabb because netfabb doesn’t handle texture coordinates.
Step 10 (Shapeways)
Convert your textures into PNGs or JPGs since Shapeways doesn’t handle TGAs. Re-texture your now-scaled mesh (same as Step 7) with the PNGs/JPGs, and export it as a VRML.
Step 11 (Shapeways)
Zip the VRML and the corrected textures and upload to Shapeways. When you’re ready, choose sandstone as the material, and add to cart.
The original version of this post was published on Jenny’s personal blog.