Les Textures

Dans les deux derniers chapitres, on a appris à créer des blocs. Mais il manque quelque chose à nos blocs : des textures.

Que signifie le damier noir et violet dans JACK ?

Hé oui Jami, dans la vue 3D, si on choisit l’affichage « 3D Textured Polygons » ou « 3D Shaded Textured Polygons », tous nos blocs sont couverts d’un espèce de damier noir et violet. C’est le cas quand JACK ne trouve pas la texture d’un bloc, ce qui est normal dans notre cas car nous n’avons pas encore rajouté de textures.

Les blocs sont recouverts d’un espèce de damier violet et noir dans la vue 3D.

Même si JACK est capable d’ouvrir une map avec des blocs sans textures, comme c’est le cas de notre map actuellement, il faudra absolument que tous les blocs de ta map aient une texture, sinon tu ne pourras pas la compiler. Je le rappelle, compiler une map signifie la copier et la transformer avec un logiciel spécial pour permettre au jeu de l’ouvrir.

Autrement dit, pour jouer à notre map, il faudra s’assurer que chaque bloc ait bien une texture, ce qu’on va voir maintenant.

Rappel sur les dossiers de jeu

Petit rappel TRÈS IMPORTANT : tout jeu GoldSource stand-alone comme Half-Life, Sven Co-op, Counter-Strike a son propre dossier sur ton ordinateur, c’est ce qu’on appelle le dossier du jeu. Par exemple, ça peut être « C:\Program Files (x86)\Steam\steamapps\common\Half-Life », « D:\games\Sven Co-op », etc. Ce dossier la porte le nom de ton jeu avec une majuscule, des espaces, etc. À l’intérieur, tu trouveras l’exécutable du jeu, par exemple « hl.exe » (sur Windows), les fichiers du moteur GoldSource, ainsi que des dossiers.

Par exemple, voici le dossier du jeu d’Half-Life :

Le dossier du jeu d’Half-Life. Le dossier du jeu d’Half-Life.

Une fois dans le dossier du jeu, on trouve le dossier du « mod de base », ou « base game directory ». Eh oui, le jeu lui-même est considéré également comme un mod, plus exactement le mod de base. Par exemple, le dossier « valve » est techniquement le « dossier du mod » Half-Life. Le dossier « svencoop » est également le dossier du mod Sven Co-op, et ainsi de suite.

Le dossier du jeu de Sven Co-op. Le dossier du jeu de Sven Co-op.

Dans le cas d’Half-Life, il est possible d’ajouter des mods, par exemple Opposing-Force ou encore Natural Selection ou bien Reprocessing. Ces mods se mettent également dans le dossier du jeu (c’est-à-dire le dossier « Half-Life », par exemple « Half-Life\gearbox » pour Opposing-Force), et se basent sur Half-Life. C’est-à-dire qu’ils réutilisent en partie les fichiers dans le dossier « valve », le « dossier du mod » Half-Life, d’où le fait qu’on appelle le dossier « valve » le « mod de base » ou le « base game directory ».

Tu as également des dossiers en plus qui ne contiennent que des petits trucs optionnels. Par exemple, « valve_hd » contient les graphiques en haute définition d’Half-Life, « valve_french » contient les voix en français, « valve_downloads » contient les téléchargements quand tu télécharges une map en te connectant à un serveur, et « valve_addons » contient les add-ons (maps, models, etc.) que tu rajoutes par toi même au jeu. Ça évite que les fichiers originaux du jeu se mélangent avec ce que tu télécharges sur Internet ou en te connectant à un serveur, avec le pack HD, les traductions, etc.

Qu’est ce qu’un fichier WAD ?

Les textures, dans les jeux GoldSource, sont contenus dans des fichiers « .wad ». Un fichier « .wad », c’est un fichier qui contient plein de textures, en gros des images, que tu peux ensuite mettre sur tes blocs. Un fichier .wad, qu’on appelle juste WAD, se créé avec un logiciel spécialement fait pour ça, par exemple Wally ou Wadmaker, mais on verra ça par la suite. Pour l’instant, on va utiliser les WADs déjà fournis avec le jeu et on verra pour en créer plus tard.

