Créer un dégradé de lumière

Écrit le 28/11/2003 par FabHacker
Dernière mise à jour : 30/01/2006

Créer un dégradé de lumière

Dans ce tutorial, nous verrons comment faire ce fameux dégradé de couleur. Pour un peu plus de difficulté, nous ferons ce dégradé sur une lampe ronde (ou plutôt hexagonale).
Nous utiliseront seulement trois entités de base : un func_wall, un func_illusionnary et une light.

Pour commencer, faites un solide simple à partir duquel vous formerez un hexagone régulier avec le vertex tool (les plus feignant utiliseront l'outil cylinder avec six cotés...). Vous mettrez la texture +0~GYMLIGHT (ou une autre de votre choix) et pourquoi pas FIFTIES_DSK5C sur les bords:

http://www.game-lab.com/images/tuts/hl1_degrade_lumiere/pic1_1.jpg
http://www.game-lab.com/images/tuts/hl1_degrade_lumiere/pic1_2.gif

Ensuite, pour la portée, il suffit de faire un bloc solide sous Worldcraft (ou Valve Hammer Editor...) qui sera sous transparent sous Half-Life. Donc refaites un hexagone régulier similaire à la lampe avec la texture WHITE. Ce solide partira de dessous la lampe pour aller toucher le sol :

http://www.game-lab.com/images/tuts/hl1_degrade_lumiere/pic2_1.jpg
http://www.game-lab.com/images/tuts/hl1_degrade_lumiere/pic2_2.gif

Maintenant, il faut modifier la portée de l'éclairage. C'est pourquoi avec le vertex tool nous allons écarte tous les points à la base du nouvel hexagone:

http://www.game-lab.com/images/tuts/hl1_degrade_lumiere/pic3_1.jpg
http://www.game-lab.com/images/tuts/hl1_degrade_lumiere/pic3_2.gif
http://www.game-lab.com/images/tuts/hl1_degrade_lumiere/pic3_3.gif

Au point ou nous en sommes, la lumière est blanche et uniforme. Prenez alors la texture C0A0YELLOW et appliquez-la sur une des faces. Ajustez-la en la redimensionnant correctement et faites un copier/coller des paramètres de texturing sur toutes les faces :

http://www.game-lab.com/images/tuts/hl1_degrade_lumiere/pic4_1.gif
http://www.game-lab.com/images/tuts/hl1_degrade_lumiere/pic4_2.jpg

Voilà, les blocs sont faits ! Il faut maintenant passer le tout en entité, sans quoi on ne pourrais pas passer à travers ! Pour commencer, passez la lampe en func_wall pour qu'il n'y ai pas un mauvais découpage des polygones au plafond. Ensuite, nous allons mettre notre fameux dégradé en func_illusionary (entité illusion : on peut passer à travers). Il nous faut paramétrer deux choses pour notre func_illusionary :
- pour qu'elle soit traversable par le joueur.
- pour qu'elle soit transparente.

Par défaut, on peut passer à travers. Vérifiez quand même que pour le champs Contents la valeur choisie soit bien Empty (vide).
Pour la transparence, c'est comme pour toutes les autres entités : dans Render mode sélectionnez Texture, et dans FX Amount entrez un nombre entre 1 et 255 en sachant que plus le nombre est faible, plus la transparence sera forte. Dans cet exemple du tutorial, j'ai choisi 100 comme raisonnable.

http://www.game-lab.com/images/tuts/hl1_degrade_lumiere/pic5_1.gif

Il reste maintenant un petit détail à régler: la lumière. Ben oui, actuellement, aucune lumière n'est envoyé ! Donc ajoutez une entité light à l'intérieur du dégradé.

http://www.game-lab.com/images/tuts/hl1_degrade_lumiere/pic5_2.gif

Voilà, c'est fini ! Pas bien compliqué non ? Maintenant compilez votre map ou alors testez celle de cet exemple pour voir le résultat :

http://www.game-lab.com/images/tuts/hl1_degrade_lumiere/pic6_1.jpg