Counter-Strike 2

Counter-Strike 2

223 ratings
How to make sticker for CS:GO – part 1
By 僕の名前 (仮)
This is the first part of guide, where you will learn how to make simple sticker. Holographic in next part.
   
Award
Favorite
Favorited
Unfavorite
HOW TO MAKE STICKER FOR CS:GO — PART 1


I. INTRODUCTION
Hello everyone, this is my guide how to make stickers for CS:GO.

First of all I want to say, spend as much time on your sticker as you can to improve quality of it.
Learn new techniques from other tutorials and employ them in your own work.

In part 1 you will learn the basic information: what soft to use, some tips and tricks and how to avoid common mistakes. Parts 2 and 3 will be about holographic and foil stickers.

I want to point out, you can make different texture for different types of stickers. It's better to do that way instead of trying to make 3 different types (glossy, holo and foil) look good with one texture.


Glossy and foil versions of sticker. Made by Valve.

If you don't understand something in my guide, or want to ask where to find software tutorials,
ask in comments section.
II. SOFTWARE
To make simple stickers you will need graphics editing software.
I recommend these two:

Graphics editing soft
  • Adobe Photoshop
  • Adobe Illustrator
Photoshop is a core software. You start work in it and you finish work here, using other programs in between. Illustrator is not reqired, but I highly recommend using it, because it have better vector tools than Photoshop. It is much easier to make basic form and coloring here.

You can import .ai file in photoshop as a smart object (both programs made by same company and they allow to do that!) and work in both Ps and Ai at same time.

Newer versions of Photoshop and Illustrator are better, but CS3 is sufficient. I use CC version.

Alternatives
  • GIMP
  • Inkscape
GIMP is alternative to Photoshop, and Inkscape is alternative to Illustrator. But I don't like very much. And it's easier to find tutorials for Adobe products.

You will also need these tools
  • VTFEdit[nemesis.thewavelength.net]
  • Counter-Strike: Global Offensive - SDK / Model Viewer
VTFEdit is needed to convert Photoshop files into Source engine texture format.
Model Viewer is to test and preview sticker before publishing it.
You can install SDK from Library → Tools.

For the foiled sticker you will also need 3d software where you will make normal map:

Sculpting soft, choose one of these
  • ZBrush
  • Mudbox
  • 3D-Coat
  • Nvidia texture tools photoshop plugin – do not use it!
I can't tell which one to use because I'm still learning 3d. Most people I know say ZBrush is the best.
By the time I write guide I use Mudbox, because it's easier to learn than ZBrush, but I haven't decided yet what soft I gonna use in future.

Why you shouldn't use NVidia texture tools plugin? I will write about that in part 3

Modelling soft, choose one as well
  • 3ds Max
  • Maya
  • Blender
For simplier normal maps you will probably wont need sculpting software. They are required anyway to bake normal maps from zbrush / mudbox / 3d-coat.

III. BEFORE WE START
This is where all begins.



Start Photoshop and make a new document. Those are dimensions you can use for sticker:
  • 2048x2048
  • 1024x1024
  • 512x512
The bigger resolution you set, the better texture quality you will have. I use 1024 for stickers,
and I don't recommend going less than 512.

Note that you can't use resolutions such as 1000x1000 or 640x480: it must be square and power of two size! If you make non-square texture, game will not scale texture properly.
If you save in non-power-of-two dimensions, you will simply not be able to make vmt file at all.
This is the explanation[wiki.polycount.com].

Also keep in mind no matter what dimensions you choose, sticker will always be the same size,
the only difference is texture quality.

How to make non-uniform sticker then?

Add some empty space around!

By adding empty space you can make non-square sticker.

Or different size?

Answer is the same.
Different sizes are possible.

About Glossy stickers and Color-replace stickers
In this guide I will not be covering color-replace stickers, because I don't even know why they exist.
Those are color-replace characteristics:
  • They look totally different in photoshop and in game: you will need to overlap colors in additive blending mode, but in game they will not look in additive blend mode.
  • You can change color in real time without need to recompine VTF file, but I don't see this as a big advantage, because making new vtf file doesn't take much time anyway.
  • You can't make it paper-backed, it's a glossy sticker without a paper base.
  • Only 4 colors. Say good bye to gradients and different tones.
  • You can do the same with glossy type, and it's easier to edit and preview in Photoshop.

If someone know advantages of color-replace sticker, write in comments.
IV. LET'S DO THIS
Let's start, shall we?