Le jeu pour lequel tu veux mapper utilise forcément des fichiers WADs, c’est dans ce ou ces fichiers qu’il y a les textures de ton jeu. Tu peux trouver les fichiers WADs de ton jeu dans le dossier du mod de ton jeu.

Si tu as Half-Life (ou un autre jeu) sur Steam, tu peux y accéder au dossier du jeu en lancant Steam, puis en allant dans ta bibliothèque, puis en faisant un clic droit sur « Half-Life » (ou un autre jeu), « Gérer » (ou « Manage »), puis « Parcourir les fichiers locaux » (ou « Browse local files »).

Avec Steam, trouver le dossier d’Half-Life est facile.

Si tu n’as pas Steam mais que tu utilises la version WON, alors ton jeu se trouve probablement dans « C:\ » ou dans « C:\Sierra ». Par exemple : « C:\Sierra\Half-Life ».

Une fois que tu es dans le dossier de ton jeu (qui doit s’appeller par exemple « Half-Life », « Sven Co-op », « Cry of Fear »), tu dois trouver le dossier du mod de base de ton jeu, encore appelé base game directory. Pour rappel, pour Half-Life ou n’importe lequel de ses mods, c’est « valve ». Pour Sven Co-op c’est « svencoop », etc.

Va dans le base game directory de ton jeu. À l’intérieur, tu dois avoir plusieurs fichiers WAD, dont « halflife.wad ».

Par exemple, dans le cas d’Half-Life, on va dans le dossier « valve » et on le trouve :

« halflife.wad » se trouve dans le dossier « valve »

Ce fichier WAD contient les textures de base d’Half-Life. Ce fichier WAD est utilisé par de nombreux mods et mods stand-alone, comme Sven Co-op et Counter-Strike. C’est seulement celui-là qu’on va utiliser pour l’instant.

Ajouter un WAD à JACK

Pour pouvoir utiliser un WAD dans JACK, on doit le rajouter à notre Game Profile.

Tu ne te souviens pas de ce qu’est un Game Profile ? Retourne voir le chapitre « Premiers pas sur J.A.C.K. / Hammer ».

Dans la fenêtre de configuration de JACK, dans l’onglet « Game Profiles », on choisit notre Game Profile et on va dans le sous-onglet « Textures ».

Dedans, on a le bouton « Add Files… ». Normalement, en cliquant dessus, tu dois voir apparaître un message d’erreur :

JACK te dit de spécifier le « base directory » avant d’ajouter des textures.

Le base game directory, c’est le dossier du mod de base dont je te parlais plus haut. Je le rappelle encore une fois, si tu as Half-Life sur Steam, le dossier du jeu sera par exemple « C:\…\common\Half-Life » et le base game directory sera « C:\…\common\Half-Life\valve », même si Half-Life n’est pas un mod à proprement parler. (Techniquement, Half-Life est le mod de base sur lequel les mods d’Half-Life se basent.) Si tu mappes pour un mod, comme Natural Selection ou Opposing-Force, le dossier du mod de base (ou « base directory ») sera donc toujours le dossier « valve ». En revanche, pour les autres jeux stand-alone (qui ne sont pas installés dans le dossier d’Half-Life), le base game directory est différent (par exemple, « svencoop » dans le cas de Sven Co-op).

On se rend donc dans le sous-onglet « Directories » et on rentre notre base directory :

Je met le chemin vers le dossier du mod de base de mon jeu (le Base Game directory). Je met le chemin vers le dossier du mod de base de mon jeu (le Base Game directory). Dans mon cas à moi, c’est Sven Co-op sur Linux.

Ensuite, on peut cliquer sur « Apply » pour sauvegarder les modifications qu’on a apportées à la configuration de JACK sans quitter la fenêtre.

Clique sur « Apply » pour sauvegarder ta configuration sans quitter la fenêtre des options. Clique sur « Apply » pour sauvegarder ta configuration sans quitter la fenêtre des options.

On peut retourner dans le sous-onglet « Textures », et rajouter enfin « halflife.wad ».

On clique sur « Add Files… », puis on navigue dans le dossier du mod de base de notre jeu. À l’intérieur, on retrouve notre fichier « halflife.wad » et c’est celui là qu’on choisit.

