Reply
Reply
 
Thread Tools Display Modes
Zipfinator's Avatar
Old (#1)
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. 256x12 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.

Last edited by Zipfinator; 06-16-2012 at 11:08 PM..
Offline , veteran polycounter, 2,649 Posts, Join Date Aug 2008, Location San Francisco, California  
   Reply With Quote

willy-wilson's Avatar
Old (#2)
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.
Offline , polycounter, 750 Posts, Join Date Mar 2009, Location Tucson, AZ Send a message via AIM to willy-wilson Send a message via MSN to willy-wilson  
   Reply With Quote

Pangahas's Avatar
Old (#3)
Dota 2 – CS: GO SDK Model Viewer Guide
http://www.cyborgmatt.com/2012/05/do...-viewer-guide/
Offline , triangle, 275 Posts, Join Date Nov 2009, Location Philippines  
   Reply With Quote

OpethRockr55's Avatar
Old (#4)
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.



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.

Last edited by OpethRockr55; 06-01-2012 at 12:18 AM..
Offline , spline, 126 Posts, Join Date Jul 2009, Send a message via MSN to OpethRockr55  
   Reply With Quote

Pangahas's Avatar
Old (#5)
Is there any way to extract the DOTA2 model files for use as scale reference etc?

Last edited by Pangahas; 06-01-2012 at 03:57 AM..
Offline , triangle, 275 Posts, Join Date Nov 2009, Location Philippines  
   Reply With Quote

e-freak's Avatar
Old (#6)
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!
Cinematic Technical Artist - Crytek
Linkedin profile
Offline , polycounter, 807 Posts, Join Date Sep 2008, Location Germany, Darmstadt  
   Reply With Quote

comfy blanket's Avatar
Old (#7)
Quote:
Originally Posted by Pangahas View Post
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/cannon...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.



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.

Last edited by comfy blanket; 06-01-2012 at 05:00 AM..
Offline , vertex, 25 Posts, Join Date Nov 2011,  
   Reply With Quote

Visceral's Avatar
Old (#8)
Awesome, i never really got into making TF2 items Following!
Offline , polycounter, 754 Posts, Join Date May 2010, Location Sweden  
   Reply With Quote

Pangahas's Avatar
Old (#9)
@comfy blanket - yes Iam on the beta,thanks for the guide gonna try it out.
Offline , triangle, 275 Posts, Join Date Nov 2009, Location Philippines  
   Reply With Quote

Zipfinator's Avatar
Old (#10)
Quote:
Originally Posted by Pangahas View Post
Dota 2 CS: GO SDK Model Viewer Guide
http://www.cyborgmatt.com/2012/05/do...-viewer-guide/
So if we don't have CS:Go we just need to compile our models into another game for now?
Offline , veteran polycounter, 2,649 Posts, Join Date Aug 2008, Location San Francisco, California  
   Reply With Quote

frohst's Avatar
Old (#11)
Quote:
Originally Posted by Zipfinator View Post
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?
Always open to advice/crit/tips and tricks
Offline , null, 19 Posts, Join Date Dec 2011, Location Brisbane Send a message via Skype™ to frohst  
   Reply With Quote

comfy blanket's Avatar
Old (#12)
Quote:
Originally Posted by frohst View Post
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.
Offline , vertex, 25 Posts, Join Date Nov 2011,  
   Reply With Quote

iniside's Avatar
Old (#13)
There is just Source SDK on Steam. Wonder if that will work ?
Offline , polycounter, 924 Posts, Join Date Sep 2010,  
   Reply With Quote

OrganizedChaos's Avatar
Old (#14)
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
Offline , polycounter, 828 Posts, Join Date Jan 2007, Location Austin, TX  
   Reply With Quote

TortillaChips's Avatar
Old (#15)
So you'd need to have the beta to consider making anything pretty much?
Character Artist
Portfolio

Offline , polygon, 587 Posts, Join Date Jan 2009, Location York  
   Reply With Quote

Jungsik's Avatar
Old (#16)
Nice !
[COLOR="White"] Polycounter for life
Offline , polycounter, 799 Posts, Join Date Nov 2009, Send a message via Skype™ to Jungsik  
   Reply With Quote

OpethRockr55's Avatar
Old (#17)
Quote:
Originally Posted by TortillaChips View Post
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.
Offline , spline, 126 Posts, Join Date Jul 2009, Send a message via MSN to OpethRockr55  
   Reply With Quote

Brandos's Avatar
Old (#18)
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?
Offline , null, 20 Posts, Join Date Jun 2012,  
   Reply With Quote

comfy blanket's Avatar
Old (#19)
Quote:
Originally Posted by Brandos View Post
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/...ry: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.

Last edited by comfy blanket; 06-02-2012 at 07:35 PM..
Offline , vertex, 25 Posts, Join Date Nov 2011,  
   Reply With Quote

Brandos's Avatar
Old (#20)
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
Offline , null, 20 Posts, Join Date Jun 2012,  
   Reply With Quote

aivanov's Avatar
Old (#21)
Hardly evil - just very scatter-brained, so a lot of the time things get overlooked in their mad rush to work on everything imaginable.
Offline , triangle, 412 Posts, Join Date Dec 2010,  
   Reply With Quote

Brandos's Avatar
Old (#22)
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?


Last edited by Brandos; 06-01-2012 at 04:34 PM..
Offline , null, 20 Posts, Join Date Jun 2012,  
   Reply With Quote

OpethRockr55's Avatar
Old (#23)
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.
Offline , spline, 126 Posts, Join Date Jul 2009, Send a message via MSN to OpethRockr55  
   Reply With Quote

Hawt Koffee's Avatar
Old (#24)
Most of the Dota heroes don't decompile
instead mdl decompiler just crashes
Online , polygon, 686 Posts, Join Date May 2010, Location Halifax, Nova Scotia, Canada  
   Reply With Quote

aivanov's Avatar
Old (#25)
Hawt, what setup are you using to decompile?
Offline , triangle, 412 Posts, Join Date Dec 2010,  
   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.

Copyright 1998-2014 Polycount