[Plan du site]
Vous êtes ici ---
> Le Site du Zéro
> Les tutoriels
> Non-Officiels
> Mapping
> [HL2] Général
> Une map avec Hammer 4 > Entités et effets spéciaux > Les entités
> Lecture du tutoriel
Les entités
Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
J'ai déjà vaguement parlé des entités, mais je n'ai pas été très bavard. Voici pour moi l'occasion de me racheter

.
On distingue tout d'abord 2 types d'entités :
- Les entités-point
- Les entités-bloc
Entités-point
Les entités-point, comme leur nom l'indique, sont un point de l'espace. Ce point de l'espace possède une fonction bien précise. Par exemple, l'entité appelée
light est une « ampoule ». C'est de ce point là que démarrera une source lumineuse.
Les entités-point sont très nombreuses. On y trouve par exemple :
- Le point de départ d'un joueur
- Une arme posée par terre
- Une source sonore (du son est diffusé à partir de cette entité)
- Un personnage
- Les models
- ...
Pour insérer une entité, c'est très simple : cliquez sur l'outil

. Allez maintenant dans la liste déroulante
Objects du petit panneau
Objects, et sélectionnez
light dans ladite liste.
Il ne vous reste plus qu'à la créer, comme un bloc. Vous cliquez dans une des vues 2D et vous cliquez droit puis validez
Create object.
Dans votre vue 3D, vous avez maintenant une jolie petite ampoule.
Entités-bloc
Les entités-bloc sont comme les entités-point, mais elles possèdent un volume. C'est un bloc qui est devenu une entité. Ce type d'entité sert par exemple à définir un espace, une zone dans laquelle il se passera quelque chose. C'est le cas des zones d'achat de CS. Toute la zone est un bloc dans lequel les joueurs peuvent acheter, s'ils s'y trouvent. Une porte peut être une entité-bloc. Elle aura alors des paramètres qui feront que si le joueur se trouve tout près, elle s'ouvrira.
Pour créer une entité-bloc, rien de plus simple : créez un bloc et sélectionnez-le. Dans le panneau vu précédemment, cliquez sur
ToEntity. Pour supprimer le caractère d'entité d'un bloc, il suffit de cliquer sur
ToWorld.
Une fenêtre s'ouvre alors, et la liste déroulante
Class vous permet de définir l'entité créée. Je vous parlais des zones d'achat de CS. Dans ce cas, c'est
func_buyzone.
Généralement, les entités-bloc dans lesquelles le joueur peut rentrer (entités-bloc invisibles) sont texturées avec la texture
tools/toolstrigger.
Ce qui fait l'entité c'est avant tout ses paramètres. Sélectionnez une entité dans votre fenêtre 3D et faites
Alt+
Enter (ou clic droit >
Proprieties dans une des vues 2D). Une fenêtre comme cela s'ouvre :

ou

Il y a 5 onglets principaux :
- Class info
- Outputs
- Inputs
- Flags
- VisGroup
Class et Flags
Class
L'onglet
Class Info est très important. C'est sous celui-ci que se trouvent les paramètres (ou les
attributs) généraux de l'entité sélectionnée. Tous ces paramètres sont dans la zone
Keyvalues.
Le type d'entité (on dit aussi la classe d'entité) est visible dans la liste déroulante Class.
Vous avez la possibilité de modifier tous ces attributs. Pour cela, cliquez sur l'un d'eux. La valeur de l'attribut est alors affichée dans la zone de droite, juste au dessus de la zone
Help.
Par exemple, cliquez sur
Brightness (qui veut dire
Brillance en français). La valeur de cet attribut est alors affichée dans le champ de saisie à droite, et un bouton appelé
Pick Color (
Choisir la Couleur) est apparu. Vous pouvez cliquer dessus, et vous pourrez alors choisir la couleur qu'aura votre lumière

