Aller au menu - Aller au contenu

Icône Un peu d'électricité

Mise à jour : 24/01/2012
Difficulté : Facile Facile
2 942 visites depuis 7 jours, dont 40 sur ce chapitre classé 54/786
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Les câbles

Entités étudiées
EntitésTypeDescription
move_rope Point Point de départ d'un câble
keyframe_rope Point Point d'attache d'un câble


Après les lampes, pourquoi ne pas voir les câbles ? Ben oui, ce sont eux qui vont servir à acheminer l'électricité, et ainsi donner plus de réalisme.

Faire des câbles est quelque chose de relativement simple. Un câble est caractérisé par une entité de départ, (le move_rope) et des points d'attache (des keyframe_rope).

Donc, un simple câble aura un début (move_rope) et une fin, qui sera son seul point d'attache, en plus que le move_rope.

Allez, placez dans votre map le move_rope. Remplissez sa propriété Next Keyframe en mettant cable_1. Ensuite, créez un keyframe_rope, que vous nommerez cable_1.

Image utilisateur


La propriété Next Keyframe indique le point d'attache suivant du câble. Vous pouvez mettre autant de keyframe_rope que vous le voulez. Il vous suffit de tous les nommer et de remplir correctement leur propriété Next Keyframe.

Comme propriétés, nous avons ceci :

  • Slack : c'est la tension (la courbure) du câble. N'ayez pas peur de mettre une valeur importante comme 100 voir 150.
  • Type : c'est le type de câble. On laisse généralement Rope. Si on met sur Rigid, les effets du Slack sont annulés (ben oui, le câble est rigide et non courbé ^^ ).
  • Subdivision : c'est le nombre de câbles. Vous pouvez mettre une valeur allant de 1 à 8. Si vous mettez 5, il y aura 5 câbles qui partiront du point A pour arriver au point B. Plus il y a de câbles, plus le moteur graphique doit calculer. C'est pourquoi il n'est pas bon de mettre plus de 3 câbles ;) .
  • Width : comme vous l'aurez deviné, c'est la grosseur du câble. Une valeur de 1 ou de 2 est raisonnable. Les valeurs décimales sont aussi acceptées, comme 0.5 ;) .
  • Collide with world : si vous voulez que le câble se cogne contre les autres éléments.
  • Start dangling : si le câble semble séparé de son point d'accroche (pas super utile comme truc).
  • Breakable : si le câble peut être cassé.


Voilà, c'est tout pour les câbles :) .

Image utilisateur

Les étincelles

Entité étudiée
EntitésTypeDescription
env_spark Point Permet de créer des étincelles


env_spark vous permet de créer des étincelles. C'est assez pratique pour mettre de l'ambiance, comme dans une salle à moitié inondée et pleine d'appareils électriques.

Pour mettre des étincelles, placez un env_spark où vous souhaitez en avoir. Ensuite, paramétrez l'entité :

  • Max Delay : le temps maximum entre deux étincelles.
  • Magnitude : c'est l'intensité des étincelles. Vous avez le choix entre Petite, Moyenne et Grande (en anglais ^^ ).
  • Spark Trail Length : c'est le longueur de la traînée des étincelles.


Il y a aussi quelques flags :

  • Start On : très important ça.
  • Glow : mettre un effet de lueur.
  • Silent : pas de bruit.
  • Directional : pour orienter les étincelles suivant un angle (le Pitch Yaw Roll).

Un petit laser fixe

Entités étudiées
EntitésTypeDescription
info_target Point Représente un point de l'espace devant être utilisé par une autre entité
env_beam Point Crée un faisceau entre deux info_target



Comme nous sommes dans l'électricité, je vais vous parler des lasers. Mettre quelques rayons lasers peut ajouter un peu d'ambiance dans votre map.

Pour mettre en place un laser, il nous faut trois entités : deux info_target et un env_beam. Les info_target sont des entités qui n'ont pas d'utilité précise, si ce n'est de représenter un point. Les paramètres du laser se définiront avec l'env_beam.

Bon, placez un premier info_target où vous désirez que votre laser commence. Vous nommerez cette entité laser_1a. Ensuite, vous placez le deuxième info_target où vous voulez que votre laser finisse. Appelez cette dernière laser_1b.

Voilà, les points de départ et d'arrivée de votre laser sont placés. Il ne reste plus qu'à les « attacher » entre eux. C'est ce que nous allons faire avec l'env_beam.

Placez votre env_beam où vous voulez, ça n'a pas d'importance. Ouvrez ses propriétés, et dans Start Entity, mettez laser_1a. Dans End Entity, mettez laser_1b. Voilà, votre laser est presque fini :) .

Voici mon exemple (j'ai placé des models pour faire les « générateurs » du laser, pour ne pas qu'il sorte du mur comme par magie ^^ ) :

Image utilisateur


Il reste d'autres propriétés. Et certaines sont importantes :

  • Beam color : c'est la couleur du laser. Moi, comme mes points de départ et d'arrivée sont rouges, je mets mon laser en rouge.
  • Life : ça c'est la durée pendant laquelle votre laser va rester activé avant de s'éteindre puis de se rallumer. Moi je mets 0, pour que le laser soit permanent.
  • Width of Beam : c'est l'épaisseur du laser.
  • Amount of noise : plus la valeur que vous allez entrer ici est grande, plus votre laser va s'agiter, un peu comme un éclair.
  • Damage / Second : les points de vie qui seront retirés par seconde si le joueur passe dans ce laser.


