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)
Entités étudiées
| Entités | Type | Description |
|---|
| 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.
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

.
Entité étudiée
| Entités | Type | Description |
|---|
| 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).
Entités étudiées
| Entités | Type | Description |
|---|
| 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

) :
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.
Entité étudiée
| Entités | Type | Description |
|---|
| 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

.
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 :
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 à cocherStart 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
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.