Counter-Strike 2 - Weapon Finishes
This article is about the technical things for Weapon Finishes.
All the basics for Weapon Finishes, including the Style Guide, can be found in the page above.
See also Econ item.
For Stickers and Sprays, check the other pages which do not exist yet.
In Counter-Strike 2, Weapon Finishes use a Shader called customweapon
.
Contents
Downloadable Weapon Mesh .obj
From https://www.counter-strike.net/workshop/workshopresources one can find CS2 .obj
Weapon Mesh files, that you can import into Photoshop, Substance Painter or many more applications.
By default, the Faces and Vertices of those Meshes are split / separated from eachother. If you import one of those weapon models in Substance Painter however. When exporting the mesh out from Substance Painter the vertices actually get merged by Distance. If you utilize the Projection Tool's "Mesh Fill" selection tool, it is capable of selecting the entire mesh, just how Blender could do "Select Linked" IF the vertices would be merged though.
The Normals of those merged vertices don't get affected visually, only the metadata. If this causes any other side-effect is not documented.
When the faces get split back however, the Normals return to their previous value.
It should be possible to create mesh groups for each .obj
in Blender using "Merge by Distance" to import them into Substance Painter to hide meshes, in order to visualize areas that would be visually unreachable, such as the magazine capsule.
.obj
file import in Blender will ruin the Normals when merging the Vertices by DistancePatterns
The patterns used in the Spray-Paint, Hydrographic, Anodized Multicolored and Anodized Airbrushed styles all have the same basic properties. Each style can use up to four colors. The pattern is applied one layer at a time, starting with a base coat that covers all paintable areas of the weapon. Color images are typically stored in red, green and blue channels that combine additively to represent a large range of color values. For our patterns, we take advantage of this configuration to store three separate images. The final result is a bit bright, but don’t worry, what it looks like here isn’t how it’ll look on a weapon.[1]
Pattern Placement
Seed
Some weapon finishes have ranges for offsets and rotations. On application, random values are chosen within those ranges so that each application is different.[2]
Textures
There are various of texture files that combine into a material for a Weapon Finish.
Base Color
The Base Color texture painting of a weapon finish, which can be combined with other paintkit templates that support "Paint by Number". This can be used to make the wearing of a skin, reveal a different color.
Wearness Mask - Alpha
The Wearness Mask is a grayscale map defined by a range between black and white. This mask can overwrite the "Wear" behaviour of paintkits. The wearness is defined in a .tga
of the Base Color texture in the Alpha Channel.
The behaviour of that mask has yet to be documented here. If you set an entire surface with the same greyscale color, the wearness won't immediately take away all of the paint, but it will scatter across that masked area.
This could refer that values close to that number will immediately remove the paint even if on Factory New.
Pearlescent
This does something with color shifting. The scale value could be defining how much it should offset the colors in Hue from HSV.
The Pearlescent effect seems to have no effect on grayscale colors.
Pearlescent Mask
The Pearlescent Mask defines what can be affected by the Pearlescent effect when it's scale value is higher than 0. Where the value 0 (Black) won't make it get affected by Pearlescent at all. But the value 255 (White) will. Anything inbetween defines how strong it should be.
Roughness
Controls roughness which also controls a part of the reflectivity. Where RGB 0 is most reflective.
Roughness Mask
Can be in a separate file. According to the documentation some can be included in the Alpha Channel for certain Pattern templates.
The Roughness mask for Weapon Finishes are effective on all RGB channels. Unlike the actual Weapon Shader, where the Roughness mask can also include the Metalness mask. Weapon Finishes don't have a Metalness mask on the Roughness Mask.
Normal Map
A map that gives things 3D effects without affecting the original mesh file, It is useful for showing things such as engravings.
Ambient Occlusion
Style Presets
Anodized Multicolored
Composite Inputs
Composite Inputs, seems to be the mapping from the old legacy-version meshes from CS:GO, to the new weapon meshes from CS2.
Debugging
Albedo
Albedo is a helpful mode to see your skins in fullbright it should be used when trying to see the finish without shaders/lighting
1. In the VConsole click on ConVar Helper
2. These options show up on the side when selecting cs2workshop.
3. When clicking Albedo you get put into a mat_fullbright
mode.
- Any too light color will blink Red.
- Any too dark color will blink Blue.
See also
External links