. Il en va plus ou moins de la même façon pour tous les autres attributs.
Le petit radar ainsi que la zone de saisie
Angles permettent de définir l'orientation de l'entité. Cette fonction n'est pas active dans le cas d'une entité de classe
light. Par contre, vous pouvez passer la classe (champ
Class) en
light_spot, et dans ce cas, vous aurez la possibilité de définir l'orientation.
Bien sûr, nous reviendrons sur les paramètres de chaque entité dans les parties suivantes. Ici, c'est juste pour vous montrer comment ça fonctionne.
Flags
Passez sous l'onglet
Flags. Sous cet onglet sont présent d'autres paramètres, mais ce sont seulement des paramètres booléens (coché ou non). Dans le cas de notre
light, il n'y a qu'un paramètre :
Initialy Dark. Si ce flag est coché, la lampe sera éteinte, jusqu'à ce qu'on l'allume (ce que nous verrons plus tard).
Notez aussi la présence, sous l'onglet Class Info, d'un bouton intitulé Help. Ce bouton ouvre une fenêtre contenant des informations sur l'entité sélectionnée. Je vous invite à vous servir de cette fonction le plus souvent possible. Les infos données sont utiles, mais pas encore à notre stade (outputs, input, paramètres détaillés...).
Les outputs et les inputs servent en quelque sorte à faire communiquer plusieurs entités entre elles. C’est ce qui va nous servir à créer des boutons qui allument une lampe, qui provoquent un bombardement, et plein d’autres choses marrantes

.
Au début, ça me paraissait très obscur, je ne pigeais pas bien comment les utiliser. Je ne comprenais pas ce que venaient faire les inputs, et c’est pour cela que je ne vous parlerai pas beaucoup ce ces inputs (du moins au début), car seul les outputs suffisent pour vous expliquer comment ça marche.
Un output est une sorte de commande qui va servir à appeler une autre entité. Par exemple, si un joueur passe dans une certaine zone, il y a un tremblement de terre. Dans ce cas, quand le joueur sera dans la zone, l’entité-bloc (la zone donc) va appeler l’entité qui se chargera de créer un tremblement de terre. C’est ce qu’on appelle l’
output.
Je vais vous montrer de quoi se compose un output.
Allez sous l’onglet
Outputs.
La grande zone blanche montre tous les outputs créés. Vous n’en avez aucun, bien évidemment. Pour créer un nouvel output, il faut cliquer sur
Add.
Les champs de saisie auparavant grisés vont s’activer. Il va falloir les remplir.
- My output named : c’est le nom de l’output. C’est en fait un événement qui déclenchera l’output. Suivant l’entité sur laquelle vous créez un output, la liste que Hammer vous propose est différente. Si vous connaissez, c’est quelque chose de semblable aux événements Javascript (onclick, onmouseover…)).
- Targets entities named : c’est le nom de l’entité qui sera appelée par l’output. Le nom d’une entité se définit dans son paramètre Name.
- Via this input : c’est ce qui se passera au niveau de l’entité qui sera appelée. Par exemple, une lumière (light) peut soit s’allumer soit s’éteindre.
- With a parameter override of : c'est un paramètre additionnel. On laissera généralement ce champ vide (sur <none>). Nous l'utiliserons lors de la création d'outputs plus complexes.
- After a delay in seconds of : c’est le temps avant que l’output ne soit déclenché. Si le champ vaut 0 (0.00), alors l’output est déclenché instantanément.
Ca, c’est de la théorie. Vous comprendrez mieux comment utiliser ces fameux outputs dans les mini-tutos suivants.
Voici un exemple d’output :
OnStartTouch, (dès que l'entité-bloc est touchée), elle appelle l’entité dont le nom est
boumfaitlabombe, et lui dit qu’elle doit exploser (
Explode) après
3 secondes.
<information>Par la suite, dès que nous allons rencontrer une nouvelle entité, je vous donnerai, dans un tableau, son nom, son type et un résumé de son utilité. Le nom sera un lien vers le Wiki officiel de Valve, où vous pourrez trouver des informations plus complètes sur l’entité en question. Ces informations seront en anglais, mais ont comme principale utilité de lister tous les outputs et tous les inputs de l’entité, car je ne le ferai pas à chaque fois (bien trop long ou inutile). </information>