Les dimensions dans l'œil

Quelque chose de très difficile quand on commence à mapper, outre le fait de devoir prendre en main Hammer, est de s'y retrouver dans les dimensions. Je me souviens de mon premier test, du temps d'Half-Life 1. J'avais fait une petite maison, et les marches de l'escalier étaient si hautes que je ne savais pas les monter ^^ .

Les textures de dev

Si vous joué à Day Of Defeat, Team Fortress³ ou Counter-Strike, vous avez certainement déjà croisé des maps dites "orange", caractérisées par des textures orange. Outre le fait que ce soit laid, ne nous êtes-vous jamais demandé pourquoi le jeu incluait des textures orange ?

Eh bien ces textures sont en fait des textures de développement, dites "textures de dev". Certaines textures de dev présentent des indications qui aident le mappeur à s'y retrouver dans les dimensions. C'est ce que nous allons voir maintenant.

Les textures de base

Il y a deux textures de bases principales, qui sont souvent utilisées dans les maps orange :

  • dev_blendmeasure : texture carrée grise, à utiliser pour le sol

  • dev_measuregeneric01 : texture orange de base, à utiliser pour les murs et certains revêtements ne demandant pas de mesures précises

Les murs

128, le standard

Sous la quasi-totalité des jeux Source, un mur d'un étage fait 128 unités de haut. La texture dev_measurewall01a est une texture carrée de 128*128 que vous pouvez utiliser pour texturer vos murs. Le truc pratique c'est que les vrais textures de mur font aussi 128*128 comme grandeur (parfois le double), autrement dit ça vous donne une bonne idée du rendu de votre mur.

Les caisses

D'autres textures peuvent servir de mesure, notamment les textures dev de caisses . Voici les 4 principales :

  • 64*64 : dev_measurecrate01 : un demi-mur, ou une très grosse caisse

  • 48*48 : dev_measurecrate03 : un muret assez haut. Le joueur peut sauter dessus en s'accroupissant

  • 32*32 : dev_measurecrate02 : un petit muret. Le joueur peut sauter dessus sans s'accroupir

Image utilisateur

Une porte

dev_measuredoor01 représente une porte. Vous pouvez donc l'utiliser pour créer un bloc aux dimensions d'une porte standard. Vous devez aussi penser à découper le chambranle, comme indiqué avec les mesures précises sur la texture.

Image utilisateur

Un escalier

Voilà aussi un sujet assez déroutant pour les débutants : la taille des marches ! Qu'à cela ne tienne, il existe la texture dev_measurestairs01a qui vous aidera à vous représenter l'escalier et à découper le bloc sans problèmes.

Image utilisateur

Il existe d'autres textures comme la texture de rampe ou de rambarde ainsi qu'une texture d'échelle. Elles sont moins utiles, et je vous laisse les découvrir par vous-même.

Les dimensions

Le wiki de Valve donne des informations concernant les dimensions dans Half-Life² . Ces dimensions sont globalement les mêmes dans les différents mods. Je vous propose ici de voir quelques dimensions intéressantes, qui vous aideront à vous familiariser avec les grandeurs.

Système métrique

Hammer travaille en unités, et il est possible de savoir combien de mètres font une unité. Ce n'est pas super important, mais ça peut quand même vous être utile. Voici donc une table avec les données :

Unités

Mètres

Utilité remarquable

1

1 cm

 

2

4 cm

 

4

8 cm

Hauteur d'une bordure

8

15 cm

Hauteur de marche d'escalier

16

30 cm

 

32

60 cm

 

64

1 m 20

 

128

2 m 40

Mur d'un étage

256

4 m 90

Double mur

512

9 m 80

 

Les joueurs

Faire un conduit, un petit passage... c'est bien, mais encore faut-il savoir la taille des joueurs !

Obstacle au sol

Les joueurs peuvent franchir automatiquement (sans qu'il ne doive sauter) une hauteur de 18 unités, et ce que le joueur soit debout ou accroupi.

Image utilisateur
Passer sous

Debout, un joueur peut passer, sans s'abaisser sous une hauteur de 73 unités. Accroupi, il ne peut passer sous une hauteur de 37 unités.

Image utilisateur
Passer entre

Côté largeur, un joueur peut passer entre deux blocs éloignés de minimum 33 unités. Ainsi, un conduit d'aération doit au minimum faire 33 unités de large et 37 unités de haut.

Image utilisateur
Pente

A partir d'une inclinaison de 45 degrés, il n'est plus possible aux joueurs de grimper dessus.

Utiliser des objets
  • Un joueur prend automatiquement un objet si le centre de cet objet se trouve à 25 unités de lui ;

  • Un joueur peut "Utiliser" un objet, un bouton, une porte... à partir de 82 unités.

Les maps du SDK

Le Source SDK n'embarque pas de documentation (il faut aller sur le Wiki de Valve pour ça) mais embarque en revanche toute une série de maps d'exemple, portant le préfixe sdk_. Ces maps d'exemple se trouvent dans le dossier sourcesdk_content\hl2\mapsrc (à partir de votre dossier de profil Steam).

Les maps techniques

Ce sont des maps qui expliquent (enfin, "expliquent" est un bien grand mot ^^ ) certaines techniques comme la manipulation des cubemaps, la création d'une grue avec un électro-aimant... c'est souvent assez complexe pour votre niveau actuel. Ces maps ne sont pas souvent belles (souvent texturées en orange), puisque leur but est d'expliquer, pas de passer un concours de beauté ^^ .

Les maps du jeu

Ici c'est déjà plus intéressant ! Il s'agit de maps tirées d'Half-Life² (et une de Half_life² Deathmatch). Ce sont donc des maps complètes que vous pouvez ouvrir avec Hammer pour regarder comment c'est fait. Je vous le dit tout de suite, ce sera compliqué de vous y retrouver au début ^^ . Voici la liste des maps que vous pouvez ouvrir, et je vous conseille de commencer par sdk_dm_lockdown qui est une map HL²DM, et donc un peu plus simple que les maps HL² (car pas de gestion des changements de niveau, de ciel en 3D...).

Image utilisateur sdk_dm_lockdown.vmf ouverte dans Hammer

  • sdk_dm_lockdown.vmf : c'est la map HL²DM, et elle se trouve dans le dossier sourcesdk_content\hl2mp\mapsrc

  • sdk_background.vmf : elle est petite et plutôt vide, et est destinée à être chargée en arrière-plan du menu d'HL²

  • sdk_d1_town_03.vmf

  • sdk_d1_trainstation_01.vmf

  • sdk_d1_trainstation_02.vmf

  • sdk_d1_trainstation_03.vmf

  • sdk_d1_trainstation_04.vmf

  • sdk_d1_trainstation_05.vmf

  • sdk_d2_coast_12.vmf

  • sdk_d3_c17_13.vmf

  • sdk_d3_citadel_01.vmf