Je vais dans le dossier du mod de base de Sven Co-op (« svencoop ») et je choisis « halflife.wad ». Je vais dans le dossier du mod de base de Sven Co-op (« svencoop ») et je choisis « halflife.wad ».

Puis, quitte la fenêtre de configuration. On peut voir que que la partie « Textures » dans la barre de droite de JACK a changé.

Les options liées aux textures ont changé.

La fenêtre de sélection des textures

Dans la partie « Textures » dans la barre de droite de JACK, clique sur le bouton « Browse ».

Clique sur le bouton « Browse ».

Une fenêtre s’ouvre.

La fenêtre de sélection des textures.

C’est la fenêtre de sélection des textures, elle te sera extrêmement utile car tu sélectionneras toujours les textures que tu utiliseras à partir de cette fenêtre. Les textures disponibles sont celles contenus dans les WADs que tu as indiqués dans ton Game Profile.

Mais bon, si elle s’affiche toute petite chez toi comme chez moi, maximise la fenêtre en cliquant sur le carré en haut à droite de la fenêtre de sélection des textures.

Maximise la fenêtre de sélection des textures si ce n’est pas déjà le cas.

Tu remarqueras qu’il y a plusieurs onglets à la fenêtre de sélection des textures.

En général, on travaille toujours depuis l’onglet « All Textures ». Quand tu ouvres la fenêtre de sélection des textures, vérifie bien que tu es sur cet onglet là. Néanmoins, il y a des fois ou peut aller dans les autres onglets juste pour limiter ce qu’on voit dans la fenêtre, et trouver plus facilement une texture spécifique.

En bas de la fenêtre, tu as un champ dans lequel tu peux écrire. C’est le champ « Filter », ça te permet de voir seulement les textures avec un certain mot dans leur nom.

Le champ « Filter »

Remplacer les textures manquantes (« missing textures »)

Comme je l’ai déjà dit, on ne peut pas avoir des blocs à qui il manque une texture dans nos maps, sinon on ne pourra pas la compiler et donc y jouer.

En fait, quand on a créé des blocs avec JACK sans avoir de fichiers WADs configurés, JACK a automatiquement attribué la texture « NOTEXTURE » à nos blocs. Cette texture n’existe pas, c’est juste un nom de texture qui fait référence à une texture inexistante. On va maintenant remplacer ces textures. Dans la partie « Textures » dans la barre de droite de JACK, clique sur « Replace… ».

Clique sur « Replace ». Clique sur « Replace ».

La fenêtre « Replace Textures » s’affiche :

La fenêtre « Replace Textures ».

Sous Find, on peut choisir la texture à remplacer. Clique sur le bouton avec « … » à droite du champ de texte qui est en dessous de Find. La fenêtre de sélection des textures s’affiche.

Va dans l’onglet « Missing Textures » pour voir les textures manquantes. Tu dois avoir « NOTEXTURE », choisis cette texture-là (en double-cliquant dessus).

Choisis « NOTEXTURE ».

Ça te fait revenir à la fenêtre « Replace Textures », mais cette fois tu vois à gauche, en dessous de Find, que « NOTEXTURE » est sélectionnée.

Fais la même chose à droite, en dessous de Replace. Clique sur le bouton « … » à droite du champ de texte en dessous de Replace.

Cette fois-ci, dans la fenêtre de sélection des textures, va dans l’onglet « All Textures » ou dans l’onglet « halflife.wad ». Dans le champ « Filter » tout en bas, écris « wall » pour chercher des textures contenant ce mot. Ça veut dire « mur » en anglais, beaucoup de textures de mur contiennent ce mot.

Choisis « OUT_WALL4B » en double-cliquant dessus.

Choisis « OUT_WALL4B »

Ça te fait revenir sur la fenêtre de remplacement des textures de nouveau. Clique sur « OK », et toutes tes textures manquantes sont remplacées !

JACK affiche le nombre de textures remplacées.

Les textures manquantes sont remplacées.

Appliquer une texture à un ou plusieurs blocs

