Aller au menu - Aller au contenu

Icône L'éclairage

Mise à jour : 27/03/2012
Difficulté : Intermédiaire Intermédiaire Durée d'étude : 2 heures Creative Commons BY-NC-SA
14 109 visites depuis 7 jours, dont 434 sur ce chapitre classé 23/786
L'éclairage est une notion vaste. Vous allez ici découvrir les bases de ce concept et les principaux mécanismes que propose UDK dans le domaine.
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Eclairage statique, éclairage dynamique

L'éclairage est l'un des principaux points importants dans la réussite graphique d'un niveau.
En effet, vous pouvez changer complètement l'ambiance de votre niveau, et ceci très facilement !

Image utilisateur
Deux éclairages différents pour une seule scène


Pour introduire cette partie, il faut d'abord présenter le fonctionnement des lumières dans UDK. Avant tout il faut savoir que l'éclairage est un effet très gourmand en 3D. Dans un moteur de rendu classique pour des images fixes, une image 3D peut mettre des heures à être calculée, parce que des simulations complexes, proches du modèle physique de la lumière, sont réalisées !

Dans le jeu vidéo, la donne est différente : chaque image doit être affichée en quelques millièmes de seconde. L'éclairage est donc l'un des sujets sur lesquels les moteurs de rendu s'affrontent quand on en arrive aux performances, et on trouve dans ce domaine un grand nombre d'optimisations diverses.

L'éclairage statique


Le plus classique de tous, l'éclairage statique, constitue généralement l'essentiel des éclairages de jeux vidéos. Des moteurs comme Source y font appel quasi exclusivement. Le principe est simple et s'apparente aux moteurs de rendu classiques : au moment de préparer la map à être jouée, il faut compiler l'éclairage ( Build, dans le langage Unreal), en quelque sorte calculer l'effet des sources de lumière sur chaque objet.

Il y a deux façons de gérer le résultat : ce qu'on appelle une Lightmap, c'est-à-dire une liste de toutes les faces de votre niveau qui stocke l'intensité et la couleur de la lumière pour chacune d'elles, ou bien la technique du Vertex Lighting qui stocke l'éclairage pour chaque point, et réalise des calculs à partir de ces points pour dessiner l'éclairage des faces qui les relient.
UDK utilisait le lightmapping pour le BSP, mais est passé au vertex lighting avec les models, c'est donc cette technique que vous verrez en action.

