Remerciements à NaN (Blender authors) Pour ce superbe logiciel gratuit. Le script de Kurppa "lightgen2blender.py" v1.1 2003 est disponible sur son site : http://members.lycos.co.uk/kurppa/blender/index.html |
Retour à la première page du site
|
Actuellement, il existe plusieurs
façon de réaliser des éclairages hyper
réaliste en 3D.
Pour ma part, je me suis intéréssé à l'IBL
ou Image Based Lightning qu'on peut traduire par Eclairage
basé sur Image.
Cette technique utilise des images High Dynamic Range dites (HDRI en
anglais).
(L'H.D.R.I contrairement à ce qu'on peut croire n'est pas une
technique, comme son nom l'indique c'est un type d'image) pour
l'équivalent français je n'ai pas trouvé de terme
sur le net et j'ai librement traduit par "Image à Gamme
Hautement dynamique".
Ces quelques pages traitent
principalement de l'adaptation de cette technique d'éclairage
dites IBL pour Blender 2.33.
Malheureusement Blender ne gère pas encore les images HDR et par
conséquent ne permet pas de faire des IBL en interne, il est
donc nécessaire d'employer des plugins, sorte de
mini-applications codées en python que l'on charge dans la
fenêtre "Text Editor"(éditeur de Texte)de Blender.
I)
Réaliser un éclairage IBL dans Blender 2.33: a) Les Outils qu'il vous faut avant de commencer Les Liens ci-dessous ne sont pas actifs car ils sont en cours d'élaboration . HDRSHOP MINI TUT, LightGen Plugin (HDRShop) MINI TUT, KURPPA'S Script MINI TUT b) Procédure à suivre (pas à pas). b) Les étapes pour générer l'IBL. II) HDRShop et les
images HDR
- Créer une image hdr au format Latitude/Longitude - Créer une image hdr au format Sphérique (simulant une image Light probe) à utiliser dans World - Traduction en français de la Doc Originale consacrée à HDRShop de Chris Tchou et Paul Debevec http://www.debevec.org/HDRShop - Traduction en français de la page LightGen Plugin pour HDRShop de Jonathan Cohen, son site: http://gl.ict.usc.edu/HDRShop/lightgen/lightgen.html ses projets: Rhythm and Hues Studios . - Explications sur le script de Kurppa qui importe les fichiers *.txt générés par le "HDRShop lightgen plugin" voir l'adresse en titre. |
(non exhaustives) à connaître avant de commencer. - HDR Shop Version 1.0.3 de Chris Tchou et Paul Debevec ( http://www.debevec.org/HDRShop ). - LightGen plugin de Jonathan Cohen ( http://gl.ict.usc.edu/HDRShop/lightgen/lightgen.html) ou ( http://www.debevec.org/Probes ) - Lightgen2blender v1.1 Le script pour Blender Image Based Lightning de Kurppa son site, (ICI) - Python 2.2 ou 2.3 - Blender 2.33 Procédure : - Vous devez avoir une image au format "*.hdr" light probe. - vous pouvez en trouver sur le net déjà toutes prêtes à être utilisées ( http://www.debevec.org/Probes ) - vous pouvez en fabriquer avec HDRShop à partir d'image en différents formats Tiff, tga, jpg et quelques autres (voir les formats lu par HDRShop). Kurppa l'auteur de Lightgen2blender n'as effectué des tests qu'avec Python 2.3 installé J'ai testé avec Python 2.2 et cela fonctionne. Fabriquez un fichier "*.txt" de votre image "*.hdr"en utilisant lightgen dans HDRShop. |
HDRSHOP |
LIGHTGEN PLUGIN |
KURPPA'S SCRIPT |
Petit logiciel pour manipuler des
images au format High Dynamic Range (appellées h.d.r. ou
h.d.r.i.). HDR Shop Version 1.0.3 de Chris Tchou et Paul Debevec http://www.debevec.org/HDRShop |
( Attention, ce n'est pas un soft
indépendant, c'est un plugin, autrement dit un petit
éxecutable qu'il faut inclure dans HDRShop pour le voir
fonctionner) Il génère une liste de sources de
lumière directionnelles qui simulent l'utilisation
directe d'une image lightprobe. Lightgen Plugin par Paul Debevec, Tim Hawkins, et Jonathan Cohen Copyright (c) 2001, University of Southern California. Jonathan Cohen http//ict.usc.edu/..jcohen mettre à jour l'adresse. Remerciements à Tim Hawkins et Jon Cohen pour les idées et pour l'implémentation. |
C'est un petit script, quelques
lignes de code écrit en langage Python que vous recopiez dans
l'éditeur de
texte de Blender et que vous lancez par la combo: "ALT+P". Lightgen2blender v1.1 Le script pour Blender : Image Based Lightning de Kurppa Son Site |
Avec HDRSHOP Vous pouvez |
Avec LIGHTGEN PLUGIN Vous pouvez |
Avec KURPPA'S SCRIPT Vous pouvez |
|
traiter des images au formats suivants: |
à partir d'images hdr, exclusivement au
format : |
Traîter des fichiers "*.txt": |
|
formats classiques |
tiff bmp jpg tga |
hdr long/lat |
De type Texte |
formats plus rares |
pic pfm raw float flx ppm |
||
Générer des images au formats
suivants: |
Vous générez des fichiers de
description de sources lumineuses. |
Vous utilisez les fichiers de description de
source lumineuses pour générer des sources de
lumière. |
|
(hdr)High Dynamic Range |
hdr pic tif pfm float raw fim |
Text (simple fichier texte listant les sources
lumineuses) Arnold(description de scene à inclure dans un fichier ARF) Houdini( à inclure dans un script de description de scène Houdini) MEL( Radiance |
none |
(ldr)Low Dynamic Range |
bmp jpg tif tga ppm |
ETAPE 1 Créer un fichier *.txt Dans HDRShop
chargez une image *.hdr au format Latitude/Longitude Allez dans : Menu > Plugins > lightgen_plugin La fenêtre du plugin contient 7 paramètres réglables: - Cliquer sur le bouton "Browse", choisissez le répertoire et le nom de votre fichier *.txt qui contiendra les définitions des sources de lumière. - Le format de sortie par defaut est "Text" - Nombre de source lumineuses à générer : entrer une valeur - Laisser le nombre d'itération par défaut - Nombres de recherches laissez la valeur par défaut - "Scale Total light output" activez si vous voulez restreindre la luminosité Globale de la scène. - "Desired total light intensity"=Intensité Lumineuse Globale désirée n'est actif que si le paramètre précédent est activé. |
ETAPE 2 Utiliser le fichier *.txt Dans Blender
Ouvrez votre éditeur de texte. Chargez le script de Kurppa "lightgen2blender.py". Repérez la ligne de texte suivante: "filename = Draw.Create("D:/*.txt)" . Entrez le Chemin du répertoire ou se trouve votre fichier *.txt et son Nom. Tapez ALT+P pour lancer le script. Normalement le 'Chemin + Nom' que vous venez de taper dans le code du script doit être affiché dans la boite de texte derrière "FileName". Choisir le type de source lumineuse dans lequel seront importé les sources de lumières. Cela se fait avec le bouton juste en dessous de "2.Adjust" écrit en rouge. Réglez les autres paramètres à votre convenance. Cliquez "Create IBL". Amenez votre curseur souris dans la fenetre 3D et cliquez une fois bouton gauche (c'est juste pour accélérer l'affichage des lumières). Vous avez maintenant dans votre fenêtre 3D les lumières qui forment une sphère + ou - dense selon le nombre de sources que vous avez créées. Mettez un plan une sphere et hop renderisez. Si l'image obtenue est trop sombre : Tapez Une Valeur >1 dans le bouton Bright (cela augmente l'IG) Si l'image obtenue est trop claire : Tapez Une Valeur <1 dans le bouton Bright (cela diminue l'IG) - Dans la fenêtre 3D, sélectionnez toutes les lampes avec la touche A. Puis cliquez le bouton "Apply" du script L'intensité Globale de la scène est modifiée en fonction de la valeur que vous venez d'entrer dans BRIGHT (j'ignore la manière dont s'effectue cette ajustement). |
IBL, CAUSTIQUES ET
YAFRAY
Pour les caustiques : Pour l'instant, je n'ai pu les obtenir qu'avec les types de sources lumineuses "Pointlight" et "Arealight" de YafRay (Ce qui ne veut pas dire que l'on ne puisse pas les obtenir avec les autres types de sources lumineuses, mais simplement que moi je n'y suis pas arrivé). Dans le script de Kurppa et dans Blender, le type de source lumineuse qui correspondent sont : "Lamp" pour "pointlight" et "Area" pour "Arealight". (Pour choisir le type adéquat voir tableau de correspondance ci-dessous). Donc, importez vos sources en type "Lamp" et cliquez CREATE IBL. Le Nombre de Sources Lumineuse importées du fichier *.txt de Lightgen dépends du paramètre "Limit", s'il est réglé sur 0.000 le script importe la totalité des sources, Pour le valeurs >0.000, plus vous augmentez la valeur du bouton "Limit" plus le Nombre de sources lumineuses importées diminue. Voilà c'est fait, les lumières sont affichées dans la fenêtre 3D. Dans Blender, les photons sont calculés avec : Count:100000, Radius:100, MixCount:58. TABLEAU DE CORRESPONDANCE DES SOURCES LUMINEUSES ENTRE APPLICATIONS :
|
fichier hdr Latitude/Longitude utilisé pour
générer le fichier *.txt |
![]() |
||||||||
Fichier hdr Sphérique utilisé dans
World |
![]() |
||||||||
Intensité Globale d'Origine (IGO) |
Lamp![]() |
||||||||
Intensité Globale atténuée
à 1 ParamètresLightGen : Number of searches = 5 Scale total light output>activé Desired total light intensity 1 . |
Lamp![]() |
||||||||
Intensité Globale d'Origine +Bright 0.1 Apply |
|
||||||||
Intensité Globale d'Origine + Bright 0.1 Apply + Bright 0.1 Apply |
|
||||||||
Intensité Globale d'Origine + Bright 0.1 Apply + Bright 0.1 Apply Blender Ray Shadow. |
|