Team Fortress 2

Team Fortress 2

184 ratings
Deinol's guide for TF2 item creation [Workshop]
By Deinol
Guide to learn how to make items for TF2 workshop, for do this, you need to know how to model 3D (In Blender, 3DSMax, Maya, C4D…) objects and use a graphic editor software (Photoshop, GIMP…). We have to install Source SDK, run it for first time and reset Steam.
   
Award
Favorite
Favorited
Unfavorite
1.- Intro
Hi there! First of all, I must apologize if there is any spelling or grammar mistake, English is not my main language, and I’ll try to write this guide while paying more attention to the content than the way I’m writing it.

In this guide I will try to explain the process of creating TF2 items for the Steam Workshop with Gold Star. Maybe this is not the best guide on explaining the whys and the hows of every part of the process, but I think it's friendly enough to understand the method for getting your first item in the Steam Workshop. I’ll explain how I make objects myself. I recommend to read the entire guide, without skipping any steps.

I provide you a link to a RAR file download (~78Mb) that contains a pack of useful things I’ve collected and/or created for this guide: body and head models, logos, color charts, etc. I also included GCFScape and MDL Decompiler for decompiling another game models if you need to, Blender(Blender is on Steam nowadays so you might want to use it from there) (For Rigging) and SMDTools for Blender (Import/Export SMD files NEEDED).
Download the pack here![www.dropbox.com] (If you happen to miss something in this pack, make sure to leave a comment down below!)

I also recommend to see some other great guides, like HellJumper’s one, which helped me a lot, or Swizzle’s.

And don’t forget to make backups during the process, this will help you to recover a previous versions if needed, or help in case of software crashes, power outages, or if we forget to save the progress.
2.- Planning
First of all, we need an idea, which is, in my opinion, maybe one of the most difficult steps of any creative process. For this, we can let our imagination fly, watch movies, look photos, ask our grandparents…
Okay, in this guide, we are going to learn how to make esthetic items (Hats, clothes…) because beta importing doesn’t accept weapons yet, and there is another process to make them.
For the guide I'm making a hat, a beret for Medic specifically (Got the idea watching a movie).

Now, we can start looking for references, look for pictures, watch videos, ask your grandparents one more time… And maybe you can draw some blueprints or concept art, because it really helps with developing the idea.
3.- Modeling
We have to model our item in our 3D modeling software (For this guide I used Cinema 4D), for this, you can take advantage of the body/head models of the pack I provided you as a reference/starting point for making your item over them (For the correct size, rotation, etc.).
So first thing we have to do here is import our reference (Medic head in my case) into our program.

After that, we will start to model our item. Of course I can’t teach you 3D modeling in this guide so if anyone reading this doesn’t know how to, it’s a good time to start working on it; choose a software and start learning. I don’t asking your grandparents will help at this point, I don't think they know so much about digital modeling.
Next screenshot shows my item modeled, it’s a beret with the medic logo on the front.

Well, here we got to pay attention, TF2 doesn’t accept items with a polycount higher than 700 polygons. If you model got more than that, but less of 1300-1400, you can reduce them OR make LODs (LODs, or Level Of Detail are low-poly versions of your items which will show when the player/camera is far from the item)
For instance, if your item has 1200 polygons, you can make your first LOD with 950 polys and the next one with the 700 polygons the importer requires.

When our model is done, it’s time to move to the next step, texturizing.

If you want to make your item all-class, you have to make a different model for each class.
4.- Texturizing
In order to texturize our model, first we have to unwrap it's UVs.
UV Unwrapping is the process of "peeling" and projecting a model into a 2D image in order to map the textures on top of it.
We also need to bake the ambient occlusion map of the model, which contains informatión about our model shadows and highlights.
This process is different depending on which 3D software you are using, in my case, I did use the UV Edit tool of Bodypaint in Cinema4D.

For TF2 items, all textures must be 512x512px, except for the alpha map (Used for self-illumination, paintable items, transparencies...) which must be half the size (256x256px).

Here is a list of the different type of maps we can use:
  • Necessary:
    • Base color: Includes the base texture (Colors, patterns...) and the ambient oclussion. You can add an alpha channel in case you want to make your item partially paintable.
  • Optional:
    • Alpha map: Used for transparency, self-illuminations or masking parts for paintable items.
    • Normal map: Used to give bump and physical texture, based on lightning, to our item without adding polygons.

