Éclairage : Halo en dessous d’une lampe de plafond : env_sprite.

Rendu Ingame. Exemple visible dans Combat-Alpha.

Bonjour à tous,

Dans ce tutoriel nous allons voir rapidement et de façon simple, comment obtenir le résultat ci-dessus. Donc un halo de lumière en dessous d’une lampe fixée au plafond d’une pièce. Laissant donc penser que c’est la lampe qui génère cet effet.

Pour le réaliser il nous faut simplement 3 entités :

  • Un prop_dynamic pour afficher le modèle utilisé pour la lampe. Dans notre cas il s’agit de “lab_flourescentlight001a.mdl” et j’ai désactivé les ombres (shadows) dans les propriétés, afin d’avoir le rendu que je souhaite et avoir une meilleure optimisation.
  • Un light_spot pour éclairer le bas de la pièce. Et donc pointé en direction du sol.
  • Un env_sprite avec les propriétés suivantes : (important !)
Les propriétés du “env_sprite”. Très important : le “Render Mode” à mettre sur “Additive”.

Vous pouvez respecter les dispositions des éléments comme sur le schéma ci-dessus.

Concernant le env_sprite, l’élément le plus important donc car c’est celui qui génère cet effet de halo.

Le “Render Mode” doit être sélectionné sur “additive“, sinon le halo ne sera plus visible en fonction de l’inclinaison de la camera lorsque le joueur regarde dans la pièce. Après vous pouvez faire vos propres essais et voir lequel correspond le mieux à l’ambiance que vous souhaitez donner.

Le “FX Amount” représente, en gros, la transparence du halo pour dire simplement. Plus la valeur est faible et plus “la force de l’effet” sera doux. Plus il est petit et plus la transparence du halo sera brut. Je vous laisse également faire vos propres essais, vous comprendrez tout de suite. “FX Color” quand à lui sera la couleur du halo. Je la calque sur celle de l’éclairage (light_spot)

Sprite Name” est le nom de la ressource à utiliser pour avoir cet effet. C’est présent de base dans Half-Life 2 – Episode 2.

Scale” est la taille du sprite. Si vous voulez une valeur très petite vous pouvez par exemple mettre “.1″ Si vous voulez beaucoup plus gros vous pouvez mettre “1” ou plus. Et pour affiner, mettre comme moi “1.2”. Si par exemple vous mettez “10” vous aurez quelque chose d’immense. Dans l’onglet “flag“, vous cocherez uniquement “Start on” pour que l’effet soit actif.

Voila, j’espère que ce bref tutoriel vous aura servi ! Je n’avais trouvé aucune information précise sur le net concernant ce que je voulais faire, il y a plein de tuto sur les “env_sprite et donc ils pourront vous aider à mieux comprendre et à appliquer cette entité pour d’autres choses, les possibilités sont grandes.

Par ailleurs, et pour finir, vous pouvez obtenir un peu le même résultat avec les point_spotlight 🙂

Liens Wiki VALVE : https://developer.valvesoftware.com/wiki/Env_sprite