Dota 2 - Workshop Thread

134567629
  • Offline / Send Message
  • Joined
  • 46 Topics
  • 2.7K Replies
DOTA 2 WORKSHOP CONTRIBUTIONS

Resources

Decompiling Character Models To Use As Reference

Valve's Character Art Guide

Valve's Texture Guide
Info from Opethrockr55:

Geometry
• Budget
o hero+items: 6-7k for the portrait and 3-4k triangles in the game
o Good rule of thumb is to always stay on the lower end of the budget
• LODs
o 2 LODs required, LOD0 is used in the portrait view, LOD1 is in-game
o lod0: hero lod0+item1 lod0+item2 lod0+...<7k
o lod1: hero lod1+item1 lod1+item2 lod1+...<3k
• Item dimensions
o should be approximately the same as default items - hero bounding(hit) boxes don't change with items.
• Overlapping
o most hero items are created on top of bare hero, e.g. bracers sit on top of the forearms which are not removed, e.g. hero head is inside the helmet
• Averaged mesh normals only/1 smoothing group! Break edges by hand if you absolutely need to!
• Naming
o models should be named "slot name"+"_"+"item/set name"+"_"+"n"+"_"+"lod0 or lod1", e.g. "helmet_viking_1_lod0", "weapon_ogreclub_2_lod1", "cape_lordofdance_12_lod0" etc. No need to add hero name to it, since items are in folders by hero, e.g. models\items\axe\

Textures/uvs
• Hero+items: 1024x512 is maximum in-game texture size. It is automagically combined of hero and his equipped items textures when item changes
• Hero texture page doesn't contain any of his default items and is never bigger than 512x512 in game. That leaves 512x512 for all of hero's items. Depending on hero design the hero texture can be smaller - more items lead to a smaller hero texture and vice versa. Some heroes have main texture of 512x256, which leaves more space for items(512x256+512x512)
• E.g. Furion's hero page is 512x256:

o his default items add up to less than 512x512 - weapon 256x256, cape 256x256, horns 256x256, beard 256x128, shoulders 256x128, bracer 128x64.
o This leaves space for new items textures to be of different size
o if default bracer was replaced with bracer_celtic with 256x256 texture it all still adds up to less than 1024x512.
o example of what combined texture looks like - texture_page_example.jpg
• item textures should be as big as necessary and as small as possible. Items and hero textures should all add up to 1024x512 or less
• texture density of an item should approximately be the same as the rest of the hero
• if non-square texture needed, use long (e.g. 256x128) not tall textures(not 128x256)
• overlapping uvs are ok, many heroes and items are symmetrical
• texture seams - but better kept to minimum since it breaks up the vertices and adds to vert count
• you can push items uv shells to the texture borders closer than usual, since they get all added up to one page
• Include the source textures, PSDs, TGAs are preferable. Source textures are usually 4 times larger than in-game ones for painting and promotional purposes - e.g. furion psd file is 2048x1024 but gets scaled down to 512x256 when compiled.
• Types of textures
o create all the textures even if you are not using some of them, it is required by model/texture combiner.
o all textures for an item should have the same resolution
o _color - 24 or 32 bit(32 if alpha needed for opacity)
o _normal - 24bit, 3dsmax format (red channel - left; green is up; blue - top). Use flat normal color(128,128,255) if you aren't creating custom normal map
o _mask1 - 32 bit, every channel is used:
1. R - detail map mask
2. G - diffuse and fresnel warp mask
3. B - metalness mask; controls where color and fresnel are suppressed
4. A - selfillum mask; color is drawn from _color. *Always put something in here, even if you are no using selfillum. This is done in order for texture compiler to keep this channel. If its black - it gets thrown out and then shader thinks it's pure white and your item will be full bright
o _mask2 - 32 bit, every channel is used:
1. R - spec intensity
2. G - rimlight intensity
3. B - tint spec by base color, INVERTED! black=tint by base color, white = uses specular color
4. A - scale factor of specular exponent from shader. e.g. if spec. exp set to 16 then this channel values 0...255 will control exponent values from 0...16. Look at hero specular exponent number to get good idea what values to use in this channel for your item.

Materials
• All shader settings for all of hero items will be derived from hero material. Model combiner will create a single model out of hero and his current items and assign single shader to everything. So item shader different from hero shader isn't supported, e.g. additive item on 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 desired look
• simple process - copy hero material file into item material file and replace his texture names with item texture names.
• we do not support double-sided ($nocull) materials - create geometry where backside is needed

