La lumière
Comment utiliser le Flesh Renderer
Astuces pour de meilleures performances
Vous devez mettre des lumières dans votre niveau pour y voir quelque chose. Il y a deux sortes de lumières que vous pouvez utiliser.
- Les lumières émises par les objets 3D comme les static
meshes et les "emitters". Ce sont les lanternes, les bougies, les feux de
cheminée, les lumières magiques et ainsi de suite. On peut les trouver dans
l'Actor browser, sous WorldObj
> _Light.
- Les "basic lights", qu'on ne peut pas voir dans
le jeu. On les place en faisant un clic droit dans une des fenêtres et en
choisissant Add Light Here. Ce type d'éclairage
est idéal pour créer une lumière ambiante où vous voulez illuminer une zone
ou un objet sans avoir recours à un objet physique projetant une lumière.
Astuce : Activez le Flesh renderer pour voir instantanément les changements de lumières dans la fenêtre 3D.
Les Basic lights
Ces éclairages sont très simples à placer : faites un clic droit sur une surface dans la fenêtre 3D et sélectionnez Add Light Here du menu contextuel. Par défaut, on a une lumière blanche et brillante qui part dans tous les sens là où on a cliqué.
Les Light Actors (Objets 3D émettant de la lumière)
Il y a pas mal d'objets 3D en rapport avec l'éclairage dans le gamesys qui combinent les meshes et les sources de lumière, un peu comme les torches dans le moteur de Dark Project. Si vous mettez un objet 3D (objet, perso…) avec une torche, vous aurez un mesh qui aura une torche, une lumière et un émetteur de particules.
On peut avoir accès à un panel de "light actors" en faisant Actor > WorldObj > Light_
On peut ajouter à ces objets des propriétés modifiant l'éclairage comme pour les lumières normales, vous aurez une grande flexibilité de modification avec l'avantage d'avoir les meshes et les lumières liés ensemble.
Les propriétés pour la lumière
Comme pour d'autres objets du jeu, vous pouvez ajouter des propriétés aux lumières pour modifier leurs paramètres et avoir certains effets. Par exemple :
1. Sélectionnez une nouvelle
lumière, faites un clic droit dessus et sélectionnez Light
Properties
2. Déployez la dernière entrée des propriétés
sous Light(1 selected)
3. Un ensemble de groupes de propriétés va
apparaître, Lighting inclus.
4. Faites un clic droit sur Lighting
et sélectionnez Add Property.
5. Sous Property Categories,
Lighting devrait déjà être en surbrillance avec les propriétés qui
lui correspondent.
6. Sélectionnez FleshLightType
et cliquez sur le bouton Add Property en bas de
la fenêtre.
7. Maintenant vous devriez avoir FleshLightType
sous Lighting et vous avez le choix entre différents
types (FL_Omni, FL_Spot etc.)
D'autres propriétés pour la lumière peuvent avoir encore plus de paramètres plus complexes et on peut les ajouter de la même manière.
Les propriétés disponibles
FleshLightType
- FL_Omni - Lumière omnidirectionnelle (OmniLight)
- FL_OmniNoShadow - c'est un OmniLight qui ne
projette pas d'ombres
- FL_Ambient
- FL_AmbientVertex - semble mettre une lumière
d'ambiance aux meshes les plus proches
- FL_Spot - Lumière de projecteur
- FL_SpotNoShadow - Lumière de projecteur sans
ombre
Les lumières sans ombre sont très utiles car nécessitant moins de calcul du PC (On gagne en performance).
LightColor
Cette propriété vous permet de régler le HUE, la saturation, la brillance de la couleur de la lumière.
LightShape
Paramètres :
- DotBias
- LightCone - Seulement utile pour les spotlights
(lumière de projecteur) ; si on l'augmente, la vitesse de diffusion de la
lumière est augmentée, comme si on augmentait la taille de la base du cône
de lumière.
- LightInnerRadius
- LightPeriod
- LightPhase - Ces deux propriétés concernent
certainement les lumières animées.
- LightRadius - Pour les omnilights, c'est le
radius de la sphère de lumière. Pour les spotlights, c'est la portée de
la lumière (hauteur du cône de lumière).
LightDamping
C'est une propriété dont la valeur oscille entre 0 et 1. Elle adoucit la lumière pour donner un effet plus subtil. Elle peut diminuer légèrement la brillance et c'est un moyen simple pour réduire le niveau de lumière.
Commentaire sur cette propriété dans l'éditeur : "Fait décroître la lumière selon la valeur qu'on lui donne. 0 correspond au niveau de lumière original, 1 est l'obscurité totale."
Cette propriété peut être utilisée pour baisser la luminosité de plusieurs sources de lumière à la fois, même si elles ont une valeur différente.
FLLightTexture
La lumière va projeter une texture que vous aurez choisie. Cette propriété
s'applique surtout pour les spotlights, vous aurez d'étranges résultats
avec un omnilight.
Tout ce que vous avez à faire, c'est de taper un nom de texture convenable dans le paramètre Name. On l'utilise souvent pour simuler la lumière venant d'une fenêtre. Par exemple, dans le niveau du Musée, une fenêtre a la texture GENwindowint_P qui projette un dessin sur le mur opposé.
Les paramètres Length et Radius ne semblent pas importants ici.
Conseils éclairés
- Ayez à l'esprit les astuces au sujet des performances
quand vous placez des sources de lumières et des objets projetant des ombres.
- Tout static mesh ou actor peut être transformé en lumière si on leur applique
les propriétés de Lighting. Les lumières des objets disponibles dans l'Actor
Browser ont leurs paramètres de lighting (lumière) réglés par défaut, mais
on peut les modifier.
- Les lumières OmniNoShadow transperceront les
murs BSP car ils ne projettent aucune ombre. Vous devrez certainement mettre
un petit radius pour éviter cela. (Si vous voulez illuminer une grande zone,
utilisez un grand nombre de lumières de ce type mais en conservant un petit
radius pour chacune d'entre elles.)
- Vous devrez faire un Rebuild si vous modifiez
le radius du cône de lumière d'un spotlight pour voir les changements dans
le FleshRenderer.
- Si vous constatez que certaines parties d'un static mesh n'ont pas d'ombre,
essayez d'augmenter le radius de la lumière qui projette l'ombre. Le problème
vient du fait que l'ombre manquante tombe en dehors du radius de la lumière.
Vous pouvez augmenter aussi ShadowExtrusionDistance
mais ayez à l'esprit que cela utilise une échelle complètement différente
de la propriété du radius.
Le ShadowExtrusionDistance peut aussi empêcher
la lumière de "transpercer" les murs, comme par exemple à travers une porte.
Le problème est que le radius de la lumière va au-delà du radius de l'ombre.
Augmentez petit à petit la valeur du ShadowExtrusionDistance
jusqu'à ce que le phénomène disparaisse.
- Si vous avez l'intention d'utiliser du brouillard (distance fog) dans
votre map, vous pourrez utiliser un niveau plus bas de lumière d'ambiance
(ambient lighting), car le brouillard a tendance à éclaircir les zones éloignées.
Tutoriels sur T3ed
t3ed.tutoriel.free.fr