This picture-based tutorial should be useful for quick reference. It obviously doesn't go into as much detail as the video does, but it's great for people who watched the video at least once and want to quickly go back to look at things.
Step 1: Getting Prepared
Gather the required programs (listed above) and create a file structure to stay organized. Remember: organization is the key to success.
Determine what character you want to make an item for (hat or misc item), and using GCFscape, extract the .mdl and associated files from the vpk. Using the fixed version of MDLdecompiler, decompile the .mdl into a .smd file which you can then import into Blender.
Step 2: Making the Model
Open up Blender and import the .smd file corresponding to the TF2 character. The decompiler most likely produced many .smd files, but the correct file should be relatively obvious to find (it's usually around 2 mb in size). Make sure to import your character using the Y-axis as the up direction.
Begin creating your model using the imported character model as a reference. Don't forget to use smooth shading and edgesplits to ensure that your model has both smooth surfaces and hard edges where necessary (other programs refer to edgesplits as smoothing groups).
Notice in the image to the right how the model has portions that are smooth (the top of the hat) and portions that are distinctly sharp such as around the brim of the hat. Getting a good balance between smooth and sharp edges can really bring out detail in your model.
Step 3: UV Unwrapping
When you are satisfied with the model's design, unwrap the model with whatever method is best. For cylindrical objects, marking seams is the best way to unwrap these objects. For more complicated shapes, you might want to use projection unwrapping. Regardless, both methods are found under the UV unwrapping menu in edit mode (hotkey: u).
Make sure to alter the UVs in the UV layout screen in a manner that best suits your model. In the tutorial I mentioned that I wanted part of my hat to be unwrapped flat, so by selecting rows of vertices and pressing "w", I was able to align vertices in a rectangular fashion (align x, align y).
Step 4: Baking
When you are done unwrapping the model, create a blank black image 2-4 times larger than the final size of your texture which will be used to bake shadows onto your base texture.
In the World Tab, make sure to do the following:
- Check Ambient Occlusion ON
- In the "Gather" subheading choose "Approximate"
- Check Pixel Cache ON, and slide the correction to 1.00
- Change the error to 0.250
In the Render Tab, make sure to do the following:
- In the "Bake" subheading, make sure "Bake mode" is set to "Ambient Occlusion"
- Check "Normalized" ON
- Slide the margin to 8
Now click "Bake" to bake your AO map. Save this as a .tga file, and make sure to export the UV layout as well (as a .png) by going to UVs > Export UV Layout
Step 5: Texturing
Texturing for TF2 is both easy and fun. Open your AO bake in photoshop and make sure to set the layer properties to "multiply". Make sure this layer is always on top (unless you have a UV layout temporarily to be able to see your UVs). Make sure all your texturing layers go below your bake. Refer to Swizzle's TF2 Texturing guide
for more information on making quality TF2 textures.
When your texture is completed, save this as a .tga (make sure you resize it down to 512 x 512), and reapply the texture in the UV layout screen to see a preview of your texture on the model in Blender.
Step 6: Rigging your Model
Select your model first
, and then shift+select the bone rig second
(armature). Press ctrl+p, and choose "With empty groups" to parent your model to the armature. Now select only your model, go into edit mode, select all the vertices in your model, find the bip_head bone in the Object Data tab under the Vertex Groups subheading, and click "Assign" (make sure the weight is set to 1.000). This will assign all the vertices in your model to the bip_head bone. If your model is not a hat, make sure to assign your model to the correct bone.
Go back into object mode, select your model, and go to the Object tab. Give your model a name in the textbox with the orange cube (Unique data ID). This will be your .smd filename. With your object selected, go to file > export > source engine (.smd)
to export your model as a .smd file. While you're at it, make sure you generate a LOD model that is 700 tris or less. Make sure to give this a unique name so you don't accidentaly overwrite your default model.
Step 7: Compiling your Model
Open TF2, click on the Workshop button, and create a new workshop entry. Click "Import Beta!" to get to the new beta import screen. Give your model a name, and choose what category it belongs in (e.g. engineer hat). Import your .smd files making sure you import at least 1 LOD model below 700 tris. If your model is already 700 tris or less, there is no need to make LODs.
Generate a backpack icon using the Source SDK (tutorial for this coming soon). Make sure that the icon sits on a black background and fits in a 512 x 328 region. The entire image should be 512 x 512, and the alpha channel should be all black expect for the parts corresponding to your item.
Finally, choose the appropriate texture option (Team colored, paint, etc.), and import your .tga texture files. Remember: texture files must be 512 x 512 or the importer won't accept them. Choose the appropriate vmt parameters (most of the time the defaults should be fine), and click OK.
Preview your model to see if everything worked out fine. Once satisfied, click "Verify" and then "Finalize" to zip your model and get it ready to upload to the workshop. On the next screen, upload a workshop image that will be featured on the workshop, give your item a title, and describe it.
Congratulations, you're done! Give yourself a pat on the back, and let other users begin upvoting your creation on the workshop!
If you found my guide useful, consider supporting me by rating up the item featured in this tutorial on the Steam Workshop. Thanks!http://steamcommunity.com/sharedfiles/filedetails/?id=152785260