Si vous êtes ici c'est que vous voulez apprendre à créer des maps, c'est-à-dire apprendre à mapper. Mais avant de se lancer dans l'aventure, il est bon de donner quelques informations sur le processus de mapping (création d'une map) ainsi que sur les maps en général.
Tout d'abord une question qui peut paraitre anodine : qu'est-ce qu'une map ?
Une map est un environnement de jeu en 3 dimensions. Cela veut donc dire que le programme que nous allons utiliser, Hammer, est un programme de 3D dont le fonctionnement est similaire à des logiciels de modélisation 3D comme Blender, Maya, 3DSMax... C'est important de le dire, car ce genre de logiciel demande plus de temps d'apprentissage qu'un traitement de texte ou un programme de retouche d'images.
Dans un premier temps, nous allons créer un fichier .vmf avec Hammer. Hammer ne travaille d'ailleurs que avec ce format donc vous n'avez pas vraiment le choix. Pour que la map soit jouable, il faudra la compiler, c'est-à-dire convertir le fichier .vmf en un fichier .bsp que le jeu (Half-Life², Left 4 Dead, Counter-Strike...) sera capable de charger. Nous utiliserons aussi Hammer pour compiler.
Quand on crée une map, il est bon de tester fréquemment le résultat, c'est-à-dire de compiler et de tester la map dans le jeu. Tester fréquemment sa map permet de corriger les erreurs rapidement pour éviter de les accumuler. Pour des raisons pratiques, la compilation des maps ne sera abordée que dans la quatrième partie de ce tutoriel. Néanmoins je vous conseille de la lire dès que l'envie vous prend de tester votre début de map (une envie qui viendra assez vite ).
Le Source SDK est en anglais, et il n'existe pas de version française, ce qui vous laisse un avant-goût du monde du mapping : quasi tout est en anglais. Il existe bien des sites en français, mais ce n'est jamais vraiment complet. Le meilleur endroit pour vous documenter et chercher des réponses est le Wiki mis en place par Valve . Je vous conseille vivement de vous y référer en cas de problème.
Voilà, ceci étant dit, on peut commencer !
L'environnement de travail est l'espace dans lequel vous allez mapper : c'est Hammer. Vous avez donc lancé Hammer. Allez dans le menu Files puis cliquez sur New, ou faites tout simplement Ctrl+N.
Un nouveau document s'ouvre, vierge :
Voir la
vue sous Windows XP
Pour commencer, nous allons un peu analyser les différents composants de l'interface. J'ai numéroté un certain nombre de zones colorées en rouge. L'utilité de ces zones est reprise ci-dessous.
(1)La barre d'outils horizontale : c'est une barre d'outils classique comme on peut en trouver
dans la majorité des programmes de bureautique. Elle a pour fonction de mettre à votre disposition toutes sortes
de fonctions faciles d'accès.
(2)La barre d'outils verticale : cette barre affiche un
ensemble d'outils qui nous permettront de mapper. Ils sont indispensables ! Nous y reviendrons plus tard.
(3)Les 4 vues : vue 3D (camera), vue du dessus (top), vue de face (front) et vue de côté (side). Ces 3 dernières vues constituent les vues 2D.
(4)Le panneau des textures : c'est grâce à lui que nous allons pouvoir sélectionner une texture pour un bloc. Ce panneau ne nous sera pas d'une grande utilité, car nous passerons plutôt par un autre panneau (le panneau d'application de textures, que nous ne voyons pas sur l'image).
(5)Le panneau VISGroup : c'est un panneau qui permet de créer des « Groupes de Visibilité ». Ça signifie que vous pouvez rassembler plusieurs objets dans un même groupe, et les masquer, pour ainsi alléger les différentes vues. Nous reviendrons sur ce panneau ultérieurement.
(6)Le panneau de création : ce panneau va nous permettre de sélectionner un type d'entité, de blocs à créer. C'est un peu abstrait. Nous en parlerons dans la prochaine sous-partie.
Pour vous expliquer un peu mieux les vues 2D, voici quelques images (elles viennent du tuto de M@teo21 sur le mapping Half-Life 1 ). M@téo a donc créé un camion et voici les vues 2D :
Le camion vu de dessus (top).
Le camion vu de face (front).
Le camion vu de côté (side).
La vue 3D est la représentation en 3 dimensions de votre map, c'est-à-dire de vos vues 2D. Elle permet de vous rendre compte de ce que ça donne. La vue 3D possède plusieurs modes d'affichage. Pour y accéder, cliquez sur Camera, en haut à gauche de la fenêtre 3D. Il y a 6 modes d'affichage, mais seulement 3 nous seront utiles : Wireframe, Flat et Textured.
Wireframe n'affiche que les arêtes des blocs de votre map.
Flat affiche votre map, mais sans les textures. Les blocs sont colorés. Ca peut être utile pour repérer des blocs qui dépassent, ou qui posent problème.
Textured affiche tout simplement votre map comment elle sera dans le jeu, mais sans les jeux de lumière. C'est cet affichage-là que nous utiliserons tout le temps.
Wireframe
Flat
Textured
Que trouve-t-on dans une map ?
On n'y trouve pas énormément de choses différentes en fait. On y trouve principalement des blocs, des entités et des displacements. Les entités peuvent servir à insérer d'autres constituants comme des models, des decals et des overlays. Les entités sont de deux types : bloc ou point.
des blocs ;
des displacements ;
des des entités :
des models ;
des decals et des overlays ;
de la lumière, des interactions, des personnages...
Voici une image d ela vue 3D de Hammer, avec différents constituants :
Une pièce est constituée des blocs : le sol, les murs, le plafond, le chambranle de la porte, et même la vitre. Les blocs (on dit brush en anglais) sont les constituants les plus simples et sont à utiliser pour créer l'architecture de la map. Ils servent à faite le squelette de la map. Les blocs peuvent être convertis en entités point pour leur ajouter des fonctionnalités, comme par exemple créer une plate-forme élévatrice, une vitre cassable, ou un hélice en rotation.
On applique des tetxures sur les faces de blocs
Dans l'image ci-dessus, on peut apercevoir un radiateur, un moniteur et un néon. Ces trois éléments-là sont des models, c'est-à-dire des éléments en 3D créés à partir d'un logiciel de modélisation comme Blender, XSI ou 3DsMax. Les models sont évidemment plus complexes à créer que des blocs puisqu'ils nécessitent l'utilisation d'un logiciel de modélisation. Les models peuvent être animés (les personnages, comme Alyx, un Terro ou le Soldier de TeamFortress² sont aussi des models). Les models sont partout ! Heureusement, les différents mods possèdent un large éventail de models que vous pourrez utiliser au sein de vos maps.
Voici un screenshot du mod Black Mesa:Source ou l'on peut apercevoir de nombreux models : le shotgun, la rambarde, les néons, les consoles, le boîtier électrique ainsi que le chargeur HEV et le dispenser de soins :
Les models sont aussi des personnages. Voici le rendu d'un Marine dans Black Mesa: Source d'abord non texturé, puis texturé :
Les displacements englobent une technique de création de relief. C'est grâce à eux que vous allez pouvoir créer des décors plus ou moins naturels, comme des montagnes, des rochers arrondis, des trous, des dunes... ou comme dans l'image plus haut, un tas de gravats.
Voici la map pl_upward de Team Fortress². Toute la colline est faite avec des displacements :
Les decals sont des entités point qui permettent d'apposer une texture sur une autre. On peut les utiliser pour mettre une tâche de sang, des impacts de balles, des panneaux, de la végétation (avec une texture de végétation) sur un mur. Les overlays reposent sur le même principe à la différence près qu'on peu les étirer.
Dans Left 4 Dead, on peut apercevoir de nombreuses affiches placardées un peu partout. Ce sont des decals :
Les entités sont des éléments qui possèdent une fonction. Il existe 2 types d'entités : les entités bloc et les entités point. Chaque entité possède un nom et des spécificités différentes. Par exemple, l'entité point prop_static permet d'insérer un model, alors que l'entité point light_spot insère le faisceaux lumineux d'un spot (c'est le "spot" verdâtres dans l'image donné plus haut).
Les entités bloc sont des blocs qui possèdent certaines fonctions. Comme énoncé plus haut, il peut s'agir de plates-formes élévatrices, de vitres cassables... Mais ces entités blocs peuvent aussi être invisibles pour le joueur. C'est le cas d'une zone d'achat dans Counter-Strike par exemple.
Tous ces points seront abordés plus en détail par la suite.