Material skins
• an alternate skin for a hero can be created as a separate item. As a special case an item can change hero's main texture too

Skinning
• items should be skinned to the referenced hero skeleton from his _model maya file. This is done in order for us to easily integrate and export the item file into our file structure
• additional bones can be added for the items as long as they share root with one of the joints in the hero skeleton - TBD example/tutorial
• cloth simulation is available on joints - TBD example/tutorial

Effects
• particle FX are doable on the items - TBD example/tutorial

Model/texture combiner
• hero and his items are exported as separate models and in-game model/texture combiner merges them into one mdl and remaps to one texture page

General
• maya is recommended software to have if you want to use our assets in native format and create animations and cloth
• keep our file structure, it makes things go faster
o models - \content\dota\models\items\heroname\maya\
o textures - \content\dota\materialsrc\models\items\heroname\
• TBD - automatic tool which will check all hero items texture and geometry combinations and tell you if anything breaks the budgets

Tips
• always check the items from in-game perspective
• very busy designs with a lot of high-frequency detail usually don't work well
• normal maps work best in combination with high specular and other masks
• avoid pure white and black color

I'll update this thread as tutorials/resources related to contributing to Dota2 are created.

I know a few Polycounters were contacted by Valve and already have some items in game. Post them here! I'll be working on a few item sets over the next few weeks and will post them up when I have something to show.