A simple sticker in circular shape with black and red stripes.

So we have blank document, what now?

You can do entire sticker in Photoshop if you want, but I do in Illustrator and then import
to Photoshop, because it gives more control in editing vector image.

Make document size same as in Photoshop (1024x1024 in my case)

Some tips for Illustrator
Those are the most useful hotkeys that you need to remember to make work more efficient:
  • Lock selection / unlock all (ctrl-2 / ctrl-alt-2) Allows to lock / unlock elements to prevent accidental move or edit, without going to layer panel.
  • Hide selection / unhide all (ctrl-3 / ctrl-alt-3) Same function as lock / unlock, plus hides the object so you can focus more on editing others.
  • Smart Guides (I recommend rebind to ctrl-4) With smart guides you can align object easily as they snap to each other. Because you will have to enable / disable it often, and default hotkey is bad, I recommend to rebind it to something easy to press
  • Switch between fill and stroke (x) Rarely used, because you can click on UI, but still useful.
    It saves you several mouse clicks.
  • Swap fill and stroke (shift-x) If you had white circle with black border, now you have black circle with white border. Useful when accidentally changed color of fill instead of stroke.

Make a circle
1. Select Ellipse tool
2. Click one time anywhere on artboard,
3. Choose 960px * 960px size
4. Now we need to center circle. Select Align to Artboard
5. Press Horizontal / Vertical Align Center.

Change the stroke

1. Double click on stroke color panel
2. Choose color = #141414
3. Open a Stroke panel:
  • Weight = 75px
  • Align stroke = inside

Now we gonna make red and black stripes pattern.

Create a bar and then copy it
1. Select Rectangle tool
2. Click anywhere
3. Size 64px * 1000px
4. Enable smart guides (remember the hotkey?), they are needed to snap both bars to each other.
5. Drag object with alt so it makes a copy.

Set colors

1. First bar to #191919
2. Second bar to #bf0a06

Make pattern
1. Select both bars
2. Object → Pattern → Make
3. Set the name of it
4. Now it will appear in Swatches panel.
5. Save pattern (if you are making pattern and sticker in different documents)

Apply pattern to circle
1. Load pattern (if you are making pattern and sticker in different documents)
2. Drag it on circle. Make sure you apply pattern to fill, not stroke.

Align pattern
1. Select Direct Selection tool (hotkey A) and then click on object
2. Hold ~ on keyboard
3. And drag until it is symmetrically aligned

Alternatively, you can do that:
1. Select object
2. Choose Selection tool (hotkey V), press enter
3. In options deselect "Transform Objects" and choose "Transform Patterns", also click "Preview"
4. Fine tune until you like the result.
5. Select the scale tool (hotkey S), press enter
6. Scale pattern horizontally (in my final version I scaled 104%)

Advice
Copy the sticker layer and put it beneath, then set fill to black and no border.


Why it is needed? When you import file from illustrator to photoshop, there will be black lines on alpha channel in places where pattern is tiled:


Use this trick only if you have those lines on alpha channel. You can choose other than black color
if you want.

We finished in Illustrator, now let's move to Photoshop. Save Illustrator file in your project folder.

Place the Ai file in Photoshop
1. Place the saved Ai file
2. Press enter. If it placed not in center then align it.

Make the Alpha channel
1. ctrl-click on layer
2. go to channels panel
3. make new channel
4. select white color
5. alt+backspace to fill the selection with white color.

Make background the same color as sticker border:

It's called padding.

——————————————————————————————————————————
Important. There should not be any transparent pixels on Red / Green / Blue channels,
only on Alpha channel!


This is how it will look in game:

Ugly pixelated line will ruin any design.

This is very common mistake, I see this all the time in other people's works, and even in most other guides problem is ignored. But now you know how to fix it.
——————————————————————————————————————————

Back to Photoshop.

Save the file

Save as TGA format with Alpha channel


Always save as 32-bit if you have Alpha channel. 24-bit otherwise.

Important. Always save in .psd format as well. You don't want to lose your photoshop layers, right?

V. UNWEAR STRENGTH


You can define important areas that will be less affected by wear and scratches.
To do that, you will need to make these areas darker on Alpha channel.

Important. Do not draw directly on Alpha channel, because that is desctuctive way, you will not be able to revert it back or change gray colors later easily. Instead, I will show you non-destructive way to edit the alpha channel.

