This short guide will take you through some of the trickier sections for creating a foil type sticker for CS:GO and the things i learned while making my Countdown sticker.
This guide will not go into the specifics of creating a base image or a normalmap, but simply cover some of the things i ran into while creating mine.
If you want more detail you can always check the official valve guide or the various wonderfull and detailed guides in this community.
Tips for creating your normalmap
The foil sticker consists of your normal color image and a normalmap, These two combined with a cubemap (added in the sticker shader) will create a metallic beveled appearance.
Since your final sticker will be quite small in-game, it's highly recommended to stick to larger and bolder shapes to avoid small noise.
This can offcourse differ from sticker to sticker, but given that we're allready combining 2 images (the base image + reflection) I recommend keeping the detail big and bold.
Creating a seperate heightmap image as opposed to just using a black & white version of your base image really pays off when it comes to normalmaps.
The reason for this is as you can see above, some of the detail and values being used in your base image might not create the effect you want when converted into a normalmap.
For example you can see that all the fine shading inside the character's silhouette is creating alot of additional detail that we don't want in this case.
As a final tip for seeing your normalmap and making adjustments to it.
Simply replace your base image with a solid 50% grey color and you will get a really accurate preview of how the reflection is really being warped by the normalmap.
Normalmap compression & why DXT is not your friend
So, now you have an awesome normalmap! But.
what's this, once converted into a ValveTextureFormat, Let's have a closer look.
Now to clarify what's happening when saving the image into a .
vtf file here's what happens.
By default VTFedit[nemesis.
net] will try to compress this image using DXT1, or DXT5.
For a regular image and in some cases normalmaps with a higher noise ratio this usually isn't a problem since there's enough detail to hide the blocks caused by the compression, however for a normalmap using big and bold shapes these slight blocks are now causing giant visual artifacts.
And because we spent so much time getting nice big and bold shapes, additional noise is the last thing we want.
The solution luckily for us is to simply select the RGB888 or uncompressed option, this will increase the final memory size of the texture, but will give us minimal normalmap artifacts.
So for comparison, and you may have to zoom in on the image for a clearer view.
You can clearly see, especially around the "3" in the texture that the edge noise has been severely reduced.
Why is my foil so darn bright?
As a final note, you may notice that the combined effect of your base/color image and the reflection ontop is causing some spots on your foil to really burn out, and thus hiding alot of your detail.
One possible solution would be to create a seperate base/color image specifically for the foil sticker.
BUT, since we don't want an additional texture, we can use a smarter way.
Thanks to a wonderfull tip (thank you Will) simply add:
$colortint "[128 128 128]"
into your vmt text file, this will darken/tint the base/color image just enough to keep all your details.
And that's it!