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.