Replies

  • willy-wilson
    • Offline / Send Message
    • Joined
    • 48 Topics
    • 710 Replies
    If anyone has an invite to the game, send it my way and ill do my best to get the in-game meshes out for those creating content.
  • Pangahas
    • Offline / Send Message
    • Joined
    • 22 Topics
    • 261 Replies
  • OpethRockr55
    • Offline / Send Message
    • Joined
    • 8 Topics
    • 118 Replies
    Me and Nidhogg were among the first few to be contacted. We did up the armor set for Dragon Knight (except the sword. That was done by Elbagast) and the Tickled Tegu, the tegu courier.

    d_knight_front_final.jpgd_knight_back_final.jpg

    The pauldrons were redone from those pics to these:

    pauldrons_updated.jpg
    838B436D9079D1DA17405C75D2F3BC85E337093B
    tumblr_m4xbvut4Ek1rvwiwlo2_1280.jpg

    HLMV can't correctly display alpha maps using the Dota 2 shader without z-sorting issues, so that's why the feathers and rings on the tegu are goofy. Valve wants to do an animation pass on the tegu as mine aren't too hot (I'll stick with modelling, thx), so that's why it's not quite available in the store yet.
  • Pangahas
    • Offline / Send Message
    • Joined
    • 22 Topics
    • 261 Replies
    Is there any way to extract the DOTA2 model files for use as scale reference etc?
  • e-freak
    • Offline / Send Message
    • Joined
    • 15 Topics
    • 797 Replies
    yeah would be nice to get some of the source files - at least when doing body armor i dont see how you would get around skinning?

    Openth - that tegu looks awesome :) good job!
  • comfy blanket
    • Offline / Send Message
    • Joined
    • 2 Topics
    • 23 Replies
    Pangahas wrote: »
    Is there any way to extract the DOTA2 model files for use as scsle reference etc?
    There is a way if you're in the beta:
    1. Download GCFScape (http://nemesis.thewavelength.net/index.php?p=26)
    2. Navigate to "C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota" and open the "pak01_dir.vpk" file with GCFScape
    3. Extract the whole folder (or just "models\heroes\" if you don't intend on viewing them with textures in the SDK) to your desktop or wherever
    4. Download StudioCompiler (http://www.chaosincarnate.net/cannonfodder/cftools.php?program=studiocompiler) to decompile the models. There may be a better program for this but it works for me with some tinkering.
    5. Navigate to the hero's folder that you want to decompile.
    6. Copy the "*.dx90.vtx" file and rename it to "*.dx80.vtx". i.e. copy paste "beastmaster.dx90.vtx" and rename it to "beastmaster.dx80.vtx"
    7. Decompile the MDL file with StudioCompiler. i.e. "beastmaster.mdl"
    note: Make sure your destination folder for decompiling is on the same hard drive partition as your MDL files are on. Also, choosing a file path is finicky with this program, just manually paste the file path of your destination folder into the box. Courtesy of figuring this issue out with frohst.


    bdsc8.png
    Dota 2 is quite different from TF2 model system as almost everything is a seperate file. More modular to make it easier for the community to create content for heroes I presume.
  • Visceral
    • Offline / Send Message
    • Joined
    • 46 Topics
    • 790 Replies
    Awesome, i never really got into making TF2 items :D Following!
  • Pangahas
    • Offline / Send Message
    • Joined
    • 22 Topics
    • 261 Replies
    @comfy blanket - yes Iam on the beta,thanks for the guide gonna try it out.
  • Zipfinator
    • Offline / Send Message
    • Joined
    • 46 Topics
    • 2.7K Replies
    Pangahas wrote: »

    So if we don't have CS:Go we just need to compile our models into another game for now?
  • frohst
    • Offline / Send Message
    • Joined
    • 2 Topics
    • 17 Replies
    Zipfinator wrote: »
    So if we don't have CS:Go we just need to compile our models into another game for now?

    I use the Alien Swarm SDK for my viewing, But aren't all SDK's free anyway?
  • comfy blanket
    • Offline / Send Message
    • Joined
    • 2 Topics
    • 23 Replies
    frohst wrote: »
    I use the Alien Swarm SDK for my viewing, But aren't all SDK's free anyway?
    I use Alien Swarm as well, has shading issues but it works most of the time. Are all the SDK's free though? I own most source games so I already have access to them. The CS:GO SDK is only available to those in the beta though and invites are pretty sparse from what I've seen.
  • iniside
    • Offline / Send Message
    • Joined
    • 36 Topics
    • 949 Replies
    There is just Source SDK on Steam. Wonder if that will work ?
  • OrganizedChaos
    • Offline / Send Message
    • Joined
    • 24 Topics
    • 901 Replies
    Wait what? You were contacted by Valve to make things for Dota 2? That's pretty awesome!
    I had no idea this was even an option of something you could do, the game still being in beta and all. I'll have to check company policy and see if I can contribute :D
  • TortillaChips
    • Offline / Send Message
    • Joined
    • 19 Topics
    • 573 Replies
    So you'd need to have the beta to consider making anything pretty much?
  • Jungsik
    • Offline / Send Message
    • Joined
    • 3 Topics
    • 833 Replies
    Nice !
  • OpethRockr55
    • Offline / Send Message
    • Joined
    • 8 Topics
    • 118 Replies
    So you'd need to have the beta to consider making anything pretty much?

    Correct. The only way to submit is to do so through the game.
  • Brandos
    • Offline / Send Message
    • Joined
    • 4 Topics
    • 16 Replies
    Thanks for your awesome guides and helps!

    I got now my beastmaster in Cinema 4D.
    If i create now two new axes for him, what i have to do after it?
    Delete the reference beastmaster and change the format of the weapons to mdl?
  • comfy blanket
    • Offline / Send Message
    • Joined
    • 2 Topics
    • 23 Replies
    Brandos wrote: »
    If i create now two new axes for him, what i have to do after it?
    Delete the reference beastmaster and change the format of the weapons to mdl?
    This part is out of my realm but I imagine it's somewhat the same process as for other source games. You export it as an SMD file and compile it with StudioMDL. However I've yet to try this and Dota 2 models since they have some new properties.

    But in terms of just exporting the axe:
    1. Did you import his axes as reference? If so, the weapon bones should also be there.
    2. Look at the original model and see how it was skinned.
    3. Now hide the original model and with your new weapons in the same position, skin them as such with the same weapon bones.
    4. Save and export as an SMD (http://www.wunderboy.org/3dapps.php export plugin for 3DS Max)
    5. Use GUI StudioMDL (http://www.wunderboy.org/apps/guistudiomdl2.php) to compile it. You should be able to recycle the QC file that came with the original weapons, of course change the relevant file names and command values within. Use https://developer.valvesoftware.com/wiki/Category:QC_Commands as a resource.
    I wouldn't try uploading anything to the workshop yet though, I'm sure Valve will release some proper tools to the public for viewing our completed work.

    edit: I wouldn't recommend trying to export anything yet as Valve has yet to release any tools or guides for Dota 2's system. Just create your models, textures, normals, etc. but hold off from compiling until we get the proper tools and instructions.
  • Brandos
    • Offline / Send Message
    • Joined
    • 4 Topics
    • 16 Replies
    Thanks for your help Comfy blanket
    after i finished my weapon i will do what you wrote.

    I question myself why valve is so evil and dont give us a good tutorial how all works :(
  • aivanov
    • Offline / Send Message
    • Joined
    • 7 Topics
    • 409 Replies
    Hardly evil - just very scatter-brained, so a lot of the time things get overlooked in their mad rush to work on everything imaginable.
  • Brandos
    • Offline / Send Message
    • Joined
    • 4 Topics
    • 16 Replies
    Okay.

    I finished my Shoulder Armor for the beastmaster.
    Than i deleted all files except the shoulder Armor and
    saved it as a .Obj data and converted it with MilkShape 3D
    to a MLD

    and this is what happens when i open it
    with Alien Swarm SDK

    Can i create Armors and Weapons for Dota 2 with Cinema 4 or only with 3DSMax and Blender?

    Do i need C++ Knowledge to bring them into the game?

    Edit: Which programs did you used OpethRockr55?

    oTL10.png
  • OpethRockr55
    • Offline / Send Message
    • Joined
    • 8 Topics
    • 118 Replies
    I used Max 2012, but any program with an .SMD exporter will work. The process is exactly the same as for TF2, for which there are tons of tutorials.

    There are some tricky bits to Dota 2 however, but I'll have to wait until later tonight to post them. This phone is just too much of a pain to type on. Put simply, Dota has a model combiner that adds all the equipped items' meshes and textures into a single instance. Everything has to fit under 7,000 tris for LOD0 (The LOD for portraits) and 3,000 tris for LOD1 (RTS view models) AND all the similar textures, when combined, must fit into a 1024x512 texture. So in the end you'll have 4 1024x512 textures: diffuse, mask1, mask2, and normal map. The mask texture are complicated on their own, so I'll get into those later.
  • Hawt Koffee
    • Offline / Send Message
    • Joined
    • 15 Topics
    • 756 Replies
    Most of the Dota heroes don't decompile
    instead mdl decompiler just crashes
  • aivanov
    • Offline / Send Message
    • Joined
    • 7 Topics
    • 409 Replies
    Hawt, what setup are you using to decompile?
  • Base
    • Offline / Send Message
    • Joined
    • 14 Topics
    • 117 Replies
    I got Bloodseeker to decompile and I rigged him up for fun.

    BloodSeeker.jpg

    The process for decompiling is simple enough but I'm not sure what Dota2 needs for compiling new pieces. I'll leave that explanation to the guys who're more well-versed in it. Hopefully it's pretty straightforward!
  • neozerahan
    • Offline / Send Message
    • Joined
    • 3 Topics
    • 9 Replies
    I did the decompile stuff for the lich model. Eveything is perfect but i cant get the textures working. Can you let me know wat is the path for textures of the model when you decompile.
    Thanx in advance.
  • crazyfingers
    • Offline / Send Message
    • Joined
    • 56 Topics
    • 2.4K Replies
    Small world, whenever i search around for 3d art stuff on google it always ends up just sending me back here...

    Got everything more or less set up to start on some ursa items thanks to you guys :D!

    @neozerahan just got the texture export workin' a second ago. They're found here in the dota export directory:

    root\materials\models\heroes\(pick desired hero)

    Then you have to install an SDK for Hammer, you can do this under tools, where "games" usually is on steam. I used the Alien Swarm SDK. Then you go into the cannonfodder and set your configure button so it points at the bin folder for alienswarm.

    9dlUF.jpg


    Quick edit: Now that i have this all set up if anyone has a request for a quick OBJ and diffuse export of a specific hero just lemme know, it's not too hard to churn out.
  • e-barron
    • Offline / Send Message
    • Joined
    • 8 Topics
    • 68 Replies
    So theoretically speaking we can use the same process used for TF2 to make models for Dota?

    edit: Found a big list of resources that can be helpful for the aspiring Dota2 Workshopers:)
    http://steamcommunity.com/workshop/discussion/900965314102467750/?appid=570
  • My_Name_Is_K!
    • Offline / Send Message
    • Joined
    • 0 Topics
    • 2 Replies
    Hello guys, Im playing dota+dota2 for quite a lot time, my occupation is related to architecture and design, so Im familiar 3d modelling (however Im using archicad)
    can I have some basic tips how to create&upload models in steam workshop and what software I should get
  • Kamaki
    • Offline / Send Message
    • Joined
    • 0 Topics
    • 19 Replies
    Quick edit: Now that i have this all set up if anyone has a request for a quick OBJ and diffuse export of a specific hero just lemme know, it's not too hard to churn out.
    Do the exported characters come out in pieces that you're meant to replace? Personally I have a hard enough time just getting things into the source engine, so if you were willing it would be amazing if you could upload a Tidehunter or Juggernaut for me.

    On a related note I was wondering if there was a team of kind souls that would slowly export all the characters. I'm going to try to export some myself and if I can do it I'll make it my mission to get them all up here.
134567629

Leave a Comment

Drop image/file