lundi 5 mai 2008

Le lighting avec Kerkythea

Bonjour !
Ici nous allons apprendre à illuminer notre scène avec le moteur de rendu Kerkythea.
Nous allons utiliser la Global Illumination (GI).

C'est quoi la GI ?

Avec la GI, des photons sont bombardés sur votre scène à partir de vos sources lumineuses. Ces photons rebondissent sur les objets et peuvent être réfractés (par matériaux transparents exemple du verre) où réfléchis (par un miroir par exemple).
Grâce à cette méthode, même les objets pas directement exposés à la lumière peuvent être illuminés.
Exemple :
Sans GI :
La lumière est juste passée par les ouvertures mais elle n'est pas allé éclairer les autre zones.

Avec GI (on arrivera à ça vers la fin du tuto) :

On remarque que la lumière à éclairé les zones découvertes par les ouvertures mais aussi le reste, le résultat est plus convaincant.

Éclairons une scène d'intérieur

Je vais directement vous donner un fichier .xml d'une petite scène (celle que vous avez vu juste au dessus), histoire qu'on soit dans la même situation...
Cliquez ici pour la télécharger.
Ouvrez le, vous vous trouvez en vue caméra :
(cliquez sur les images pour les agrandir)

A gauche vous avez un panneau avec tout ce qui se trouve dans votre scène, objets, lampes, caméras. En double cliquant sur un nom d'objet, vous le sélectionnez.
Mais passons tout de suite à l'éclairage. Cliquez sur le bouton 'start render' :
Vous vous retrouvez devant une drôle de fenêtre :

Camera : vous choisissez le point de vue d'où sera faite votre image, laissez sur camera
Resolution : la taille de l'image à rendre. Laissez comme cela.
Setting : ce sont des réglages de lighting tout faits, laissez sur Custom Settings, on règlera nous même
Threads : nombre de processeurs utilisés pendant le rendu, si vous avez un double coeur, réglez sur 2, ainsi vous divisez par 2 le temps de rendu
Network : ne nous intéresse pas pour le moment

Cliquez sur 'ok' pour lancer le rendu. Normalement le rendu est quasi instantané.
Remarquez que la petite fenêtre en bas à droite affiche votre image rendue en miniature

Pour la voir en taille réelle cliquez sur 'image' :
Comme on peut s'y attendre (on n'a encore rien réglé), on ne voit rien... ou presque ! On voit le ciel qui se découpe (en gris).
On va tout d'abord apprendre à changer la couleur du ciel.
Cliquez sur Settings > Sun and sky
Vous vous trouvez devant une fenêtre :
Ici on vous propose de créer un soleil, ça ne nous intéresse pas pour le moment, faites 'Skip' pour passer. Vous devriez avoir ça :
On remarque que c'est mis sur sky color (couleur unie) et que c'est réglé sur un gris très foncé. Cliquez sur le gris foncé et mettez plutôt un bleu clair !
Et cliquez sur finish. Refaites un rendu avec les même paramètres que précédemment.

La couleur du ciel a bien changé mais il n'émet pas de lumière, notre pièce n'est donc pas éclairée.
Nous allons régler cela en cliquant sur Render > Setup...
Passez à l'onglet 'Global Illumination'.

'method' est réglé sur 'none' autrement dit, c'est désactivé.
Choisissez Photon Mapping + Final Gathering (SW)
laissez le reste tel quel et faites 'ok'.
Relancez le rendu :
On remarque donc que la lumière est bien rentrée dans la pièce... mais il y a des petites taches un peu partout, surtout dans les coins :
Retournez sur Render > Setup... et dans l'onglet GI, mettez "Photons" à "100 000 - Many", réglez "Rays' à '900 - Very Many" et mettez "Accuracy" à "0.1 - Very good", on obtient ça :

Avec toute ces augmentations on a un peu augmenté le temps de rendu mais ça reste très rapide.
Les réglages dépendent de votre scène et de la qualité voulu.
Regardez un peu du coté de la 'fenêtre du plafond', on a de l'aliasing (effet d'escalier), ce qui n'est pas super esthétique :
Pour l'éliminer, allez dans Render > Setup... Réglez 'AA Mathod' sur 'Extra Pass 3x3' et réglez 'AA Threshold' à 0.005.
Refaite un rendu et normalement vous ne verrez plus ce défaut ;) .
Maintenant, on va ajouter un soleil, car jusqu'ici, on avait que le ciel qui éclairai. Mettre uniquement un ciel correspond à peu près à faire une scène avec ciel nuageux.
Retournez dans Settings > Sun and sky.
On tombe sur la même fenêtre que tout à l'heure
Ici, c'est tout simple, on va juste choisir le lieu de la scène, la date et Kerkythea va automatiquement placer le soleil comme il faut !
Mh... Voyons, FRANCE - Nice le 1 aout à 15 heures :
Pratique hein ? Mais ce n'est pas tout, on va aussi adapter notre texture de ciel en conséquence ! Faites 'next' et choisissez 'Physical Sky' au lieu de 'sky color'.
La classe non ? Notre ciel à été généré automatiquement en fonction des choix que vous avez fait dans le panneau précédent.
Avec 'Intensity' et 'Turbidity' vous pouvez changer la luminosité du ciel. Moi je laisse par défaut.
Faites 'finish' pour terminer et lancez un rendu !
Le soleil est bien là... Mais il y a quelque chose qui cloche, vous ne trouvez pas ? En effet, les contours de la zone lumineuse sont trop francs. Le soleil n'est pas un point lumineux, il est en volume donc il produit des ombres douces.
Pour les activer, allez dans Settings > Scene... Dans l'onglet Light, vous avez tout les boutons pour régler nos lampes. Activez 'Soft Shadow' et rafites un rendu.
Normalement vous obtenez des contours très granuleux.Retournez dans Render > Setup... et réglez 'Soft Sadow' sur 'higt' voir 'higter' :
C'est mieux ! Mais pour vos rendus de tests pour accélérer, vous pouvez désactiver les ombres douces où laisser leurs 'Soft Shadow' sur 'low'.

