Installing the tool to export to Dota
To export your model into Dota you will need to export it in .DMX with the addon "Blender Source Tool": http://steamreview.org/BlenderSourceTools/ (don't unzip it)
To install the add-on go in File > User Preferences... in the Add-ons tab click "Install Add-on from File..." and select the .zip. Type "Source" in the search bar and make sure it is enabled.
Importing and editing a game character from Dota
You need to import a character, your model won't compile if it's not attached to the armature of it. You can find the heroes of the game here: http://www.dota2.com/workshop/requirements
Import the SMD files with the add-on if there is only an FBX, they often have a bug with the scale of the bones, if this happens read my post bellow on how to fix the.
To import your SMD files you can use shift and left click to highlight the files and import them all at once. Each SMD have the armature but it will be imported once.
The model will be laid down horizontally and be very big in the viewport, you can orient it correctly and apply the rotation but you will need to keep the same scale when exporting. You can scale the bones to 0.01 to model your assets.
In this example I am adding the head of Suzanne on top of the head of the heroe Alchemist.
To attach it to the armature, select the model you have made first then the armature, then press Ctrl+p and select "With Empty Groups".
To bind the model to a bone you need to go in the property menu, in the Data tab with a triangle as an icon, in the Vertex Group menu. You will see every bones listed, to order them alphabetically click on the black arrow pointing downward then click "Sort by Name".
In edit mode select the vertices you want to bind to a bone, I select the entire Suzanne head, stay in edit mode and in the menu I select the head bone and click Assign with a Weight of 1 (1 = fully connected).
Now to test it I select the head bone in Pose mode and move it, the model now moves with it, if not check if it is connected to the correct Vertex Group.
Exporting your model
In the property menu go in the Scene tab, it's the third tab from the left. Scroll down to Source Engine Export. Set the path where to export it. For the format make sure it is DMX. Change the DMX Version to the highest numbers: Binary 9 and Model 22.
Note: you can't name your DMX, you must name your asset in the "n" menu. The file will take the name of the active selection.
You can also create a basic normal map to test your model, by creating an image filled with the color RG: 0.502 B: 1.
Compiling and testing in game
To test your asset in Dota 2, right click on the Dota 2 game on Steam and go in Properties. Click on the DLC tab and check Dota 2 Workshop Tools DLC, steam will automatically download it.
When you will launch Dota, a pop-up window will ask you if you want to launch the game or the workshop tool (if it doesn't appear it means the download isn't finished), select the second.
Click on Create New Item, then Hero Item..., select your hero and slot that your asset will replace, then click Select.
Name your asset you can't use uppercase and spaces.
Import the normal map. For the color map (diffuse map) you can use a basic color texture to test your model and silhouette.
For now set the Specular Intensity Mask with RGB at 0.1 because on some heroes the asset is too shiny and a Rim Intensity Mask at RGB 0.2.
If you get an error during the compilation here are the things to check:
You can play the different animations, by default it's on idle and the Preview in game will launch the game. Do a test in the Dota map, remember that most details are seen from the top view, remove unnecessary details.
For the textures use a suffix, for example alchemist_head_color.tga. Use the TGA format and the texture resolution of the hero requirement page. Here are all the suffixes in the same order than the Workshop settings:
Valve has made a post with advice on texturing: https://support.steampowered.com/kb/9334-YDXV-8590/dota-2-workshop-character-art-guide More informations about the different maps: https://support.steampowered.com/kb/3081-QUXN-6209/dota-2-workshop-item-shader-masks
Fixing the bones (if an FBX is used)
When the SMD files aren't available the only option is the FBX. In this format the bones aren't oriented and scaled correctly, but we can export a .DMX from Source Filmmaker. In Blender import the .FBX an delete the armature, the character will lay down, orient it correctly, you can apply the rotation. If you change his scale don't apply it.
To download Source Filmmaker go in your Library of games and change the Games menu at the top to Software, you will see Source Filmmaker, do not launch it from there because you won't have access to the Dota assets.
Launch the Dota Workshop tools and click at the bottom on "Launch Custom Game Tools".
A window will open called Asset Browser, click on the Source Filmmaker icon at the top it will launch it.
Create a new session, name it whatever you want.
Open the Animation Set Editor tab at the top left and click on the "+" icon then click on "Create Animation Set For New Character".
Then choose your heroe, it will appear in the viewport.
Now do a right click on the heroe name followed by a 1, it is the first line and select Export > Animation. This will export your model in his default pose with his armature, you can name the file heroename_rig_fix for example.
Import the asset it's a .dmx. Go in Pose Mode, it's important that you use this mode and not the Object Mode. So in Pose Mode select every bones with "a" then press Alt + g and Alt + s, the armature will be horizontal and on the side.
In Object Mode orient the rigging to match the heroe then apply the rotation.
Select every meshes of the heroe and in the modifier tab assign the armature, if the mesh doesn't move it means the armature is oriented corectly. In Pose Mode the character should move with the rigging.
Create a courrier
Create a ward
The observer ward and the sentry ward share the same mesh and UVs, the only difference is there texture. What differentiate them the most is the color of the eyeball, this is why it must be big and visible from above.
More informations: How to create dota 2 assets ? (Steam Workshop)
The following heroes require effects for their weapon(s): Abaddon, Anti-Mage, Bounty Hunter, Doom, Ember Spirit, Juggernaut, Kunkka, Phantom Assassin, and Skywrath Mage.
You must create a contour of you mesh with an higher vertex count than your weapon for an higher precision. Export the DMX separately, use the same name than the weapon and add the suffix "_fx".
Stylized hair creation
The curves allow to create strands of hairs that you can quickly place and shape. You will need three things, the hair strand direction, a taper curve for the width and a taper for the shape to extrude.
Add a Curve > Bezier, in edit mode move it of 1 unit to the right so the root of the hair strand is on the origin. In the side view from the right (numpad 3) rotate the hairs in -90 degrees in edit mode. Scale the curve in object mode to 0.15, then apply the scale. For the resolution Preview U to 20. You can name it hair so you can select them more easily in the outliner.
The taper determine how wide the hair strand is. The space between the origin and the curve allow to adjust it. Adda curve, the default shapes can be used for the taper. You can scale it down to 0.15, it has no effect on the wideness if you do not apply the scale. Name it "hair taper".
The bevel is the shape that is extruded along the curve. To create it add a Curve > Circle change the Handle Type to Vector with the V shortcut. Scale it to 0.12 in edit mode then in Y by 0.4. Then set the vector type to automatic. Name it "hair bevel".
Here is the result (base mesh: https://cubebrush.co/marketplace?q=anime%20base%20mesh&product_id=1qqfhg ):
=== TEXTURING ==========================================================================