Technical requirements for items
Below you'll find all the technical information you'll need in order to create a valid item. However, technical requirements are only a small part of creating a successful item. Before you get started, please take a moment to read our articles on character
and shader mask
Links to hero models and guidelines
General Submission Requirements
- The original content for heroes can be downloaded from their individual budget page. Please do so rather than decompile the mdl's.
- The geometry budgets listed per hero are in triangles.
- For geometry source content, we accept .SMD .DMX or .FBX
- For texture source content, use .TGA
Due to unique design of every hero - each of them has different geometry budgets for his items. Be sure to check the individual hero page for specific information on item budgets.
Each item can have two models with different level of detail (LOD). LOD 0 model is used in the portrait, LOD 1 model is used in-game. LOD 0 is approximately twice as detailed as LOD 1. . Internally we create LOD 1 out of LOD 0 by optimizing and removing small details.
Your item should be approximately the same dimensions as the hero's default items. A hero's selection area will not grow or shrink to fit custom items.
Most hero items are created on top of the geometry of bare hero. For example, the geometry of a hero's forearms is not removed; his bracers sit on top of it.
Hard edges and smoothing groups are OK to use, but are best kept to a minimum, as they break up the vertices and add to an item's vertex count.
Your item's geometry should be skin-weighted to the default hero skeleton from their "_model.ma" maya file. Additional bones may be added but must be rooted to one of the joints in the hero skeleton.
That said, there are constraints on the number of bones a hero may have, so be conservative in using them. If this is an issue we will let you know.
Please note that Dota 2 does not support double-sided materials; you will need to create geometry where a backside is needed.
UVs and Texturing
Due to unique design of every hero - each of them has different textures budgets for his items. Be sure to check the individual hero page for specific information on item budgets.
To achieve better texture details you can overlap UVs on symmetrical or repeating parts of the model but do not weld them through. Internally we offset overlapping UVs +1 in U direction
Texture seams are better kept to a minimum as they break up the vertices and add to an item's vertex count.
In general, you can push an item's UVs to the texture borders closer than usual because hero's and item's textures all added together in-engine.
Item textures do have some very specific requirements in order to be accepted. These rules are:
- All textures must be present - color, normal, mask 1 and mask 2
- All textures for an item should have the same resolution equal or higher to the item resolution specified on hero's page. If they don't, the submission tool will scale them up or down which might result in reduced quality.
- We author source textures 4 times larger than the in-game size for painting and promotional purposes. E.g. a typical weapon has texture resolution of 256x256 pixels in game but source art is 1024x1024
- The "_color" texture can be 24 or 32 bit.
- Alpha channel of 32 bit "_color" texture can be used as opacity for your item if alpha is allowed for this hero.
- The "_normal" texture should be 24-bit and use the 3dsmax format(red channel is left; green is up; blue is top). If you aren't creating a custom normal map, use a flat normal color (128,128,255).
- "_mask1" is a 32-bit texture and every channel is used.
Red is the detail map mask.
Green is the diffuse and fresnel warp mask.
Blue is the metalness mask which controls where the Color and Fresnel are suppressed. Works best in combination with mask 2 blue channel "tint specular by base color" which brings the color back through specular.
Alpha is the self-illumination mask, where the color is drawn from Color texture. Even if you are not using this, fill it with black and pixel of non-black in the corner of the material. This is done in order for texture compiler to keep this channel. If it is entirely black or white, it will be thrown out and the shader will think it's pure white and your item will be full bright.
- "_mask2" is 32-bit and again every channel is used.
Red is specular intensity.
Green is rimlight intensity.
Blue is "tint specular by base color", white color in this channel will color specular highlights by diffuse color from _color texture, black will keep specular highlights of whatever color light affecting the surface is.
Alpha is the scale factor of specular exponent from hero shader(vmt). For example, if the specular exponent is set to 16, then values for this channel of 0...255 will control exponent values from 0 to 16. Even if you are not using this, fill it with white and pixel of non-black in the corner of the texture. This is done in order for texture compiler to keep this channel. If it is entirely black or white, it will be thrown out resulting in a different texture format when compiled.
If you haven't already, please take some time to read our articles on character
design. And keep in mind, very busy designs with a lot of high-frequency detail don't work well. If you can not see it from in-game perspective - it's probably not worth doing. Normal maps work best in combination with high specular and other masks. Also, always avoid pure white and black color.
All shader settings for all of a hero's items will be derived from the base hero material. The game automatically creates single model and texture out of the hero and his currently equipped items, and assigns a single shader to everything. We do not support item shaders that differ from the hero shader. For example, an additive item on a solid hero isn't supported, but the hero material is very powerful and supports a range of effects, so there is almost always a way to achieve the desired effect. Because of this, the quickest way to create a material file for your item is to simply copy the hero material file as your item material file and replace his texture names with the item's texture names.
Again, we do not support double-sided materials; you will need to create geometry where a backside is needed.
Particle FX are doable on economy items. More information on that to come.
If you so choose, your item can modify a hero's animations when they equip it. More information on that to come.