Description
Dota 2 has a internal shader system that follows common rules for most things that are drawn to screen. Most of these rules are approximations of lighting techniques (rimlight, specularity, emmission, and so on) that are defined in two maps: mask1.tga and mask2.tga. Each color channel, with Alpha, define how light will hit the model from different angles, as well as special effects such as glow or color mixing.
Without uploading the asset in question to the Dota 2 engine itself, it can be hard to tell how an item or NPC would look in game. This material node aims to alleviate some of that. Simply plug in the image textures required for input (Texture, Normal Map, mask1, mask2, illumination map), connect the output to the material output, and render in cycles. This will give a fairly good idea how your item looks in game. The node will automatically break apart each channel and process the information accordingly. The resulting image will be of finer quality than what the game will use, so this setup is also good for sizzle shots you may want to make for advertising on the workshop.
Please Note: --Rimlight is not factored, this can easily be done with positioning lanterns. --Detail masks are not currently supported, but I have an idea how to do it for future versions...
--Blender has no way (that I know of) of separating and processing alpha channels for materials, so it must be done manually. Connect your results to the illum-Mask input.
--if your model does not glow, ensure that the emit strength is zero and the illum-mask color is pure black. Doing this also seems to speed up renders.
For closer-to-game results, render the scene with one lamp (and maybe another for rimlight), and add global illumination.
Feel free to give constructive criticism or feedback, I'm not the greatest at this.
Weaver (Dota 2 Character, shown with shader node, model not included) and Dota 2 are owned by Valve Software.
**Update July 29 2013
- nodes added to improve render speed
- Node now supports "Metalness" mask
- In depth guide for usage here: [http://steamcommunity.com/sharedfiles/filedetails/?id=164916498](http://steamcommunity.com/sharedfiles/filedetails/?id=164916498)
Comments (8)
Thank you.
Could you share an screenshot or link about how to use this node? It seems interesting.
After thorough review, it turns out that half-lambert, the shading technique for required for the glowy effect of the Dota 2 models, is impossible in Cycles at the moment, and downright unfriendly in Blender render. This means that, until HL is added, The best representation will have to wait. Otherwise, guide incoming :) .
good Job thx for this! worked for me under 2.68a
I can't find the NodeTree folder when I append
Try now, should be fixed.
Thx a lot!
Image Texture node now (2.69 at the time) has Alpha channel output. So i guess you no longer need to extract it manually.
Sign in to leave a comment.