Pour appliquer une texture à un ou plusieurs blocs, il faut déjà sélectionner le ou les blocs de la manière habituelle (en mode Selection Tool), choisir une texture, puis cliquer sur « Apply Current Texture » dans la barre des outils à gauche.

L’outil « Apply current texture »

Par exemple, sur la map d’exemple sur laquelle on travaille avec le colimaçon et la tour, on va sélectionner le sol. Ensuite, on choisit une texture en cliquant sur « Browse » dans la partie « Textures » dans la barre de droite de JACK.

On clique sur « Browse »

La fenêtre de sélection des textures s’ouvre. Choisis bien l’onglet « All Textures ».

Là, on va choisir une texture de sol (« floor » en anglais). Recherche « floor » en l’écrivant en bas, dans le champ « Filter ».

Puis, choisis la texture « C1A3FLOOR02 » en double-cliquant. La fenêtre de sélection se ferme et la partie « Textures » se met à jour.

Ensuite, plus qu’à sélectionner notre sol, puis à cliquer sur « Apply current texture ».

L’outil « Apply current texture »

On a ensuite un beau résultat :

On peut faire la même chose pour le toit de la tour, en rechercant cette fois-ci « ceil » dans la fenêtre de sélection des textures, puis en choisissant « OUT_ROOF2 ».

Le mode « Texture Application Mode »

Dans la barre des outils de JACK, tu as le mode « Texture Application Mode ».

Quand tu es dans ce mode-là, tu peux appliquer une texture seulement à certaines faces, changer la taille, faire tourner la texture, l’inverser de sens, etc. Bref, beaucoup plus d’options !

Assure-toi toujours d’avoir aucun bloc de sélectionné avant de passer en mode « Texture Application Mode », ça évite que ça modifie accidentellement la texture du bloc sélectionné.

Voyons-voir comment utiliser ce mode.

Appliquer une texture seulement à certaines faces

On a vu comment appliquer une texture à un ou plusieurs blocs entiers. On va maintenant voir comment appliquer une texture seulement à certains côtés (ou faces) d’un bloc.

Revenons à notre exemple de tour avec un toit. On aimerait avoir une texture différente pour l’intérieur du toit car comme ça c’est pas génial :

Pour cela, on utilise le mode « Texture Application Mode ». Assure-toi ne n’avoir aucun bloc de sélectionné, puis passe en mode « Texture Application Mode » en cliquant sur l’outil dans la barre des outils.

La fenêtre « Surface Properties » s’ouvre.

On peut voir en bas qu’on peut choisir un mode. Pour l’instant, laisse « Lift+Select ». On verra ça après.

On va déjà sélectionner une texture de plafond. Clique sur « Browse » (dans la fenêtre Surface Properties, pas à l’extérieur), puis cherche une texture avec « ceil » (« plafond » en anglais). Choisis « FIFTIES_CEIL5 ».

Ensuite, dans la vue 3D, fais un clic DROIT sur le côté sur lequel tu veux appliquer la texture. Et voilà !

En mode « Lift+Select », en faisant un clic droit, tu appliques la texture sélectionnée mais aussi l’orientation, la taille, la position, etc. Si tu veux juste changer la texture, passe en mode « Apply (texture) » et fais un clic GAUCHE.

Orienter et bouger une texture

Quand tu es en mode « Texture Application Mode » (c’est-à-dire que la fenêtre « Surface Properties » est ouverte), et que tu es en mode « Lift+Select », tu peux aussi sélectionner des côtés sans changer la texture.

Déjà, vérifie que tu es en mode « Texture Application Mode » et « Lift+Select ». Autre dit, tu dois avoir la fenêtre « Surface Properties » ouverte et tout en bas il doit y avoir marqué « Lift+Select ».

Sélectionne ensuite une face en faisant un clic GAUCHE dessus. Moi, je vais sélectionner une face de mon toit.

