Aller au menu - Aller au contenu

Icône Ambiance orageuse (éclair, tonnerre)

Avatar
Par Avatar 1695
Mise à jour : 14/04/2009
Difficulté : Facile Facile
4 visites depuis 7 jours, classé 784/786
Bonjour à tous !

Beaucoup de gens souhaitent ajouter des éclairs à leurs maps pour améliorer l'ambiance, mais ne savent pas comment s'y prendre.
Je vous propose un petit tutoriel vous expliquant et vous montrant comment faire.

Édition : j'avais oublié un « t » à lightning.vmt pour le sprite... Forcément, ça ne marchait pas.

Un éclair, du tonnerre...

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 cinq secondes et au même endroit à chaque fois, n'est-ce pas ?! ^^ ).

Les entités utilisées seront les suivantes :
  • logic_timer ;
  • env_sprite (x2) ;
  • ambient_generic ;
  • func_rotating.


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 tutoriels c'est bénévole... je suis trop gentil ! :p ). 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_sprite dans le ciel à la hauteur où vous souhaitez que votre éclair figure, puis configurez-le comme moi.

Citation : Configuration du premier env_sprite
Name : eclair_sprite.
Sprite name : sprites/lightning.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 ! Il reste encore 50 %... (Nooooooon ?! o_O )

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 2nde mauvaise nouvelle (c'est la dernière, promis !)... Encore une fois, pas de sprite pour ça ! Mais moi, dans mon extrême générosité :p , je vous avais déjà fourni le sprite nécessaire dans le téléchargement précédent.

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 » à la fin !).

Voilà, ça, c'est fait !

II - Le son


Un orage sans son, ce n'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_sprite (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.

Image utilisateur

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 tutoriel, 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_timer
My 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 perdus ? Bon, voilà une petite image pour vous repérer :

Image utilisateur

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 4e partie. Allez on attaque !

IV - Déplacement de l'éclair


Très simple, cette partie ! Une seule entité, deux petits réglages et on a fini ! Très bien, allons-y : créez un bloc avec la texture invisible ou nodraw et transformez-le en func_rotating.

Citation : Configuration du func_rotating
Name : eclair_rotation.

Citation : Configuration des FLAGS du func_rotating
Laissez par défaut + [x] Start ON.

Retournez dans les propriétés des deux env_sprite et dans le champ Parent, mettez « eclair_rotation ».

Ça y est, votre éclair se déplace. Cependant, pour éviter de bêtes erreurs de placement, voici ce que vous devez comprendre. Le func_rotating tourne sur lui-même. Étant 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 :
Image utilisateur

Image utilisateur

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 ! Eh oui, le petit truc étrange dans le 2nd schéma est bel et bien un arbre... (mon Dieu, j'ai honte !) :-°

Sur ce, bravo cher Zéro ! Tu y es arrivé !

Plus de réalisme...

I - Pluie ou neige


Un orage sec ? Ça existe, mais c'est très rare !

Comment ajouter de la pluie ou de la neige à mon orage ?

L'entité utilisée sera :
  • func_precipitation.

Créez un bloc avec la texture invisible sur toute la surface sur laquelle vous voulez qu'il pleuve ou qu'il neige.

Inutile de contourner vos maisons ou autres : le jeu calcule automatiquement que s'il y a un toit, il n'y a ni pluie, ni 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 ou 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à !?

Les entités utilisées seront :
  • trigger_wind ;
  • trigger_push ;
  • logic_timer ;
  • ambient_generic.

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 amiii !) qui, à leur déclenchement, lancent un son de vent... Après, libre à vous d'améliorer tout ça en changeant la direction du vent et autre...

Bon courage !
Et voilà ! In-game, vous obtenez cela :

Image utilisateur


C'est pas beau, ça ? :p

Partager

17 commentaires pour "Ambiance orageuse (éclair, tonnerre)"
Note moyenne : 3.25 / 4 (4 votes)
Pseudo Commentaire
Hors ligne Banania # Posté le 04/09/2009 à 17:31:40
Avatar

ça fonctionne les liens aussi !

le soucis je vois pas les éclairs !!!!

sinon tout le reste marche!

quelqu'un aurait une astuce???
Hors ligne Banania # Posté le 06/09/2009 à 07:52:50
Avatar

nous sommes le 06/09/2009 !

tout fonctionne le tonnerre éclair surper beau!

j'ai repris exemple en fichier .vmf . j'ai comparé et la c'est pas pareil !!

Les Réglages du tuto fonctionne pas ou je suis un gros nul(chose possible).

Sur le tuto il y a qu'un éclair,comparé à exemple qui lui en possède trois.

Donc j'ai repris tout les réglages de exemple ça marche, par contre prenait votre temps c'est pas simple.

les reglages fonctionne pour "day of defeat source "

petite précision les éclairs sont a mettre dans une sky box
Hors ligne senregalndiaye # Posté le 08/12/2009 à 23:21:15

bsr est ce que vous pouvez m'expliquer je veut le réaliser mais je c'est où commencer c'est un logiciel oubien
Hors ligne Rém_57 # Posté le 07/04/2012 à 11:00:43
Stargate
Avatar

Avis : Décevant

Marche plus les liens :(

Site-Alpha
 
Hors ligne xavier150 # Posté le 04/05/2012 à 02:58:15
unreal kit développement
Avatar

Avis : Très bon

merci :)

_________________________________________________________________________
Ma chaîne YouTube :p http://www.youtube.com/user/xavierloux?feature=mhee
_________________________________________________________________________
Image utilisateur
 

Voir tous les commentaires
Ce tutoriel a été corrigé par les zCorrecteurs.