Voila, vous savez en gros comment illuminer votre scène en utilisant la GI, même si on n'a pas encore tout vu car il existe d'autre types de lampes, ajoutable en faisant Insert > Omni Light, Spot Light etc directement positionnables et réglables dans le panneau Settings > Scene.
Notre scène ne fait pas super réaliste, les matériaux en sont en partie la cause... Mais prochainement, nous apprendrons à les utiliser ;) .

12 commentaires:

Anonyme a dit…

Très interressant ... long, je n'arrive toujours pas à exporter la scène ...

Visiteur a dit…

Quel est le problème ? Réessaie à partir de zéro ;) .

Amargein a dit…

Vraiment très intéressant, voila un tutoriel de qualité. =D
Je n'arrive pas non plus à exporter ma scène réalisée avec Blender =S, le script ne fonctionne pas, est-il compatible avec la dernière version de blender (2.46) ?...

Visiteur a dit…

Toi non plus ? Roh, je ne comprends pas.
Cela fonctionne avec la version 2.46 de Blender, je viens de tester.
Quel est le message d'erreur ?
As tu essayé de re télécharger le script ?

Tu DOIT avoir sauvegardé avant d'exporter (File > Save), je crois que c'est la cause du problème.

Essaie aussi avec une scène toute simple (un cube), au pire donne moi ton fichier .blend pour que je puisse voir ce que ne va pas ;) .

J'espère que tu trouvera une solution ! Quand à moi, je vais voir si il n'y a pas d'erreur dans le tutoriel.

Amargein a dit…

Voila une copie d'écran de blender afin de t'expliquer mon problème. l'image est ici.
Je viens de re-télécharger le script, j'ai sauvegardé mon fichier juste avant d'essayer d'exporter, j'ai vérifié à n'avoir que des objets de type "mesh" (hormis la caméras), et pourtant, je ne peut pas exporter en fichier XML. Je tiens à signaler, que j'ai utilisé le script présent sur le site officiel du Kerkythea. Voila, j'espère que tu pourras m'aider.

PS : mon fichier est ici

Visiteur a dit…

Je suis désolé, mais ça marche chez moi en exportant ton fichier.
Télécharge et remplace ton ancien script d'export kerkythea par ce script python ci pour windows, Clique ici.
Si ça ne marche toujours pas, fait moi un screen de la console (pour voir le message d'erreur).

Sinon, franchement je ne sais pas. Tient moi au courant ! :)

Visiteur a dit…

Je viens d'éditer le tuto, en effet je crois que par erreur tu a choisi le mauvais script ;) .
Comme je le disais dans mon commentaire précédent c'est bien Celui là.

Amargein a dit…

Ça ne marche toujours pas ^^. J'ai réinstallé le script, j'ai également réinstallé Python, mais je ne peut toujours pas exporter ma scène pour Kerkythea =S
La capture d'écran de la console blender est ici

Visiteur a dit…

Après une recherche, je te conseille d'enregistrer ton travail à un endroit plus simple, c'est peut être tout ces sous dossiers qui font rater l'export.
Donc : enregistre à la racine de ton disque dur (file > save), puis exporte.

Sinon je ne sais vraiment pas.

Je suis désolé que tu ai tout ces problèmes, le tutoriel est pourtant sans erreurs j'ai testé plusieurs fois, et un autre blenderien à testé avec succès...

Amargein a dit…

En effet, lorsque j'enregistre mon projet à la racine de mon PC, je peut exporter ma scène. =) Merci encore, et continue à faire des articles sur ce merveilleux moteur de rendu ;)

Visiteur a dit…

Ouf ! Content que tu ai pu trouver solution à ton problème.
Merci de ton encouragement ;) .

LKO a dit…

Une merveille merci beaucoup c'est top :o)
Réussi en 3 minutes sur une de mes scènes.

Si quelqu'un avait le temps de faire la même chose avec les différents types de rendus prédéfinis ;o)