Ensuite, je peux modifier la taille, position, rotation de ma texture !

  • « Scale » : permet de modifier la taille horizontale (« X: ») et verticale (« Y: ») de ma texture.
  • « Shift » : permet de déplacer la texture horizontalement et verticalement.
  • « Rotation » : vraiment besoin que j’explique ? Ça permet de faire tourner la texture. Si tu as une souris avec une molette, tu peux utiliser la molette.
  • « Justify » : très pratique. Ce sont des boutons à cliquer qui ajustent automatiquement la position voire la taille de ta texture. Par exemple, le bouton « C » centre ta texture, « T » l’aligne avec le haut de ta face, « B » le bas, « L » la gauche et « R » la droite. Le bouton « Fit » est le seul à modifier aussi la taille. Il fait en sorte que la texture soit pile poil la taille qu’il faut pour chaque face sélectionnée.

Avec tous ces outils, je peux ajuster la texture sur la face que j’ai sélectionnée de mon toit.

Plus qu’à faire la même chose avec chaque face. (Le bouton « T » ou « B » sont utiles pour ça, j’oriente d’abord ma texture correctement puis j’appuie sur un de ces boutons.)

Et voilà le résultat !

Tu peux activer ou désactiver le filtre rouge (qui te permet de voir quelles faces tu as sélectionnées) en cliquant sur « Hide Mask » en bas, dans la fenêtre « Surface Properties ».

Le bouton « Fit »

J’ai déjà présenté le bouton « Fit ». Certaines personnes pensent que c’est une mauvaise pratique de l’utiliser. Moi, j’aime beaucoup l’utiliser.

Revenons à notre map d’exemple d’escalier en colimaçon.

On va appliquer une texture sur le côté de chaque marche de notre escalier.

Pour cela, on s’assure qu’on ait rien de sélectionné. Puis on passe en mode « Texture Application Tool ». Enfin, on sélectionne une texture qui convienne en cliquant sur Browse. Cherche « trim », et sélectionne la texture « BASETRIM02 ».

Après t’être assuré d’être en mode « Lift+Select », fais un clic droit sur le côté d’une des marches de l’escalier.

Bon, j’ai accidentellement fait deux marches mais c’est pas grave.

Ensuite, sélectionne la face que tu viens de peindre (clic gauche, toujours en mode « Lift+Select »). Puis, clique sur « Fit ».

Le résultat n’est pas exactement celui qu’on veut, car la texture a été étirée horizontalement. Hors, la seule chose qu’on veut, c’est que la texture fasse la bonne taille verticalement.

Pour éviter de donner cet aspect étiré, on va régler la taille horizontale de la texture pour que ce soit la même chose que la taille verticale.

C’est déjà un peu mieux. Maintenant on va appliquer cette texture, avec la même taille, aux côtés de toutes les marches.

Pas d’inquiètude c’est très simple : par défaut, le mode « Lift+Select » applique à la fois la texture sélectionnée, mais aussi la position et la taille (contrairement au mode « Apply (texture) »). Donc, tu as juste à faire un clic droit sur tous les côtés de marche, tout en ayant sélectionné un côté déjà fait.

Le raccourci de la mort qui tue : Alt + Clic Droit

Le raccourci « Alt + Clic Droit » est extrêmement utile. Il ne fonctionne que quand tu es en mode « Texture Application Tool » (c’est-à-dire que la fenêtre « Surface Properties » est ouverte) avec le mode « Lift+Select ».

Imaginons que tu as deux faces (=côtés) ou l’alignement des textures n’est pas super bien fait. Par exemple, dans le pilier central :

On peut voir que les textures ne se suivent pas exactement, laissant apparaître une séparation entre les deux côtés côte à côté, ce qui n’est pas très joli.

Pour cela, en mode « Lift+Select », je sélectionne une face. (Clic gauche dans la vue 3D pour rappel.)

Ensuite, je maintiens la touche Alt et, tout en maintenant Alt, je fais un clic gauche sur le côté du pilier juste à droite. Tu verras que l’autre face aura la même texture avec la même taille, mais surtout que la texture sera alignée avec l’autre !

Ça se voit encore mieux si je désactive le filtre rouge (« Hide Mask » dans la fenêtre « Surface Properties »).

Il ne me reste plus qu’à sélectionner la face que je viens d’aligner, et que je refasse la même chose avec la face suivante (la prochaine à droite).

Ce qui donne : (J’ai réactivé le filtre rouge pour que tu puisse mieux comprendre.)

Après avoir fait tous les côtés, on peut admirer le chef d’œuvre :