Well, I’ve unwrapped my model and baked the ambient occlusion (Pretty fast and roughly for the sake of making the guide)

Time to move to your selected graphic editor software (I’ll use Photoshop) and start working on the textures.

At this point we can edit the texture of our item as much as we want.
For this, you can take advantage of the color chart on the provided resource pack, which contains a TF2-fitting color palette.
It's important to blend the ambient occlusion map with the base UV map.

In my case I’ve made 2 different textures, one for each team, but you can use one for both if you don't want any team-based differences.
I also gave a metallic color to the medic badge to give it metallic appearance.

I made an alpha channel in my textures since I want to make the badge paintable, so the tint color of the TF2 paints will colorize that metallic grey.
Alpha channels work as a mask to select different parts of the texture, using black and white values and every green value between them. White adds parts to the alpha channel, black excludes them.

You can load your textures onto your 3D model in order to preview how will it look.
Try always to save our textures as a PSD file (Or TGA).

Once you are done and happy with your texture/maps, save them and export your full model (Using .OBJ format will work fine)
If you had to make LODs too, export each LOD in a different file.
5.- Rigging
In 3D / animation terms, rigging is the process of assigning parts of a model (Also called armature) to a skeleton to animate it, this mean, what we have to do now is assign what vertex will move when X bone moves.
All the skeletons of the TF2 characters are made by several bones, head, spine, arm, finger… And we have to determinate what’s the better bone/group of bones we must use for our model.
In my case this is really easy because the hat is only attached to the head, but for other items, this will be a bit more difficult. For example, if you make pants, you have to assign the top part of the pants to the hip bones, and divide the rest of the model between the leg bones, the vertex of the half leg to the knee bone, lowest part to the toe, etc.

I know this sounds really BORING, but it’s an important part of the process.

Let’s get started.
If we haven’t installed SMD Tools for Blender, it’s time to do it:
Install Blender (Included on the pack) and open it, then go to the Header menu, click on File > User Preferences

A window will appear, go to Addons and click on “Install from File…” (A button on the bottom of the window) and browse your computer. Go to the path where you unzipped the pack and choose the SMD Tools ZIP file. Then install it.

Then scroll down the addons window until you see “Import-Export: SMD\DMX Tools” and click the checkbox to enable SMD Tools.

Once SMD Tools is installed and enabled, its time to rig our model.

First, import the character body model (included in the pack). Click File > Import > Source Engine

I’m importing Medic.smd (Because I’ve made my model for medic), you have to change ALWAYS the up axis to Y. DON’T forget this, otherwise, your model will always be weirdly rotated.

And we got the character model here, correctly positioned and showing all of the bones.

Now, we have to import our item model. If you saved it as OBJ, use the OBJ importer.
File > Import > Wavefront (.obj)
Import your model to the scene and move it to the correct location. Now you will see your model shading very much flat and polygonal, then right click your object for select it and choose Smooth Shading on the left panel.

Don’t forget to do this, or your model will look flat shading in game too.

Now we have to hide the character armature to keep only the bones. Right click the character and press H. The model must hide.

Right click on your model to select it, then hold Shift and right click on the skeleton to select it afterwards. You must always follow this order. Your item 1st, then the character skeleton. Now let’s parent it: press Ctrl+P and a menu will appear, then click on “With Empty Groups”

Right-click your item to select it alone and go to the Object Data tab on the right panel and press the tab key with the cursor above your model to turn Blender into EDIT mode.

Now pay attention to “Vertex Groups” on the left panel. We have to scroll up/down to find the bone we need to rig our model. In this case, we need to rig the model to the head bone, so I have to find “bip_head”. Select it and click on assign to assign all the vertex to that bone.

If your model needs to use more than one bone, just select the vertex you need assign to one bone and do assing them. After that, deselect the vertex and select the group of vertex to the next bone and assign it. I hope you can understand this correctly.

Okay, now, or model is rigged to the bone, you can click Deselect and Select (Near the assign button) to check if the model is correctly rigged. Now, move your mouse above the model one more time and press TAB to quit the edit mode.
Now, go to Scene Properties tab on the right panel, then scroll down the panel to “Source Engine Export”, choose an Export Path for saving the model and select SMD as Export Form

