Hello,

Voici un tutorial sur le Z-Buffer dans Combustion 4. Tout d'abord se procurer la démo ici. Ce tuto n'est valable que pour Combu 4 et supérieur!

C'est quoi le Z-Buffer? Une définition ici. Pour résumer, on va créer une information de 3D dans une image 2D. Pour cela on va utiliser du noir et blanc, ou plutôt une nuance de gris. Plus les objets sont proches, plus ils sont blanc, plus ils sont éloignés, plus ils sont noirs. Ceci va nous permettre de jouer sur pas mal de trucs: profondeur de champ, brouillard en 3D, éléments cachés par ceux plus en avant...

Récupérez donc une photo avec plusieurs plans, moi j'ai choisit un joli temple de Bali. Si vous n'avez rien, un petit tour sur google images ou sur un excellent site de ce type vous sera utile. Bali

Ensuite on lance Combu, on fait un pomme-o, ou file -> open, ou ctrl-o histoire d'ouvrir votre photo, ce qui va aussi automatiquement créer un workspace Combustion de la bonne dimension. Choisissez alors de créer une scène en 3D: Open

Le grand jeu correspond donc à peindre sur votre image chaque plan avec un gris plus ou moins foncé. Les zones à traiter en profondeur doivent être peintes avec un dégradé. On va donc appliquer à notre photo un opérateur de paint: sélectionner votre couche où est la photo dans l'onglet workspace, faites un clic-droit dessus ou bien cliquez sur l'onglet Operators et dans Favorites, vous avez l'opérateur de Paint: Paint

Le premier plan peut être considéré comme plat (à vous, selon vos photos, de déterminer si un applat de couleur ou un dégradé doit être appliqué). Dans l'onglet Paint Controls, dans le menu Modes vous pouvez sélectionnez le bouton Solid, réglez le menu déroulant Channels sur RGB, vous pouvez maintenant sélectionner la couleur: en théorie proche du blanc puisque près de vous: Solid

Allez maintenant dans l'onglet Tools pour choisir un outil de paint. Si ceux-ci n'apparaissent pas, double-cliquez sur l'operator paint dans l'onglet workspace. Vous avez alors plusieurs outils, dont un carré plein, laissez cliqué dessus pour avoir accès à d'autres formes, notamment le polygone plein. utilisez ça pour peindre votre avant plan. Si la couleur ne vous semble pas correspondre à la distance, vous pouvez la remodifer: Paint2

Il vous suffit maintenant de répéter la même opération pour chaque plan: sélectionnez l'outil, puis réglez la couleur et dessinez. Pensez alors à renommer chaque coup de pinceau pour vous y retrouver et placez les dans l'onglet workspace dans l'ordre: du plus proche au plus loin de haut en bas: paint3

Vous allez sans doute avoir des zones à peindre en dégrader. Même principe sauf qu'aulieu de sélectionner le bouton Solid, on va sélectionner Gradient. Ensuite, rendez-vous dans le menu Gradient, toujours dans l'onglet Paint Controls où vous pouvez défnir le dégradé: Dégradé

Dans la barre Color, vous pouvez placer des points (en cliquant) puis modifier leurs couleurs (en double cliquant dessus). En mettant un point noir et un point blanc aux extrémités, vous créez un dégradé. Le carré à gauche permet d'orienter le dégrader: Dégradé2

