Matériaux

From Valve Developer Community
Jump to: navigation, search
English Deutsch Русский

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

Astuce:
Par commodité, un matérial, des matériaux. On devrait dire matériel, mais cela ne correspond guère. Certains emplois matéria pour le singulier, le terme Anglais material est également Francisé en matérial. D'autres parlent simplement de Texture
  • VMT - Un fichier éditable avec un éditeur de texte qui renseigne Source sur les différents attributs de votre texture.
  • VTF - (VAVLe 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 :

  1. Shader utilisé
  2. Nom de la texture
  3. Propriétés physiques des matériaux
  4. Paramètres spécifiques du Shader
  5. Fallbacks - Permet d'optimiser, selon la version de DirectX du PC
  6. 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.

  1. Le LightmappedGeneric shader est utilisé.
  2. Le { ouvre les paramètres propres au shader
  3. Le paramètre $basetexture donne le chemin de votre texture de base.
  4. $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.

Astuce:
Si jamais vous avez besoin d'utiliser un espace ou un caractère de tabulation dans la valeur d'un paramètre, vous devrez la délimité par des guillemets double ("). Si vous souhaitez tout délimiter par des guillemets double, économisez-vous, car ça ne sera pas nécessaire si vous n'utiliser pas d'espace ou de caractère de tabulation.

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.