Select your item and export it. Go to File > Export > Source Engine then a little window will appear, just click on the first one “Your model name.smd” and you must have your smd file on the path you selected before.

Try to keep you files together, the textures and the smd model.
6.- Testing for first time
It’s time to launch Team Fortress 2. Come on, we are near the finish.
On the first menu we have to click Workshop > Publish New Article and we will have some fields to write, and then click Import (With the gold star). There you will have the importer window.

Give your item a name on the first textbox and choose your item type. I’ll call my item “Beret” for the moment, and choose "Hat" as type.
At the "region" field you have to select the position of your item, I’ll select hat for my beret. In the "class" field, choose the class, medic in my case. In "Bodygroup" you have to uncheck the part of your char that you want to hide while wearing your item.

At the center, you will see 3 charts to select LODs. At HIGH LOD you have to select your model. And use the other 2 if you had to make LOD’s for your item. In my case, Beret.smd only has 368 tris, so I didn't need to use any LODs.
At EDIT QC you can edit your QC file, which have a lot of code for your item, I recommend, if you’re starting and you haven’t nothing to change there, don’t touch nothing at the QC file.

Now, at the right part of the importer, you can see the “Backpack icon” field and “Skins”.
At “Backpack Icon” you must choose the example icon I’ve made and included on the pack. Don’t worry, we’ll make a Backpack icon for your item and change it later.
At Skins you can choose if your item will have same texture for both teams or a shared texture. In my case, I’ll pick “Specific team” because I made a different texture for each team. I’ll check “Paint VMT1” because I want to make my item paintable (Remember that alpha map?).

Let’s edit RED INPUT first. Click on the page and pencil icon and a new window will open:

On "Base Texture", we have to select our base texture. I’ll pick the red one.
At “Shared normal” we would select our normal map if we made one.
Down below there are some “Self-illumination options”. Self-illum adds light emission to your texture, allowing it to glow in the dark.
If you add self illumination on your item, you can choose an alpha map to mask it, and use a RGB color to tint that illumination.

When you're done, click accept. I'll also configure blu team with the same process, I’ll choose the blue texture for this one. As you can see, the Shared Phong Exponent / Rim Mask, is selected automatically, because it is a common texture for both teams.

After that it’s time to preview our model. Click on the preview button at the importer, let it load and you’ll have a preview of you item, where you can select the team, the paint, the pose, action, effects, LODs, classes… Just check if your model is correctly positioned, texturized and rigged (Press action to make it move).

Once you think you're done, click on verify and then finish. Don’t worry about backpack icon yet, we’ll fix it soon.
When you click on publish, it will tell you that your object is saved as “Yourmodel.ZIP” and ready for upload, but don’t upload it just yet, close TF2 and move to the next step.
7.- Making the Backpack Icon
Now we are going to make the backpack icon for our item. Open your graph editor software. And now let’s open Hammer Model Viewer. It should be in Program Files > Steam > SteamApps > Common > Team Fortress 2 > bin > hlmv.exe

Launch it and go to File > Load Model… and load your model. (Clue: Must be at Program Files > Steam > SteamApps > Common > Team Fortress 2 > tf > models > workshop > player > items > the class (Medic in my case) > Model name (Beret in my case) > Modelname.mdl (beret.mdl in my case). Open it an you’ll have your model with texture on the screen.

Now center your model in a good position. (Use left click for rotation, shift + left click for moving and right click for zoom). When you’re happy with the position click on Options > Background color. And we are going to make a greenscreen for our item. That means we are going to use a pure green (0 255 0) color on the background (Or use a pure blue if your item is green-ish).Then take a screenshot.

Paste your screenshot in your graphic software, remove the green/blue background and load the example backpack icon included on the guide pack.

Now move your model image onto the example backpack icon and place it inside the square.

Then paint all the background behind your model black
Modify the alpha channel; delete the square alpha channel of the example backpack icon and paint the shape of your model white.

Save it with your item files as Backpack, as a Targa (TGA) file (Backpack.tga) with a 32bits/pixel resolution, without any compression.
8.- Finishing the item
Let’s go into the beta importer once again. Open TF2.
Workshop > Publish > Import
Fill in all the fields one more time, but this time, use your new backpack icon into the backpack icon field.
This time, I’ll change the name of my item, but you can leave the first one if you want.

Preview the item for checking if it’s all correct once again. You can take a screenshot new for using it as image of your item on its Workshop page. )Don’t worry, you can change those pictures later, but you need to use one at first)