Dessinez ensuite votre dégradé avec l'outil polygone plein, comme pour les autres applats de couleur. Vous pouvez alors revenir dans le Paint Controls pour régler l'orientation du dégradé. Il vous faut ensuite l'adapter: il ne va pas forcément aller du blanc jusqu'au noir, mais peut-être d'un gris clair à un gris foncé. Pour cela, dans l'onglet Tools, vous avez un outil représenté par un flèche vers le bas qui vous permet d'"étirer" ou de "rétrécir" votre dégradé et donc d'ajuster celui-ci (représenté par une flèche et deux points noirs à déplacer... La croix rouge, c'est la démo...): dégredé3

J'ai donc ci-dessus tous mes plans en nuance de gris qui représentent la profondeur de mon image. Nous allons maintenant dupliquer la couche qui contient photo et paint: sélectionnez la et faites un pomme-c - pomme-v ou ctrl-c - ctrl-v. Sur la couche située au dessus, enlevez l'opérateur paint. C'est cette couche là qui va recevoir les effets de 3D en se basant sur les infos de profondeur donnée par le paint de la couche du dessous. Pour vérifier, double-cliquez sur la couche supérieure. Le petit carré blanc à droite signifie que l'afichage se fait à ce niveau. Vous ne devez donc plus voir votre paint puisqu'il est sous votre couche dupliquée, qui elle n'a plus de paint; vous pouvez d'ailleurs désactiver l'affichage de la couche du dessous (pas fait sur ma capture): Couches

Nous allons maintenant appliquer l'effet G-Buffer Builder à la couche du dessus. Cliquez sur l'onglet Operators -> 3D-Post -> G-Buffer Builder. Cet effet permet de prendre en compte des informations qui pourront être utilisées par d'autres effets ensuite, notamment le Z-Buffer: Gbufferbuilder

Pour l'instant, tout est paramétré sur None. Pour ceux qui connaissent 3DSMax et autres softs du genre, on retrouve pas mal d'informations qui peuvent être exprtées depuis ces logiciels. Si vous avez une scène ou un objet 3D, il vous suffit alors de l'exporter avec la couche Z-Buffer et vous obtenez alors ce fichier en nuance de gris que nous venons de peindre qui peut directement, par ce menu, être importé dans Combustion. Zbuffer

Dans notre cas, c'est la couche de paint que nous allons importer dans le Z-Buffer: cliquez sur None à droite de Z-Buffer, une fenêtre vous permet alors de sélectionner votre paint (ou d'importer un fichier externe, si votre scène vient d'un soft de 3D): Zbuffer2

Il faut maintenant placer, toujours sur la même couche, l'effet 3D Fog que l'on retrouve dans Operators -> 3D-Post: 3DFog

... Et yahoooo, un joli brouillard en profondeur! reste maintenant à le paramétrer. pour vérifier que votre information de profondeur est bien prise en compte, déplacez le curseur Falloff Distance (dans l'onglet 3D Fog Controls): le brouillard doit avancer ou reculer et donc envelpper plus ou moins les objets selon leur distance. Vous pouvez ensuite régler la couleur, la position (il y a deux couches de brouillard, une en bas, l'autre en haut), l'opacité. Tout cela pouvant bien évidemment être animé via des images clefs: 3DFog2

Maintenant, la même chose avec la profondeur de champ: cachez l'effet 3D Fog ou bien supprimez le. Dans la même catégorie d'effets, sélectionnez 3D Deep Of Fields. Vous pouvez alors régler la valeur du floue, les différents plans de nettetée. Premier plan net et reste floue, l'inverse, etc. Ca se règle et s'anime: profondeur

On a donc vu le brouillard 3D et la profondeur de champ. passons maintenant aux lumière. Comme vous avez créé un workspace en 3D, par défaut il y a une lumière mais qui n'est pas activée. On va régler ça en cliquant sur la couche light dans l'onglet workspace. Dans l'onglet Composite Controls, vous pouvez alors cliquer sur le menu Settings qui propose, entre autre, deux boutons pour Render Effects: Shading et Shadows. Sélectionnez-les si ce n'est déjà fait: lightconfig

Faites de même pour la couche où vous avez déjà appliqué les effets G-Buffer Builder, 3D Fog... Cochez donc les boutons Shading, Shadows: Les différents plans de l'image vont pouvoir ainsi recevoir et transmettre les ombres crées par la lumière. Double-cliquez sur la couche la plus haute, vous voyez l'effet de la lumière. Pas forcément concluant selon son placement. Cliquez donc sur la couche Light dans l'onglet workspace. Cliquez sur le menu Transform, vous allez pouvoir bouger la caméra selon les 3 axes x, y et z. Le résultat est alors immédiatement visible. par exemple sur mon image la lumière est placée juste entre les deux petites statue qui crachent de l'eau et la statue du milieu. Tout ce qui est avant est alors plongé dans l'ombre: light

Nous allons maintenant intégrer un objet dans composition. Celui-ci pourra être déplacé en profondeur grâce au Z-Buffer: Faites un clique-droit->New layer... sur votre couche Composite et créez un nouvel layer de type text. Ajoutez ensuite à votre layer un effet G-Buffer Builder et ajoutez dans Z-Buffer votre paint du début (même opération quoi...) Une fois cela fait, sélectionnez ce layer et tapez un texte dans la zone à droite de l'onglet Text Controls, vérifiez que dans le menu Modes, Channels soit bien en RGBA: texte

Allez ensuite dans le menu Settings sélectionner les deux boutons Shading et Shadows de Render Effetcs. Votre texte reçoit et projet alors aussi des ombres. Double-cliquez sur la couche supérieur pour voir le résultat final. Cliquez ensuite sur le layer de texte que vous venez de créer et déplacez le en z de la même manière que la lumière tout à l'heure. Il passe maintenant devant ou derrière les plans et son ombre se projette en prennant en compte l'information de profondeur! Magique isn't it? (par exemple ici mon texte est entre les deux premières statues de grenouille et la grande statue. Il projette bien son ombre suivant la profondeur donnée par l'information de z-buffer... Par contre c'est pas top niveau réalisme, à travailler ) final

Le tuto au format pdf: zbuffer.pdf