DOTA 2 WORKSHOP CONTRIBUTIONS
ResourcesDecompiling Character Models To Use As ReferenceValve's Character Art GuideValve'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
http://www.cyborgmatt.com/2012/05/dota-2-cs-go-sdk-model-viewer-guide/
The pauldrons were redone from those pics to these:
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.
Openth - that tegu looks awesome good job!
- Download GCFScape (http://nemesis.thewavelength.net/index.php?p=26)
- Navigate to "C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota" and open the "pak01_dir.vpk" file with GCFScape
- 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
- 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.
- Navigate to the hero's folder that you want to decompile.
- 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"
- 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.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.
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?
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
Correct. The only way to submit is to do so through the game.
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?
But in terms of just exporting the axe:
- Did you import his axes as reference? If so, the weapon bones should also be there.
- Look at the original model and see how it was skinned.
- Now hide the original model and with your new weapons in the same position, skin them as such with the same weapon bones.
- Save and export as an SMD (http://www.wunderboy.org/3dapps.php export plugin for 3DS Max)
- 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.
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
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?
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.
instead mdl decompiler just crashes
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!
Thanx in advance.
Got everything more or less set up to start on some ursa items thanks to you guys !
@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.
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.
edit: Found a big list of resources that can be helpful for the aspiring Dota2 Workshopers:)
http://steamcommunity.com/workshop/discussion/900965314102467750/?appid=570
can I have some basic tips how to create&upload models in steam workshop and what software I should get
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.
Lots of newcomers swear by blender, it's free and a very viable 3d package. Industry professionals generally use 3ds Max or Maya which you can often get a free version of as a student or whatever. Down the road you may want to jump into zbrush, but just these base modeling programs is a lot to figure out off the bat.
Just poke around there are tons of resources out there on youtube and various other sources that will instruct you in your first steps. If it's going well seriously consider buying some tutorials from gnomon or eat3d.
@Kamaki:
http://dl.dropbox.com/u/1451094/juggernaut%2Btidehunter.rar
Little more time consuming than I anticipated as juggernaut is split into 3 chunks.
What software I need to create something like this What I need then to make it fit for Dota2
For example this guide After I decompiled MDL file into lots of .smd, what should I do next
I mean I understand that main thing is 3d modelling skills, but what should I do in order to start doing this
As stated you can use youtube and google to further your search for answers. Some ideas to get you started to put into the search bar
"begginer 3d modeling"
"How to model in blender"
etc...
Seriously we're spamming this thread with a lot of off topic stuff, we should try to keep things on topic and not beginner 3D related stuff...
Dota 2 is really tricky to contribute for right now as most of us are *just* figuring out what goes where and what to do differently as there are new guidelines for everything.
For specifically 3ds Max, this is what I found after a quick search. Ignoring the itemtest step, everything else holds true for getting models into Source.
For Workshop guidelines, see TF2's instruction page; for Dota 2, see this.
As example when i create a sword
so i have to convert these files into a single MDL?
sword.obj
diffuse.jpg
mask1.jpg
mask2.jpg
normalmap.jpg
I do not really understand what "masks" are ...
Edit: okay i checked some other topics here and know now what these are but there is still a little question. How can i see how many tris my objects have in Cinema 4D?
Many thanks man!
(i do have dota 2 but my gaming computer needs fixing)
p.s. vtfs and vmts also please
The Weapon itself have 197 Tri's, and all maps (Colour map, Bumpmap, Diffuse)
are lower than 250x250.
How can i get this thing into the game?
Your best bet is going to be to read through the links provided in this thread and the dota2 discussion board.
Start the game and go to the Customize tab, then the workshop tab. From there you should be good
I have to compile them ...
when i see this https://developer.valvesoftware.com/wiki/MDL
i understand nothing
A tutorial for compiling would be veryyyy cool
Then i try to compile this error appears
C:/Program Files (x86)/Steam/SteamApps/USER/sourcesdk/bin/source2009/bin/studiomdl.exe -game "C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota" "C:/Users/USER/Documents/hammer_model.dmx.qc"
WARNING: AppFramework : Unable to load module p4lib.dll!
MountFilesystem( 571 ) failed:
SteamMountFilesystem(1364,571,0x1465fd28=,0x1465fc18) failed with error 5: No CS
online with App 571 Ver 72
Wow that was fast, thanks for taking the time to do them! I'll re-host these somewhere and put the links up in case anyone else wants them. If anyone else has any other characters they've decompiled send them my way and I'll re-host and link those too.
Time to try playing around with these guys.
That's just how you upload it to the workshop. Not how you compile the model to view it in game. As said previously, look at the links above. It's way too long of a process to describe to everyone who's never compiled a model for Source and wants to jump on the Dota2 train.
this is not obj + texture its .smd + textures easy to convert just want to let people know.
This Error Appears when i try to create my MDL
This is my QC
@brandos wish i could help haven't really gotten into exporting yet. I'm just gonna wait a bit anyway since valve hasn't really released all the info yet and this sucker isn't quite in full swing yet. Figure i'll just focus on creating the assets now and exporting later, this game ain't going anywhere
Edit: had a request for bremaster and lone druid (both forms) objs + textures, so here they are:
http://dl.dropbox.com/u/1451094/LoneDruid%2BBrewMaster.rar
Not taking any more requests for now... really want to get into some concepting and maybe some modeling/ texturing today
Creeget Courier
Witch Doctor Set
Razor Set