Then accept, verify and finish.

Now your Title field should have auto-updated to your item name. Select labels on the right part of the screen for your item. In my case, I'm going to check "Medic" and "hat". In the left part, you have to pick a picture for the workshop page (I'll use the screenshot we took on the preview and don’t worry, I'll change it later). The picture must be square and in JPG format. Write a description for your item too, which will be shown in the workshop page of your article.

If you want to make a good image, export your model and materials from TF2 folder to the Source Filmmaker folder and make a good poster, that pictures usually looks really cool but need some dedication and knowledge.

Time to publish your item so lick “Publish”. A Steam workshop window will appear. Scroll down and you will find a chart where you can add more users for share benefits if the item was a collaborative project. Add a user or simply press "finish".
If you want, at the services provider chart you can select me (If I'm not on the list, you suggest me if you like this guide!) so other people could see this guide in the future.

Then just click on "finish" and your TF2 item will be finally published.
Congrats!
9.- Outro
So, thats it. You already published your Team Fortress 2 item on the Steam Workshop!
I really hope this guide helped you to make your first item, or at least to understand the process for doing it.
If you have any doubts, questions or need any help, go ahead and post them on the comments section below, I'll try to help as much as I can.

I expent a entire night (From 1:00am to 8:30am) making this guide, sleepy, in another language, taking screenshots for illustrating the guide, so I hope you support me, at least giving thumbs up, adding to favorites an/ or sharing. Thank you all!

You can check the Field Medic’s Beret's workshop page clicking here:
Field Medic's Beret

Thank you all for reading!
Deinol.


PD: If you make any items following this guide post it on the comments down below, I'd love to see what you are making!
< >
249 Comments
Deinol  [author] May 9 @ 6:43am 
Looking good! Good work
Mantis987 May 8 @ 9:33pm 
If you're interested, I finished the item I was working on! I went on a mega-jam this week and spent all my free time working on it, and it's not as perfect as I'd like it to be (I'm definitely a little tired of working on it), but I'm happy with what I've done! I also learned a ton (including realizing that all-class hats are awful to make, haha), so I'm excited for what I'll make in the future! https://steamcommunity.com/sharedfiles/filedetails/?id=2480222294
Deinol  [author] May 8 @ 3:53am 
Glad you've found it. I might add it later if I remember to do it! x)
Mantis987 May 7 @ 10:46pm 
Oh my goodness, I finally figured it out! You might want to add this to the guide as I could not find any information on it. All you have to do is change the Color Tint Base (RGB) setting to whatever you want the color to be.
Mantis987 May 7 @ 10:39pm 
How can I make a paintable area that has a specific color when unpainted? I'm able to make it paintable if I have the texture there is white, but I want it to be blue when unpainted, and doing it the normal way for something paintable causes the paint color to mix with blue color (resulting in wonderful colors like green australium gold). Also, thank you so much for making, updating, and answering questions on a detailed guide!
oris Feb 11 @ 8:45am 
hmmm. is the alpha map based off of the transparency value? is there anything you would change in my texture?
Deinol  [author] Feb 11 @ 7:50am 
Thats weird, I wonder if has something to do with the alpha map. Never seen this before.
oris Feb 11 @ 5:40am 
Im not sure if this is the correct place to ask for help but:
im working on a workshop item for the demoman, with some transparent parts and im encountering a bug where you can see the transparent parts of the mesh THROUGH the solid parts. The mesh seems fine and the opaque parts of the model are 100% opacity in the texture file UV.

Image of the bug:
https://imgur.com/a/sLuaxB0

UV / Texture map:[/u]
with uv outline:
https://imgur.com/a/CqHazwB
base file:
https://imgur.com/a/m2MAaHb


Deinol  [author] Jun 8, 2020 @ 2:27am 
Oh hehe
s_onny Jun 7, 2020 @ 5:59pm 
wait nvm im literally so dumb..... all i had to do was clicking the text