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)
Bonjour à tous ! Beaucoup de gens souhaitent ajouter des éclairs à la leurs maps pour améliorer l'ambiance, mais ne savent pas comment s'y prendre.
Je vous propose un petit Tuto vous expliquant et vous montrant comment faire.
Voici donc comment réaliser un éclair apparaissant à des endroits
différents de votre map et à des intervalles
aléatoires (c'est tout de même plus marrant qu'un éclair qui apparaît toutes les 5 secondes et au même endroit à chaque fois, n'est-ce pas ?! ^^)
I - L'éclair en lui-même
Pour l'éclair, nous allons tout simplement utiliser un
env_sprite.
Bien, c'est ici qu'arrive la première mauvaise nouvelle... il n'y a aucun
sprite d'éclair dans Half-Life 2 ni dans ses mods...
Mais ? Mais ? Mais que faire !??
Du calme ! je vous donne ce sprite ! (gratuitement en plus... tsss déjà que les tutos c'est bénévole... je suis trop gentil !

). Vous pouvez le télécharger
==> ICI <==
Installer un sprite perso :
Il suffit de copier les fichiers nomdusprite.vtf et nomdusprite.vmt dans [ROOT]:\Program Files\Steam\Steamapps\nom_du_compte\half-life 2\hl2\materials\sriptes\ ICI
note : ici, c'est pour HL2, si vous mappez pour CS:S par exemple, remplacez "\Half-Life 2\hl2\" par "\Counter-Strike Source\cstrike\"
Placez donc un
env_sprites dans le ciel à la hauteur où vous souhaitez que votre éclair soit. Puis configurez-le comme moi.
Citation : Configuration du 1er env_spriteName : eclair_sprite
sprite name : sprites/lighning.vmt (et on n'oublie pas le ".vmt" à la fin s'il vous plaît)
Voilà vous avez fait 50% de l'éclair en lui même ! Reste encore 50%... (nooooooon ?!

)
Vous aurez remarqué que dans la nature, quand il y a un éclair, il y a une "lueur" autour ? (la lumière sur les nuages sûrement ^^) et un flash. Eh bien allons-y !
Encore une fois nous allons utiliser un
env_sprite.
Eh eh, c'est là qu'on a le droit à la 2ème mauvaise nouvelle (c'est la dernière promis !)... Encore une fois, pas de
sprite pour ça ! Mais, moi, dans mon extrêeeeeme générosité

, je vous fournis encore une fois le
sprite manquant ! Téléchargez-le
==> ICI <==
Se référer à la note plus haut pour savoir comment installer un sprite perso
Placez le second
env_sprite juste à côté du premier
et configurez-le comme suit :
Citation : Configuration du second env_sprite :name : glow_sprite
Sprite name : sprites/lightningglow.vmt (et s'il vous plaît, encore une fois on n'oublie pas le ".vmt" a la fin !)
Voilà, ça, c'est fait !
II - Le son
Un orage sans son, c'est plus un orage ! Alors voici la partie la plus simple : celle où l'on rajoute un son de tonnerre.
On utilisera pour cela un
ambient_generic...
...
...
Bah ?? allez ! je ne devrais pas avoir à vous le dire ! Placez un
ambient_generic dans votre map, proche des deux
env_sprites (c'est plus simple pour se repérer).
Allez on me configure tout ça !
Citation : Configuration du ambient_generic :Name : tonnerre_son
Sound Name : cliquez sur browse, mettez Sound type : Raw, tapez "thunder" dans le champ "filter", et choisissez parmi la liste qui s'offre à vous
personnellement j'utilise "ambient/atmosphere/thunder1.wav"
Citation : Configuration des FLAGS de l'ambient_generic :Laissez tout par défaut +
[x] play everywhere (permet de jouer le son partout dans la map)
Bon c'est bien, on avance vite ^^.
III - Le timing
Aaaaah le "timing", un mot qui fait peur, mais qui ne devrait pas ! Bon d'accord cette partie est la plus dure du tuto, mais tout est relatif (retenez ça au passage pour vos cours de physique/Chimie : "tout est relatif" !! hum bref, désolé, on passe).
On va utiliser un
Logic_timer, placez-en un où vous voulez dans votre map (encore une fois c'est plus simple pour se repérer si vous le placez près des
env_sprite et du
ambient_generic.
Configurons mes amis, configurons !
Citation : Configuration du logic_timer :name : eclair_timer
Start disable : No
Use random time : yes
Min Random interval : 5
Max Random interval : 60
Allez maintenant on se dirige vers l'onglet "
Outputs" de ce
logic_timer. C'est ici que l'on va réellement configurer le timing. Cliquez sur "
Add" pour ajouter un
Output.
Citation : Configuration des Outputs du logic_timerMy output named : OnTimer
Target entity name : eclair_sprite
Via this Output : ShowSprite
My output named : OnTimer
Target entity name : glow_sprite
Via this Output : ShowSprite
My output named : OnTimer
Target entity name : eclair_sprite
Via this Output : HideSprite
Delay : 0.50
My output named : OnTimer
Target entity name : glow_sprite
Via this Output : HideSprite
Delay : 0.50
My output named : OnTimer
Target entity name : tonnerre_son
Via this Output : PlaySound
Delay : 0.50
pfffiou ! voilà ! ça c'est fait !!! Non ? pas vous ? vous êtes perdu ? bon voila une petite image pour vous repérer :
Bon, à ce stade, vous avez un éclair qui apparaît à des laps de temps aléatoires mais toujours au même endroit, ce qui est dommage tout de même ! C'est pour ça qu'il y a une 4ème partie ! allez on attaque !
IV - Déplacement de l'éclair
Très simple cette partie ! Une seule entité, 2 petits réglages et on a fini ! Très bien, allons-y : créez un bloc avec la texture "
invisible" ou bien "
nodraw" et transformez-le en func_rotating.
Citation : Configuration du func_rotatingname : eclair_rotation
Citation : Configuration des FLAGS du func_rotatingLaissez par défaut +
[x] Start ON
Retournez dans les propriétés des 2
env_sprite et dans le champ "
Parent" mettez "
eclair_rotation".
Ca y est votre éclair se déplace. Cependant pour éviter des erreurs bêtes de placements, voici ce que vous DEVEZ comprendre. Le func_rotationg tourne sur lui même. Etant parentés à ce func_rotating, les env_sprite vont tourner autour en conservant la distance les séparant du func_rotating. Ils vont donc former un cercle. Ce cercle ne doit en aucun cas passer à travers une maison par exemple, sinon vous vous retrouverez avec un orage dans votre grenier ! c'est logique, mais on n'y pense pas toujours.
Voici deux schémas du positionnement des différentes entités pour éviter tout problème :
Non non pas la peine de tourner la tête comme ça ! Mes schémas sont bien dans le bon sens, c'est juste que mes talents de graphiste sont aussi peu développés que mes talents de mappeur ! Et oui, le petit truc étrange dans le 2ème schéma est bel et bien un arbre... (mon dieu j'ai honte !)
Sur ce, bravo cher Zér0 ! Tu y es arrivé !
I - Pluie ou neige
Un orage sec ? Ca existe, mais c'est très rare !
Comment ajouter de la pluie ou de la neige à mon orage ?
Créez un bloc avec la texture "
invisible" sur toute la surface sur laquelle vous voulez qu'il pleuve ou neige.
Bon, reprenons. Vous avez créé un bloc en texture
invisible. Transformez-le maintenant en
func_precipitation. Rendez-vous dans les propriétés de ce bloc.
Citation : Configuration du func_precipitation :Density (0-100%) : densité de pluie/neige voulue entre 0 et 100%
Precipitation Type : Rain (pluie) ou Snow (neige)
Voilà, rien de plus, rien de moins !!!
II - Le vent
Et le vent ? Pourquoi pas ? Une violente bourrasque par-ci par-là !?
Eh bien à vous de jouer !! Oui, oui, vous avez bien lu ! Je ne vous dis rien (ou presque) ! C'est à vous de vous dépatouiller

. Vous maîtrisez tous les éléments nécessaires, alors allez-y ! Utilisez votre petite matière grise !
Quelques pistes (c'est bien parce ce que c'est noël au moment où j'écris) :
Le but est de faire des rafales de vent à intervalles aléatoires (logic_timer mon amiiii !), qui à leur déclenchement lance un son de vent... Après, libre à vous d'améliorer tout ça en changeant la direction du vent et autre...
Bon courage !