Matériaux
Sous Source, en général, un "material" est une combinaison d'un ou plusieurs

- VMT - Un fichier éditable avec un éditeur de texte qui renseigne Source sur les différents attributs de votre texture.
- VTF - (Valve Texture Format) Un format propriétaire de Valve contenant votre ou vos texture(s) et d'autres informations propre à l'image.
On peut diviser le VMT en plusieurs catégories :
- Shader utilisé
- Nom de la texture
- Propriétés physiques des matériaux
- Paramètres spécifiques du Shader
- Fallbacks - Permet d'optimiser, selon la version de DirectX du PC
- Proxies - Permet de faire varier dans le temps certains paramètres
Exemple simple
LightmappedGeneric
{
$basetexture coast\shingle_01
$surfaceprop gravel
}
Voici un matérial très basique.
- Le
LightmappedGeneric
shader est utilisé. - Le { ouvre les paramètres propres au shader
- Le paramètre
$basetexture
donne le chemin de votre texture de base. $surfaceprop
indique à Source comment il doit interpréter cette texture (avec la physique par exemple), une texture de type "bois" sera gérer différemment qu'une texture de type métal dans son interaction avec le joueur (bruit quand on la touche, coefficient de pénétration).
Le shader ici employé, est uniquement destiné aux éléments blocs de Hammer et non aux modèles. Pour ceux-ci, il faut utilisé une série de shader qui leurs est dédié comme le VertexLitGeneric
.
La majorité des paramètres fonctionnent avec tous les shaders, mais certain paramètres comme Phong ne fonctionnent qu'avec le shader VertexLitGeneric
.
Un paramètre non supporté par le shader ne fera pas planter.

Emplacements des matériaux
Les matériaux personnalisés sont stockés dans le dossier materials\
du jeux.
Ceux des jeux officiels comme CSS ou HL2 se trouve dans des packs compressésGCF appelés 'materials', vous pouvez les extraires avec GCFScape.