1. Create a folder and then two sub-folders inside it. Let's call main folder Wear, and sub-folders Whites and Darks
2. Create a square covering entire file
3. Put the layer in Wear folder (by draggin it into it)
4. Rename layer to Alpha Background.
5. Double click on layer (on panel, not on artboard), and change color to #000000
6. Copy layer 2 times and put each copy into sub-folders, rename those layers
7. Change color of white copy to #ffffff, and dark to #1f1f1f

1. Now ctrl-click on sticker layer to make a round selection.
2. Select the darks layer and press "Add a mask" button.
3. press alt and drag the mask to whites layer, to copy it.

Now you need to copy everything to Alpha channel.

1. Copy the folder
2. Select copied folder and press these hotkeys:
  • CTRL-E to merge folder into single layer
  • CTRl-A to select all pixels
  • CTRl-X to copy / cut them
  • Then delete layer because you will not need it anymore.
3. Go to channels panel and select Alpha 1 channel (if you don't have one, create it)
then press CTRL-V to paste copied image, then you will need to go back to color view (ctrl-2)
4. Hide the wear folder before saving the final version. You don't want sticker to look same as alpha channel, right?

——————————————————————————————————————————
Why is this method good?

You won't go outside of sticker borders, because mask prevents it.

Also you can change brightress of white / dark layer, by double-clicking on square layer:


By the way, I recommend using same method for weapon skins, and for Dota 2 items.

Some advices

Automate process
You can make action script to automate the process

I bound action to CTRL-F2, it will automatically copy the folder onto alpha channel.

How to see the sticker behind wear folder
You can set wear folder to different blend mode (lighter color for example) to see sticker behind it
——————————————————————————————————————————

VI. DIFFERENT VARIANTS
According to Valve's guide, you must include at least two variants of sticker.

Originally posted by Valve's Sticker Creation Guide:
Valid submission might include a standard-paper-backed sticker version ($decalstyle 1) and a holographic version ($decalstyle 3). Another valid submission may include a standard glossy version ($decalstyle 0) and a foil version ($decalstyle 4). If your workshop submission includes a version of your sticker in all possible styles, that’s even better!

For tutorial purposes, I will make 3 versions of paper-backed glossy stickers. Creation of Holographic and Foil stickers will be covered in parts 2 and 3 of this guide!

Please note that you will not be able to upload 3 glossy stickers, you have to include holo or foil (or both)

I'm making 3 glossy stickers purely for demonstration[/i]


1. Right click on layer name and then "New Smart Layer via Copy". Important: don't copy layer standart way, because if you edit one copy, other smart layers will automatically change too. New Smart Layer via Copy will prevent that.
2. Double click on smart layer icon, it will send you to Adobe Illustrator, where you will make changes.
3. Hide other layers and save as TGA in separate files.

VII. COMPILING THE TEXTURE
You will need VTFEdit to convert TGA file into VTF, Valve Texture File.

After you've installed VTFEdit, I recommend to set it as default program for TGA format,
so you can double-click on TGA files and it will automatically open VTFEdit.


1. Disable "Generate Mipmaps"
2. Resize is not required really, but it wont hurt, so leave checked.


1. Clamp S / Clamp T. Don't forget to enable them for every texture (they are disabled by default!) they will prevent tiling; it is noticeable on some guns: P90 and Nova shotgun.
2. No Mipmap / No LOD. Be sure they are checked too.

Save as VTF file.

Creating a Valve Material (VMT)
Each VTF file should have it's own VMT file. It can be made in simple notepad editor and then saved as .vmt formal instead of .txt

Depending on sticker type (glossy, holographic, foil, and others), you should use different properties.

You can take templates for each type from Valve's sticker guide

This is my vmt file:
WeaponDecal { $basetexture "//./D:/projects/csgo_guide/circle_var1_01" $decalstyle 1 $envmap "env_cubemap" $envmaptint "[]" $phong 1 $phongexponent 2 $phongfresnelranges "[]" $phongalbedotint 1 $phongboost 1.0 $phongalbedoboost 1 $wearwidthmin 0.0 $wearwidthmax 0.09 $wearremapmin 0.00 $wearremapmid 1.00 $wearremapmax 0.95 $unwearstrength 0.26 }
Tabs/spaces are used to line-up values, and empty lines divide properties by groups,
to make VMT file easier to read.


$basetexture. This is a path to your .VTF file, note that you put it in "" quotes, //./ before disk and no .vtf at the end of file

$decalstyle. 1 is for glossy paper-backed stickers (scratched stickers will have paper behind it)

Other properties will be explained later.

Note. We will need VMT file for each variant that we made – red, green and blue stickers.

VIII. TESTING IN MODEL VIEWER
Now the sticker is ready, you will want to test it, and to make screenshots.

For that you will need to start Counter-Strike: Global Offensive SDK.
You can find it in Steam → Library → Tools, or you can copy this link in your browser:

steam://rungameid/745

Start the Model Viewer:


In Model Viewer, File → Load Model… → sticker_preview.mdl

You can rotate view with left mouse button, zoom in and out with right mouse, move camera with shift+left mouse and change light direction with ctrl+left mouse.

Load the sticker



1. Click the materials tab
2. Select sticker_preview_wip
3. Click Replace VMT button

You can choose any gun
File → Load Model… → scroll to the bottom until you see "sticker_preview" folder, open it, and choose any gun:



IX.a EXPLANATION OF LIGHT PROPERTIES (BORING PART №1)
You can skip this section if you want, but I recommend reading it.

Click on picture to get bigger version, differences may be hardly noticeable on small version.

$envmap (default "env_cubemap") Sets the reflection of environment. If you leave it as default, it will reflect the level (well, fake version of it; you can read more about cubemaps here). If you set to "empty" then there will be only simple blurred light reflection, sticker will look more flat
and as if it made of rubber. It will also make item darker overall:


$envmaptint (default "[]") Sets the intensity of envmap. First value for red, second for green and third for blue channel. You can get some cool effect with it:

Foil stickers will typically need higher values than glossy, to catch more light.

$phong (default 1) 0 or 1 only. if set to 1, sticker will have specular highlights:


$phongexponent (default 2 for glossy, 0.1 for foil) Glosiness of sticker. Size of specular highlight. It's hard to see on this particular sticker so I'm not gonna make any screenshots.
More value = metallic look, less value = plastic / rubber look.

$phongfresnelranges (default "[]" for glossy, "[1 1 1]" for foil) I don't quite understand
how it works, but by the looks of it makes highlight more intense. First value is for red color, second for green and third for blue (you can make red, green or blue colors be more shiny).


$phongalbedotint (default 1) I don't understand what it does and why you would change it.
Leave as default.
$phongboost. Same, leave as default.
$phongalbedoboost Same, leave as default.

IX.b EXPLANATION OF WEAR PROPERTIES (BORING PART №2)
$wearwidthmin. Defines how much the layer will be scratched


$wearwidthmax. Same but for maximum wear.


$wearremapmin, $wearremapmid, $wearremapmax
These three properties define how much there be scratches for 0, 50% and 100% worn sticker.


$unwearstrength. Defines the strength of wear mask that we made in Photoshop:

With wear mask, you can make some parts of sticker more resilient than others



56 Comments
Bruce Willis Apr 5, 2019 @ 11:04am 
came for the psd template
僕の名前 (仮)  [author] Mar 24, 2019 @ 7:17am 
Try different settings for $wearremapmin, $wearremapmid, $wearremapmax, $unwearstrength, or make alpha channel darker.
Yilmaz Mar 23, 2019 @ 8:07pm 
You can see here there are already scratches:
https://gyazo.com/f33ae30f0ae8bb6d8078c2e6baaa7cc2

How can I fix this?
Yilmaz Mar 23, 2019 @ 8:05pm 
Hi! thanks for this. I was just wondering, when I get my sticker on the gun, or when I inspect it, it appears to have some strange things reflecting in it, and in some cases appears already worn even though the sticker is not scratched at all. How would I fix that?
僕の名前 (仮)  [author] Dec 5, 2018 @ 1:10pm 
Doesnt really matter, any version should work. I was using CS6
培寳的小跟班 Dec 5, 2018 @ 1:09pm 
Hi. Nice tutorial. What exactly Photoshop and Illusta=rator versions you are using in this tutorial ?
Bleepie Jan 6, 2018 @ 11:38am 
the eight bit alpha doesnt work for tga files... :steamsad:
[SIB] Zhayrot Apr 27, 2016 @ 2:00pm 
I solved the problem. I still used the vmt code from another tutorial. Now that I replaced it with yours it works! Sorry for bothering and thank you for caring! :)
[SIB] Zhayrot Apr 27, 2016 @ 1:50pm 
DXT5
僕の名前 (仮)  [author] Apr 27, 2016 @ 1:41pm 
Do you choose DXT1 or DXT5 alpha format?