t u t o r i a u x
Le rendu par couches avec 3DS Max
Pour un rendu de qualité en 3D, il y a tout un tas de facteurs qui se cumulent exponentiellement et qui viennent allonger considérablement les temps de rendus, à savoir les textures, les éclairages et leurs ombres, les reflets et les brillances, la profondeur de champ, les transparences... Calculer tout ça en une seule image est extrêmement long, aussi je vous propose de voir comment rendre tout cela sur des images séparées, puis de recombiner le tout. Le but étant tout d'abord de gagner du temps, mais on verra aussi que l'on y gagne énormément pour la retouche en post-production.
Tout d'abord deux images pour illustrer mon propos :
La première, rendue avec Mental Ray en version "classique", 44 minutes de rendu pour avoir ce résultat :
Rendu Mental Ray classique
La seconde, en rendu par couches, est faite en trois fois et en 12 minutes en tout, pour avoir ce résultat :
Rendu par couches

Alors, pourquoi autant de différence dans le temps de rendu ? C'est ce que nous allons voir...

On ne va voir ici que le rendu, je ne vais donc pas détailler les étapes précédentes, considérons que vous avez une scène modélisée, texturée (avec les textures Mental Ray de préférence pour ce tutoriel), éclairée et prête à être rendue avec Mental Ray. Faites-en 3 copies, pour les 3 étapes du rendu et pour une commodité d'explications, nommons-les "scene_couches.max", "scene_occlusion.max" et "scene_ombres.max".

On va commencer avec la scene_couches.max, qui va nous servir à rendre la couleur, la brillance, les reflets, la transparence et la profondeur de champ.
Commencez par supprimer tous vos éclairages, vos solutions d'illuminations indirectes, votre Final Gather, vos contrôles d'expositions, bref tout ce qui concerne de près ou de loin la lumière. Supprimez également les effets de profondeur de champ, qu'ils soient dans les paramètres de rendus ou sur votre caméra.
Ouvrez le "Render Setup" et allez dans l'onglet "Render Element"

Les éléments de rendu

En cliquant sur "Add" une nouvelle fenêtre apparaît qui va permettre d'ajouter les images que l'on veut calculer en plus de l'image rendue normalement.

Les différentes couches