Le principal avantage de cette technique est qu'elle est très performante à la fois en temps de calcul, et en mémoire. Il y a deux inconvénients : le temps de calcul de l'éclairage, qui est extrêmement long sur le moteur Source (près d'une heure parfois !), et bien évidemment, l'impossibilité de modifier l'éclairage en jeu !

L'éclairage dynamique


L'éclairage dynamique s'appuie sur les mêmes principes... Mais cette fois, tout est calculé en direct ! La consommation en ressources est donc terriblement plus élevée et l'éclairage dynamique doit se limiter aux cas où c'est utile : ciel dynamique, objets mouvants, effets spéciaux...

Aujourd'hui, la puissance des machines permet d'utiliser énormément d'éclairage dynamique, mais n'oubliez jamais que les ressources nécessaires sont bien supérieures.

Les ombres


Les ombres sont dépendantes de l'éclairage : elles sont donc calculées soit statiquement, soit dynamiquement, de la même façon que l'effet des lumières.

Et dans UDK ?


Pour chaque source de lumière, pour chaque objet, vous pouvez désactiver chacun de ces modes d'éclairage, désactiver les ombres, ou modifier le comportement vis-à-vis de la lumière. Vous trouverez toutes ces options dans la section Lighting de chaque objet.

Les sources de lumière

Réglages de lumière

Les principaux réglages des lumières


L'entité de lumière dans UDK est extrêmement configurable. Sélectionnez l'ampoule visible dans votre map de test, et appuyez sur F4 pour accéder à ses propriétés. Je vous laisse découvrir les principaux paramètres ci-contre.

Les principaux paramètres de l'entité sont:
  • Brightness : luminosité de cette lumière. C'est le paramètre qui détermine son influence maximale sur les objets voisins.
  • Light Color : la teinte de la lumière émise. Attention aux teintes trop vives!
  • Falloff Exponent : plus ce chiffre est élevé, plus la luminosité s'estompe rapidement ;
  • Shadow Falloff Exponent : même chose, mais pour les ombres ;
  • Cast Shadows : active les ombres pour cette lumière ;
  • Cast Dynamic Shadows : active les ombres pour les objets qui bougent.

Nous reviendrons plus tard sur la section Lightmass. Pour information, dans tous les menus de propriétés, il suffit de poser le pointeur de la souris sur le nom d'un paramètre dans la colonne de gauche, pour obtenir une description. Il faut absolument que vous les lisiez pour gagner un temps précieux !

Vous pouvez déjà modifier les réglages de lumière pour l'entité présente dans la map, et observer les variations sur le rendu. A vous de créer votre propre ambiance !

Ces réglages existent pour toutes les lumières et auront un effet semblable.

UDK met à jour dynamiquement l'effet des lumières dans la vue 3D, cependant vous devrez reconstruire la map pour jouer avec l'éclairage réel et à jour.


Ajouter une lumière dans la map


La lumière par défaut : Point Light


C'est très simple : clic droit - Add Actor, Add Light (Point).
Ceci ajoutera une lumière basique, omnidirectionnelle. Il n'y a rien à ajouter aux réglages déjà évoqués. Ce genre de lumière est idéal pour donner une ambiance lumineuse peu marquée, pour réaliser un éclairage discret.
Vous pouvez également vous en servir avec des lumières proches d'un mur, avec un Falloff Exponent élevé, pour réaliser un halo autour d'un éclairage.

Les lumières avancées


Vous avez dû remarquer que beaucoup d'éléments sont accessibles par le clic droit.
Cependant, en matière d'éclairage, les entités les plus intéressantes sont uniquement disponibles dans le Content Browser. Plus précisément, dans l'onglet Actor Classes de ce dernier.

Lumières disponibles


Pour ajouter une de ces lumières avancées, il suffit de la sélectionner, de quitter le Content Browser et de faire un clic droit pour choisir Add ...Light here, suivant le type de lumière que vous avez choisi. Remarquez que c'est la même procédure que pour ajouter un Static Mesh: ce n'est pas un hasard ! Cela se passera toujours comme ça.
On va faire une liste des éclairages les plus utiles :
  • SkyLight : sert à mettre en place un éclairage naturel par le soleil ;
  • SpotLight : c'est une lumière extrêmement intéressante car elle représente le comportement naturel d'une lumière réelle. Vous pouvez régler deux options utiles dans la section SpotLight Componentdes paramètres:
    • Inner Cone Angle : angle du cône autour de l'axe de la lumière dans lequel la luminosité vaut Brightness ;
    • Outer Cone Angle : angle du cône en dehors duquel la luminosité est nulle. Entre ces deux cônes, la luminosité décroît progressivement.

    Une entité SpotLight doit être orientée, avec les outils de rotation (accessibles via ESPACE !) une fois la lumière sélectionnée.
  • ...LightToggleable : ces lumières peuvent être activées et désactivées, nous verrons comment plus tard.
  • ...LightMoveable : ces lumières sont dynamiques, vous pouvez les déplacer dans un niveau, ce qui sera également vu dans la suite


Image utilisateur
Lumière de type SpotLight, avec 10° comme angle de cône interne, et 50° pour le cône externe. Les deux cônes sont bien visibles dans l'éditeur.


Plus d'informations


Comme toujours, la source d'informations idéale est Unreal Developper Network: http://udn.epicgames.com/Three/LightingArtistHome.html
N'hésitez pas à visiter cette page, même si elle est en anglais.

Lightmass : l'éclairage haut de gamme

Lightmass est le nom de la technologie d'Ambient Occlusion d'UDK: c'est le moteur d'éclairage qui permet d'obtenir facilement un rendu bien plus réaliste, au prix de temps de rendu bien plus longs. Si vous désactiviez Lightmass, la reconstruction de votre map serait quasiment instantanée!
Cependant, la qualité graphique supérieure obtenue vaut largement ce petit défaut.

L'Ambiant Occlusion


L'article Wikipedia explique à merveille cette technique de rendu: http://en.wikipedia.org/wiki/Ambient_occlusion
En résumé, elle permet de simuler le comportement physique de la lumière, qui a tendance à rebondir plusieurs fois sur des murs avant d'arriver à notre œil. Ainsi, un mur blanc au dessus d'un tapis rouge vif sera légèrement éclairé en rouge si le soleil tape fort dessus!
Ce comportement a également une tendance naturelle à assombrir les coins et à illuminer plus fortement les grandes surfaces sans obstacles.

Le réglage global de Lightmass


Pour configurer Lightmass, vous devez aller pour la première fois dans les options de la map.
Elles se trouvent dans le menu View - World Properties. Une fois le menu ouvert, descendez jusqu'à la section Lightmass.

Réglages de Lightmass


Si par hasard vous ne souhaitez pas utiliser Lightmass, il vous suffit de décocher Global Illumination. C'est notamment une très bonne idée dans la phase d'ébauche de la map puisque vous n'aurez besoin d'aucun éclairage pour tester le gameplay, autant raccourcir les temps de reconstruction !


Les réglages utiles ici sont les suivants :
  • Environment Color : qui règle la teinte de l'éclairage global ;
  • Environment Intensity : qui permet de modifier son intensité ;
  • Occlusion Exponent : plus il est élevé, plus les ombres générées par Lightmass seront tranchées.

Effets avancés


Lightmass va bien plus loin qu'une simple AO. Vous pouvez également configurer les objets qui émettent de la lumière pour qu'ils participent à l'éclairage. C'est peut-être surprenant, mais avant UDK et Lightmass, une torche par exemple avait une apparence lumineuse mais ne participait absolument pas au calcul de l'éclairage !

Pour activer cet effet, ajoutez un objet lumineux. Dans le Content Browser, sélectionnez le package UDKGame/Content/UT3, et choisissez S_Bio_Blob_01. Ensuite, placez-le en tant que Static Mesh, sélectionnez-le, et appuyez sur F4 pour obtenir ses propriétés.
Vous pouvez modifier la taille du Static Mesh dans les propriétés avec Display - Draw Scale


Pour activer l'éclairage automatique, cochez la case Lightmass - Use Emissive For Static Lighting.

Lightmass


Il vous suffit ensuite de régler les différents paramètres utiles :
  • Emissive Boost : augmente l'effet lumineux pour l'éclairage, de 0 (rien) jusqu'à 1, voire plus si vous voulez augmenter la luminosité ;
  • Emissive Light Falloff Exponent : oh, ça devrait vous rappeler quelque chose ça... C'est en effet le réglage de la distance d'affaiblissement de la lumière, comme sur un éclairage classique.

Et maintenant, supprimez toutes les lumières, reconstruisez la map et admirez le résultat !

Image utilisateur
Éclairage 100% Lightmass


Pour aller plus loin


La documentation complète de Lightmass est disponible sur UDN : http://udn.epicgames.com/Three/Lightmass.html
Prenez le temps de survoler cette page au minimum! La documentation UDN vaut toujours le détour...
... Maintenant, plus question d'éclairer sa map en blanc ! :pirate:
Chapitre précédent Sommaire Chapitre suivant

Partager

3 commentaires pour "L'éclairage"
Note moyenne : 3.74 / 4 (197 votes)
Pseudo Commentaire
Hors ligne lombre # Posté le 16/08/2011 à 11:33:51

Avis : Très bon

Ville : Libourne
Pays : France métropolitaine

très bon tutoriel mais pas assez explicite au début :
Quand on décore la map pour la première fois et que l'on découvre le content brother vous nous laissez seul devant tt cet nouveauté il faudrait que vous fassiez la première map étape par étape avec beaucoup de screen.

Mon serveur minecraft : 2 en 1 freebuild et semi-rp idéal pour tous !
ip : 176.31.240.30:270605 / Forum : http://total-gaming.m-hs.net/forum/
(18 slots)
 
Hors ligne monsieurx # Posté le 15/12/2011 à 03:49:22
Avatar

Avis : Mitigé

Ville : Shefford
Pays : Canada

Je suis d'accord avec lombre.

J'ajouterais aussi que ça serait bien qu'il y ait quelques images qui montre des configurations de différents type d'éclairages (avec la façon de configurer ses éclairages ;) )

Sinon jusqu'à maintenant je trouve très bien ce tutoriel. Tu es en train de me faire découvrir une passion!

Seul l'impossible est impossible
 
Hors ligne Thelamon # Posté le 31/03/2012 à 18:38:10
!!! : programeur polyvalent
Avatar

Très bon tutoriel, sur un sujet passionnant.

Mais un petit défaut : seul les raccourcis pour faire une action sont donnés, et pas la méthode classique.

Ainsi, les utilisateurs qui ne peuvent pas utiliser les touches Fx ne pourront pas modifier les propriétés de la lumière avec F4 (Je le sais car j'en fait partie).

En tout cas merci pour ce tuto

Citation : Albert Einstein
La théorie, c'est quand on sait comment sa marche, mais que rien ne fonctionne.
La pratique, c'est quand tout fonctionne et que personne ne sais pourquoi.
Ici nous avons réuni théorie et pratique: rien ne fonctionne .... et personne ne sais pourquoi

La programmation c'est d'abord de la théorie quand on commence et puis ça devient de la pratique à la fin.

Citation : Linus Torvalds
Software is like sex : it's better when it's free

Yes, and they're both my reasons of life.
 

Voir tous les commentaires