N'oubliez pas de cocher le flag Start On, sinon votre laser ne sera pas déclenché par défaut. Il y a d'autres flags intéressants comme Start/EndSparks qui définissent si vous voulez des étincelles au début/à la fin de votre laser.

Image utilisateur

La lampe qui balance

Entité étudiée
EntitésTypeDescription
phys_ballsocket Point Permet de faire bouger un point par rapport à un autre.


Une lampe qui se balance, ça vous dit ?


Eh ben je vais vous expliquer comment en faire une :) .

Pourquoi tu n'as pas expliqué ça dans le mini-tuto sur les lampes ?


Parce qu'on n'avait pas encore étudié les câbles :D .

Cette petite partie va donc faire intervenir un peu tout ce qu'on a déjà vu, comme les câbles, les models physiques et les lampes.

Pour commencer, au plafond, créez une entité move_rope. Paramétrez-la comme suit :

Citation : Entité
Next KayFrame : fil_1
Width : 1
Position Interpolator : Linear


Maintenant, placez une entité keyframe_rope, à la hauteur où vous désirez que votre lampe soit, avec ces propriétés :

Citation : Entité
Name : fil_1
Parent : lampe_1
Width : 1


Donc, souvenez-vous, ceci est le câble (le fil) de la lampe.

Maintenant, créez un prop_physics. Ce sera notre lampe. Vous devez la placer juste sous le keyframe_rope. Paramétrez-le comme suit :

Citation : Entité
Name : lampe_1
World Model : models/props_c17/lamp_standard_off01.mdl


Remarquez, la propriété Parent du keyframe_rope contient le nom du prop_physics. Cela veut dire que ce keyframe_rope, ou plutôt le bout du fil est parenté (« attaché ») au prop_physics. Ca aura pour effet de faire balancer le bout du fil en même temps que la lampe si le joueur tire dessus.

Voici ce que vous devriez avoir :

Image utilisateur


Bon, continuons. Placez un phys_ballsocket sur le move_rope. phys_ballsocket que vous paramétrez comme ceci :

Citation : Entité
Entity 1 : lampe_1


Cette entité bizarre marque l'origine du système de balancement. La première entité liée à cette dernière est le prop_physics (lampe_1). En réalité, et pour faire bref, le phys_ballsocket va s'occuper de gérer le balancement.

Nous avons presque fini. Il ne reste plus qu'à placer la lumière. Placez un point_spotlight juste sous la lampe :

Citation : Entité
Parent : lampe_1
Color : 238 232 221
Pitch Yaw Roll : 90 0 0
Spotlight Length : 256
Spotlight Width : 60


Citation : Flags à cocher
Start On
No Dynamic Light


Vous voyez, le point_spotlight est parenté avec lampe_1. Si la lampe bouge, le faisceau bougera aussi :) .

Juste sous le point_spotlight, créez un light_spot avec ces paramètres :

Citation : Entité
Picth Yaw Roll : 90 0 0
Brightness : 238 232 221 200
Inner : 0
Outer : 50
Pitch : -90


Image utilisateur


Mais, c'est bizarre ça, le light_spot n'est pas parenté à la lampe ?


Non. C'est tout à fait possible de le faire, mais alors il faut utiliser un light_dynamic en lieu et place du light_spot. Mais le light_dynamic a un très gros problème : il demande beaucoup de ressources et de calculs et en particulier pour les petites configurations.

Vous pourrez tester dans le jeu, on ne remarque pas trop que la source lumineuse est fixe, car le point_spotlight donne l'impression que la lumière suit vraiment la lampe.

Image utilisateur

Chapitre précédent Sommaire Chapitre suivant

Partager

6 commentaires pour "Un peu d'électricité"
Note moyenne : 3.89 / 4 (103 votes)
Pseudo Commentaire
Hors ligne S.4 # Posté le 24/09/2008 à 14:58:06

SVP, j'ai un problème quand je veux que ma lampe sa balance (donc ac les cables et tout sa quoi), elle se balance tres bien mais le fil est invisble???? Aider svp.
Hors ligne Snigle # Posté le 11/10/2008 à 13:36:43
Snigoulou !
Avatar

Études : EISTI

moi le fils ne s'accroche pas a la lampe, il va dans une autre direction au milieu de la salle et y bouge pas :/

Mailorama, site proposant d'être rémunéré en lisant de la pub
Ajoutez moi en Parain : galerieludo@free.fr
 
Hors ligne ewaa # Posté le 15/08/2009 à 17:14:39
Avatar

J'ai un problème aussi.
Dans les propriétés de env_beam (pour les lasers) je n'ai pas start_entity et end_entity ! Comment faire alors ?

Cordialement,
Hors ligne vavadu94 # Posté le 24/10/2009 à 17:12:43
Avatar

Moi c pour une info je voudrai savoir si il est possible de mettre un bouton pour allumer et/ou étindre le laser.Merci.
Hors ligne vavadu94 # Posté le 24/01/2010 à 20:18:35
Avatar

j'ai un probleme je voudrais fair un laser qui se rend a un endroit vien defini merci de mexpliqué commetn fair.

Voir tous les commentaires