Vous pouvez ajouter ce que vous voulez, mais ici on va se concentrer sur la diffuse (la couleur des textures), la specular (la brillance), la transparency et la reflection.
Vous pouvez sélectionner au choix les couches classiques, pour un rendu scanline, mais ici on va plutôt choisir les couches de Mental Ray, qui donnent plus facilement un résultat photo-réaliste (mais ils faut donc avoir bien utilisé des textures Mental Ray, sinon ça ne donnera qu'un rendu tout noir).
Ajoutez donc "mr A&D Level : Diffuse", "mr A&D Raw : Specular" "mr A&D Raw : Transparency" et "mr A&D Raw : Reflection"
Pour chaque couche sélectionnée, choisir un chemin de sortie pour enregistrer les images.
Afin de préparer d'éventuelles retouches en post-production, on va donner un ID différent à chaque objet (il est à 0 par défaut, pour le changer sélectionner l'objet, faire un clic droit dessus et sélectioner "Object Properties", puis changer la valeur 0 de "Object ID" en bas à droite de l'onglet "General"). Puis dans "Render Element" on va ajouter la couche "ID Object" qui va créer une image avec un aplat de couleur différent pour chaque objet ce qui permettra de faire très facilement des zones de sélection plus tard.
Dans le même principe, il existe "Mat ID" qui marche de la même façon que "Object ID" sauf qu'il détermine une couche en fonction des textures au lieu des objets.
Enfin on va ajouter la couche "Z-Depth" pour la profondeur de champ. Pour cette couche, deux paramètres sont à régler : Z Min qui détermine la distance entre la caméra (C) et le point (A) où l'image est parfaitement nette et Z Max qui détermine la distance entre le point de netteté (A) et le point de flou maximal (B).

Fonctionement de la profondeur de champ sur la caméra

Pour les couches "Object ID" et "Z-Depth" n'oubliez pas de cochez "Enable Filtering" si vous avez mis un filtre sur votre rendu (anti-aliasing, video blur, etc...) sinon lors de la composition de l'image les pixels ne seront pas parfaitement superposés.

Ensuite, en lançant un rendu, toujours en Mental Ray, on obtient une image assez peu intéressant mais c'est sans importance, elle ne sert à rien et sera supprimée, mais on est obligé de la calculer pour avoir les autres couches.

Voici ce que vous devriez obtenir :
L'image rendue (à supprimer) :

Le rendu
La couche de diffuse :
La couche de diffuse

La couche de brillance (specular) :

La couche de brillance
La couche des reflets :

La couche des reflets

La couche de la transparence :
La couche de transparence

La couche de séparations des objets (Object ID) :

La couche de séparation des objets
Et la couche de la profondeur de champ (Z-depth) :
La couche de profondeur de champ

On va mettre tout ça de coté, on y reviendra quand on aura tout calculé.

On va prendre maintenant le fichier scene_occlusion.max.
Comme tout à l'heure, on supprime tout ce qui concerne la lumière. Dans l'éditeur de matériaux, on va créer une texture "standard" (donc pas une Mental Ray) avec la diffuse et le specular en noir, sans aucune brillance, et dans le canal "Self-Illumination", on va ajouter un matériel "Ambiant/Reflective Occlusion (3dsmax)".

Texture occlusion

Pour régler l'occlusion, deux paramètres importants : le "Samples" qui détermine la qualité de l'occlusion, prenez un multiple de 16 (64 ou 128 fonctionnent bien en général, selon le poid de votre scène) et le "Max distance" qui détermine la taille de l'occlusion, là ça dépend de l'échelle de votre scène.
Réglages de l'occlusion
Ensuite, dans le "Render Setup", dans l'onglet "Processing" on va cocher "Material Overrive", puis faire glisser la texture d'occlusion de l'éditeur de matériaux sur "None" pour la copier en choississant "Instance".
Remplacement de toutes les textures de la scène par la texture occlusion
On vient donc de remplacer, au rendu, toutes les textures de la scène par une texture occlusion.
En lançant un rendu, avec Mental Ray, on doit obtenir quelque chose comme ça :
La couche d'occlusion

Sauvegardez l'image si ce n'est déjà prévu dans votre rendu, et on passe à l'étape suivante.

On va prendre maintenant le fichier scene_ombres.max, et cette fois on va garder tous les paramètres d'éclairages. On va créer une texture Arch&Design de Mental Ray toute blanche, matte, sans reflet ni brillance. Ensuite on va procéder comme pour l'occlusion afin de remplacer toutes les textures de la scène par cette texture blanche.

Remplacement de toutes les textures de la scène par la texture blanche
En lançant un rendu, on doit obtenir quelque chose comme ça :
La couche d'ombres
On s'arrête là pour la partie rendu, on a tout ce qui nous faut pour composer l'image finale. Ensuite selon si l'on travaille sur une image fixe, on utilisera un logiciel de retouche comme Photoshop, ou, dans le cas d'une animation, un logiciel de post-production comme After Effect, mais dans les deux cas le principe est exactement le même.
Ouvrez un nouveau document à la taille de vos images et collez-y tous vos rendus (sur différents calques évidemment !) dans cet ordre là : tout en bas la couche d'ID des objets, puis celle de diffuse, la couche de transparence, la couche de reflets, la couche de specular, la couche d'occlusion et enfin tout en haut la couche d'ombres.
La couche de diffuse reste telle quelle, on ne s'en occupe pas.
La couche de reflets passe à 30% d'opacité (ou entre 25% et 35%, vous ajusterez au cas par cas) et changez le mode de fusion du calque de "Normal" à "Densité couleur -" (ou "Densité linéaire -" si vous préfèrez, c'est au cas pas cas, en fonction de votre image et de vos goûts).
Positionnement et mode des calques avec Photoshop
La couche de specular passe à 50% d'opacité (ou entre 40% et 60%) et changez le mode de fusion pour "Densité linéaire -" (ou "densité couleur -" si vous préfèrez).
Les couches d'occlusion et d'ombres passent en mode de fusion "Produit" et vous pouvez baisser plus ou moins leur opacité en fonction de la dureté des ombres que vous souhaitez.
Sur Photoshop, une fois que vous avez fini vos réglages, fusionnez les calques.
Créez une nouvelle couche alpha et collez-y votre image de profondeur de champ (Z-Depth)
Enfin appliquez un filtre "Atténuation > Flou de l'objectif" sur votre image fusionnée en vous servant de la couche de Z-Depth comme source.
Application de la profondeur de champ dans Photoshop
Sur After effect, mettez toutes les couches dans une première composition et puis créez une seconde composition et placez-y la première composition et votre couche de Z-Depth, enfin appliquez un filtre "Netteté > Flou de l'objectif" toujours en vous servant du calque de Z-Depth comme source.
Application de la profondeur de champ dans After Effect

Et voilà, l'image est composée !

Vous pouvez maintenant, au besoin, la retravailler un peu, avec, par exemple, la possibilité de réchauffer ou refroidir les ombres, de contrôler la couleur et la quantité de reflexion et de brillance. Et le fait d'avoir la couche de séparation des objets permet d'appliquer cette post-production à toute l'image ou, plus intéressant, à certains objets et ce sans avoir à refaire un rendu extrêmement long.

Rendu final #1
Rendu final #2
Pour ceux qui auraient aimé l'image, elle m'a été inspiré par un artiste que j'aime beaucoup, Romain Lardanchet, qui dessine beaucoup de mécha. Il a, en autre, créé un robot à découper et à monter soi-même, présenté dans un petit fascicule très sympa.[