How to 3D Print Your DOTA2 Hero (with character)
A little while ago, I printed a Faceless Void in color. I used the files supplied by Valve’s DOTA2 Workshop, assets that help artists to create new cosmetic items for DOTA2. While the Faceless Void only had the default pose, I got better at manipulating the files, and posed the printable heroes I prepared for others. For posing, I positioned the rigs, approximated game animations, and extracted in-game items to dress up the heroes. Positioning the rigs got tedious, and someone alerted me that I could import hero animations. Neat!
I couldn’t import animations with 3DS Max or Maya, but I knew I could in Blender, so I decided to learn Blender.
I absolutely love Blender.
Here’s how to 3D print your DOTA2 Hero, in color, with poses and items, in Blender.
Getting the 3D Models
1. Getting the models is a little more challenging than before. Instead of downloading them from Valve’s workshop website, the models need to be decompiled from in-game model and textures.
Follow Wyks’ tutorial on how to extract models. [link]
The hero model files should be in SMD and the textures should be TGA. Be sure to also decompile any cosmetic items’ model and texture files.
2. To be able to import SMDs into Blender, you need Blender Source Tools [link].
Posing the Hero
3. Import the hero SMD into blender.
4. Be sure to select the SMD model file that contains the hero geometry. Not all SMDs contain geometry. Most are animations. A good rule of thumb is that the SMDs with geometry has a larger filesize. You may have to do multiple imports if the hero model is cut up or if you’re importing cosmetic items. If you import animation file before you import all the geometry SMDs, it’ll be harder to pose.
5. After you’ve imported all the geometry, the hero will be laid out in a standard pose.
6. Importing an animation SMD will animate the hero. You can stop the animation at a specific frame to form the pose. If you don’t want to print the hero in color, skip to Prepare for 3D Printing section.
Coloring
7. Each object you imported must be assigned a texture to be able to print the hero in color. Select the specific object and create a new image texture for it. Select the corresponding texture. If you are using an online 3D printing service, it would be good to convert the texture from TGA to PNG, before you assign it to the model, since a some online 3D printing services can’t handle TGA files.
Prepare for 3D Printing
8. The hero might not readily printable. Certain objects might be too thin, such as the britches here, and need to be thickened. Select the object and toggle to Edit Mode. Use the Shrink/Flatten transformation to thicken the object.
9. Aside from individual objects, vertex clusters might also be too thin, such as the knives. The knives are a part of the hero’s body object but are separately clustered. Select individual vertex clusters and apply the same Shrink/Flatten transformation.
10. Some parts of the hero are only a single layer of faces. These need to be actual closed objects, with a certain thickness. Select all of relevant faces and apply an Extrude Region. This will create new faces in a different direction.
11. Select the edge loop of the newly extruded faces and close that space by pressing F. This will create a new set of faces, closing the gap.
Export the Model
12. Export model for 3D printing. For a non-colored print, export the hero as an STL. For a colored print, the file format varies. If you are using an online 3D printing service, VRML2 is a good bet. You need to create a zip of the VRML2 file along with the PNG textures to upload to those printing services.
13. Printing with an online service can be expensive. My next tutorial will be on how to save money 3D printing.
Good luck!
Happy Printing!
You’re just fantastic! Thanks!
Would you like to give more details about assigning the textures to the heroes? I am new to blender, and I am not quite sure how to do that.
Here’s a guide:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Textures/Assigning_a_Texture
You basically go into the Texture tab and add a new texture. Select Image or Movie as the new texture and select the image you want. The texture won’t show on the model unless you render the scene. It’s still applied even if it doesn’t show in the model editor.
Thank you, Jenny! It’s very helpful.
😀
Thank you, Jenny, for the snapshots of texturing! I have successfully got a colorful model.
Hey Jenny really good work you have here!
I was wondering if you could please give us access to your Pudge STL files. I understand if you don’t want to, was asking because I am absolutely horrendous with Blender. I used it during my senior design project but I am not artistic at all, the models looked really bad but our professor was lenient, coding is my bread and butter hahaha.
Hello George,
I’m glad you like the tutorial. Unfortunately, I don’t believe I ever exported the Pudge to an STL file (I exported to VRML for color printing). Also, I’m hesitant in sharing files because the model belongs to Valve and it’s against their policy to distribute their assets. On the up side, I think the tutorial is pretty straightforward to create your own. I’m sure if you work at it, you’ll be great at using Blender. Lots of people have had success printing their own models. Let me know if anything in the tutorial is unclear.
Hi Jenny, thanks for your guide. I’m a little confused about the last step Exporting Model step. So you don’t need to make a single texture mapped mesh for color 3D printing? It’s OK with these online services to have overlapping but not joined meshes?
For the services I’ve used, you don’t need to make a single texture map. You just need to include all the textures in the zip file. As for overlapping geometry, they get merged into a single piece during printing.
hey jenny, wyks’ tutorial no longer exists can you help with that.
Hmm.
The Internet Archive has his blog post archived: https://web.archive.org/web/20130630101519/http://wyksblog.com/getting-started-dota-2-cosmetics
Steam Community also has a copy: http://steamcommunity.com/sharedfiles/filedetails/?id=160121304
Hi Jenny,
This tutorial help me so much, Thanks a lot
However I’m new with blender and still learning.
I have some question about how to export the design to .stl format.
I decided the specific frame for the pose, however when doing the export to .stl format, the exported design not in the form of that specific frame, it backs to the standard pose.
Would you mind to tell me how you keep the pose in the .stl format ? (how to export coorrectly)
Hello. I just tried to export the Pudge model to STL and it worked fine. Can you give me a little bit more information on what you’re doing? Are you selecting everything when you export?
Me too. It backs to the standard pose. But 1st time I’m do it well.
Hello Jenny, thank you very much for your guide. I suppose that the described way to acquire the mdl files does not work anymore in Source 2, as no .mdl files exist in the directories.
I can find a hero model on http://www.dota2.com/workshop/requirements, but can you help me with how I can animate this .fbx model? The files include a .ma file as well but I dont know how to open that.
Best regards, Frederik
The .ma file is a Maya file. You’ll need the Maya software to open it.
Your best bet is to follow a guide on how to create new items for the Workshop. Hopefully one of the software in those guides will allow you to export to .obj files.