Champ de découragement
Le champ de découragement ou champ de laser est un champ d'énergie spécial dans Portal 2 qui bloque seulement le joueur, pas d'autres objets. Cependant, le joueur meurs à son contact. Il est donc un élément à part entière de puzzle dans Portal 2.
Création manuelle
Pour cet exemple, nous allons créer un champ de laser large de 128 unités. Commencez par sélectionner la texture tools/toolsnodraw. Avec l'outil de création de blocs, faites un cube de 128 de haut, 128 de large et 1 de profondeur.
Ouvrez l'outil d'application de texture, sélectionnez les deux faces de 128x128 et appliquez-y la texture effects/laserplane. Cliquez sur Fit pour adapter la texture aux faces sélectionnées.
Assignez une entité func_brush
au bloc en pressant Ctrl+T, et paramétrez-là comme suit :
Nom de la propriété Valeur Name champlaser_bloc Render FX Constant Glow Solidity Never Solid
Nous souhaitons que le laser tue le joueur à son contact. Pour cela, nous allons utiliser un trigger_hurt
.
Commencez par dupliquer le cube. Positionnez-le sur les lasers de sorte à ce que les deux cubes se chevauchent et assignez-lui la texture tools/toolstrigger. Changez son entité en trigger_hurt paramétré comme suit:
Nom de la propriété Valeur Name champlaser_trigger Damage 1000 Damage Type ENERGYBEAM
Pour finir, cochez si ne n'est pas le cas le bouton Clients dans l'onglet Flags pour que le trigger fonctionne.
Et voilà! Les lasers sont fonctionnels. Mais vous serez d'accord avec moi si je vous disais que des lasers sortant de nulle-part, ça ne rime à rien...
Pour palier à ce problème, soit vous utilisez d'autres blocs (moche), soit vous vous utilisez des models:
Créez deux prop_static
, à gauche et à droite des lasers.
Sélectionnez le model models/props/fizzler.mdl et choisissez le skin n°2.
Créez un ambient_generic
au milieu du bloc et paramétrez-le comme suit:
Nom de la propriété Valeur Name champlaser_son Sound Name Laser.BeamLoopMega Volume 8 SourceEntityName champlaser_bloc
Désactivez Start silent et Is NOT looped dans l'onglet Flag. (Sinon ça ne marchera pas !!!)
Maintenant que le champ de laser est fonctionnel, fait du bruit et est affublé de décorations pour qu'il se fonde dans votre salle, il serai peut-être intéressant de pouvoir l'activer/désactiver.
Activation/désactivation
On pourrais nommer cette partie « interaction ave le/les joueur(s) », mais vu que c'est la définition même d'un jeu vidéo, ça serait une sorte de pléonasme! Néanmoins, il peut être intéressant de pouvoir interagir avec ce champ de laser. Cela peu constituer un casse-tête supplémentaire! Alors pourquoi ne pas en profiter ?
Pour notre cas, on va se contenter d'un prop_floor_button
. Donnez-lui un nom, et assignez-lui ces outputs:
Et voilà! Votre champ de découragement est fonctionnel, et peut être activé/désactivé par un cube. Bon mapping !