- 6 Départ des joueurs
- 7 Lumière !
- 8 Les vitres
- 9 Retour
Les vitres sont omniprésentes dans les maps. En plus, créer une vitre ne prend que quelques secondes. Mais la rendre transparente, c'est un vrai casse-tête chez les débutants ! Ne vous en faites pas, je vais vous prouver qu'en fait il n'y a rien de plus facile
Créer une vitre
La technique que nous allons utiliser pour créer une vitre est un peu la même que celle de l'interrupteur. Vous allez devoir dans un premier temps créer un bloc avec une texture de vitre, puis vous le transformerez en entité.
Suivez ces étapes dans l'ordre :
- Créez un bloc assez fin, avec une texture de vitre (GLASS...). Par exemple : GLASS_BRIGHT.
- Sélectionnez la vitre.
- Cliquez sur le bouton « toEntity » en bas à droite de l'écran :
- Dans le menu déroulant de la fenêtre qui s'affiche, choisissez l'entité nommée : func_breakable
- Editez ensuite ses propriétés :
- Name : nom de l'entité. Donnez-lui un nom pour pouvoir la casser à distance (si le joueur appuie sur un bouton comme nous avons appris à le faire, alors la vitre se cassera toute seule !).
- Target on Break : nom d'une entité à appeler lorsque la vitre est cassée.
- Strength : important, c'est la résistance de la vitre. Plus elle est élevée, plus la vitre est dure à casser. En règle générale, je vous conseille de laisser la valeur par défaut de 1.
- Material Type : type d'objet cassable. En effet, cette entité sert aussi pour tous les objets que l'on peut casser :
Glass : vitre. Wood : bois. Metal : objet métallique. Flesh : débris organiques (si vous explosez un extra-terrestre par exemple). Cinder block : blocs de ciment. Ceiling tile : morceaux fins du plafond. Computer : ordinateur (vous n'oseriez tout de même pas tirer sur votre PC ???) Unbreakable glass : ça c'est complètement débile. C'est une vitre, oui, mais qu'on ne peut pas casser. Alors pourquoi la mettre parmi les objets cassables ? Demandez à Valve ;o) Rocks : morceaux de roche. Il s'agit de la pierre des montagnes Rocheuses qu'on voit tout le temps dans Half-Life.
- Gibs direction : direction dans laquelle partent les débris.
Random (par défaut) : les débris partent dans un sens aléatoire. Relative to Attack : le sens dans lequel les débris partent est calculé en fonction du point d'attaque.
- Delay before fire : temps en secondes avant de déclencher la cible.
- Gib model : modèle à utiliser pour les débris. Inutile d'y toucher.
- Spawn on Break : si vous faites une map pour Half-Life, vous pouvez faire apparaître des bonus après que le joueur aie cassé l'objet (généralement une caisse).
- Explode magnitude : puissance de l'explosion. Si vous désirez qu'une explosion se produise lorsqu'on casse l'objet, alors rentrez une valeur supérieure à 0. Pour info, une grenade correspond environ à une magnitude de 100.
Il y a d'autres attributs mais nous n'en parlerons que plus bas. Pour l'instant, vous connaissez tous les attributs qu'il faut pour faire une vitre qui fonctionne, voire même une caisse etc...
Voyons maintenant les flags de cette entité :
- Only trigger : la vitre ne peut être cassée que grâce à un trigger (bouton...).
- Touch : dès qu'on s'approche de la vitre, elle explose.
- Pressure : dès qu'on « utilise » la vitre, elle explose.
- Instant Crowbar : quelle que soit la résistance (Strength) de la vitre, un coup de pied de biche suffit pour la détruire.
Enfin, voici un exemple de vitre sous Worldcraft :
N'oubliez pas que vous pouvez faire autre chose que des vitres avec un func_breakable ! On peut casser du ciment, des murs, des caisses, de la roche... (à coup de lance-roquettes pour la roche, parce qu'avec un MP5 si vous détruisez une montagne ça risque de pô faire très réaliste
La transparence
Je parle de la transparence ici car je sais que les mappeurs en ont le plus souvent besoin avec les vitres. Mais, comme nous allons le voir, il existe d'autres types de transparence tout aussi utilisés !
N'abusez pas trop des effets de transparence, parce que ça a le don de faire ramer les petites configs... enfin, ça ne veut pas dire que vous ne devez pas vous en servir au contraire !
Le plus souvent, on utilise 2 types de transparence :
La transparence totale
Cette transparence est celle utilisée pour les vitres en général. Elle permet de rendre toute vitre plus ou moins transparente. Plus la vitre est transparente, mieux on voit ce qu'il y a derrière.
Dans la plupart des entités, vous remarquerez qu'il y a 4 propriétés qui reviennent : Render FX, Render Mode, FX Amount et FX Color.
C'est en manipulant ces propriétés que nous allons pouvoir rendre un objet transparent.
Pour faire une vitre transparente, utilisez ces propriétés :
- Render Mode : mettez-le à Additive (assez lumineux) ou bien à Texture (moins lumineux, mais meilleure transparence à mon goût).
- FX Amount : rentrez une valeur entre 1 et 255.
1 : transparence maximale. 255 transparence minimale.
Cela suffit pour rendre la vitre transparente !
La vitre n'est pas transparente sous Worldcraft. Il vous faudra lancer votre map sous Half-Life pour que vous puissiez la voir transparence.
La transparence partielle
Cette transparence-là est très très pratique. Elle permet de rendre transparente seulement une partie d'un objet. Par exemple, on s'en sert pour les échelles ou les grillages. On voit ainsi à travers uniquement entre les barreaux.
Pour se servir de cette transparence, il va vous falloir créer un bloc ayant une texture commençant par une accolade : « { ». Comme vous le remarquerez, toutes les textures commençant par ce symbole contiennent du bleu vif. C'est ce bleu que le moteur de Half-Life rendra transparent lorsque vous jouerez sur votre map.
Transformez votre bloc en func_breakable si vous voulez qu'il soit cassable, ou bien en func_wall pour qu'il soit incassable.
Editez ensuite les propriétés suivantes :
Render Mode = Solid. FX Amount = 255.
Et voilou ! Sous Half-Life l'objet sera transparent uniquement là où il y avait du bleu !