PDA

Voir la version complète : Tutorial faux GI avec Ambient Occlusion by Simon Wicker



Essania
23/03/2004, 14h46
Voici une recette que vous pouvez employer pour faire un faux rendu GI en utilisant n'importe quel plug-in d'ambiant occlusion.

Cette technique est pus appropriée pour l'animation, vu le nombre de rendus à effectuer, les changements de textures, etc.
Mais il n'est pas interdit de l'utiliser pour une image fixe.

Votre scène va être rendue en 3 fois:

1. Le rendu "key pass".
http://homepage.mac.com/fredericberti/wip/AO/key.jpg
Vous faites un rendu complet de votre scène avec seulement une light pour le soleil.
Si besoin, il n'est pas interdit d'utiliser d'autres lights. Tout dépend de votre scène et de ce que vous rechercher. En règle générale les scène d'extérieur ne devraient avoir qu'une light Soleil.
Comme toute règles, il y a toujours l'exception qui la confirme.

2. Le rendu "Material color"
http://homepage.mac.com/fredericberti/wip/AO/mat.jpg
Il faut activer le rendu Multi-Pass dans les prefs de rendu, et choisir Material Color.
Cela donne un rendu des couleurs des matériaux utiliser dans la scène.
(faire ce rendu en Multi-Pass en même temps que le rendu "Key pass").

3. Le rendu "Environment pass"
http://homepage.mac.com/fredericberti/wip/AO/Enviro.jpg
Remplacer TOUS les material par un matériaux unique avec une image appropriée dans le canal Environment.
Il faut utiliser une image qui soit le plus près possible de l'ambiance que vous avez ou que vous voulez avoir dans votre scène.
Il est possible d'utiliser, par exemple, le rendu "Key pass" comme image. Il faut alors d'abord la flouté un maximum, avec Photoshop ou autre soft de retouche.
C'est là qu'est utilisé le Chrome Ball dans les productions ciné, qui permet de capturer la lumière ambiante réelle.
Il est aussi possible d'utiliser une image HDRI.
L'important ici, est d'avoir une image qui soit floutée un maximum.

4. Ambient Occlusion pass.
http://homepage.mac.com/fredericberti/wip/AO/AO.jpg
Dans un nouveau Material, utiliser un Ambient Occlusion plug-in dans le canal Luminance et appliquez ce matériaux sur TOUS vos objets, comme pour le Enviro pass.

Maintenant que vous avez tous vos rendus, il faut les assembler, dans Photoshop ou autre After Effects.
http://homepage.mac.com/fredericberti/wip/AO/layer.jpg
Le premier rendu est le Material Pass.
En dessus, vous ajouter l'Environment pass en mode Multiply.
Ensuite l'Ambient pass aussi en Multiply.
En dernier le Key pass, qui doit être en mode Screen.

En changeant l'un ou l'autre des rendus, en changeant le mode de fusion, on peu jouer avec le look final de l'ensemble.

Résultat final:
http://homepage.mac.com/fredericberti/wip/AO/final.jpg

VoilouP

PS. je mets des images pour illustrer bientôt...

Steƒquißosse
23/03/2004, 17h22
Ah la la comme c'est gentil !!!

Une réponse en images !


Merci infiniment Essania ! Je suis content de t'avoir relancé, je savais que la communauté pouvait compter sur toi ! :grin:

tabou
23/03/2004, 17h52
Merci Essania, cette technique a l'air promettteuse et tes explications, en images s'il vous plait, sont très claires :poucehaut:
Est ce que c'est utilisable en animation ?

Essania
23/03/2004, 20h39
Merci!

C'est SURTOUT utilisable en animation.
Pour un rendu fixe, autant utilisé la radiosité.
Parce que sur une grosse scène, comme celle de la Grand-Rue par exemple, changer tout les matériaux n'est pas forcément rapide à faire.
Si tu as des textures avec un canal alpha, par exemple, tu devras créer une texture AO spécialement pour les objets qui ont cette texture, de manière à garder la découpe alpha.
Donc il faut créer plusieurs textures AO, et les assignés aux objets.

C'est faisable, mais le temps de faire 3 rendus en plus, et je pense que on peu aller plus vite en radiosité.
A essayer...

Le rendu AO est TRES lent!
Au moins 15 fois plus que le rendu key, avec lights et ombre.

fr32c
23/03/2004, 20h50
ne peut on pas créer des matières alpha seules en mélange avec les textures couleur ? et gérer ça en xpresso (je sais, je n'ai que ce mot là à la bouche ces jours ci.)

y'avait déjà des xpresso façon "objet actif pour le rendu/objet actif pour l'éditeur" c'est pas jouable en textures ?

fr

Essania
23/03/2004, 21h14
Je ne connais absolument rien en Xpresso.

Mais il y aura sûrement un Maître Xpress qui aurait la réponse.

Aurety
23/03/2004, 23h37
:o Génial Essania, merci du tip. :poucehaut:

Maha
26/01/2005, 10h41
salut les gens !

en ce moment j'exhume les posts ..

je bidouille avec l'occlusion car, comme précisé plus haut par mon admirable compatriote, c'est une technique SURTOUT utilisable en animation

j'ai sauté sur l'occlusion pour me débarrasser de la crasse qui flicke .. le calcul du dirt étant des plus pourri dans C4D ( ou alors j'attends toujours des explications ) et la multiplication des maps pas vraiment pratique

j'utilise donc l'occlusion comme un dirt et là déprime .. ça flicke pareil que le dirt .. donc rage désespoir et ainsi de suite

donc si par le plus grand des hasards l'un d'entre vous a une expérience similaire et eventuellement une solution ... qu'il se fasse connaître

pour info j'utilise le plug de bobtronic .. je sais qu'il en existe un autre mais je n'arrive pas à remettre la main dessus ..

d'avance merci pour les nombreuses réponses qui, je n'en doute pas une seconde, vont arriver .. :mrgreen:

shtl
09/03/2006, 15h14
et hop redoudouisation du topic :mrgreen:

Quelqu'un a t il deja rendu une anime avec l'AO de la r9.5? (avec AR2.5) ??
Ou bien faut-il la baker?

J'espère avoir plus de chance que ce pauvre Maha :?

Tengaal
09/03/2006, 15h27
je n'ai pas encore eu l'occasion de tester l'AO en animation, mais rien que pour une question de vitesse de rendu, baker la surface est certainement la méthode la plus productive et qui évitera donc le flicking, qui est dû au fait que l'AO se recalcule à chaque image et peut donc être différent en répartition d'une image à l'autre suivant l'animation de l'objet ou de la caméra donc de l'angle de vue de la surface, ou bien il faut mettre une valeur de précision très élevée pour éviter le grain de l'AO, mais le temps de rendu explose...

lenogre
09/03/2006, 15h31
J'ai fait une anim dernièrement avec une texture de sol contenant AO. Cette texture a ensuite été conformée (baker) et je n'ai rien remarqué de désagréable. Simplement, il faut calculer des maps assez gigantesques du genre 4000x4000 pixels pour avoir qq chose de correct.

johnc
09/03/2006, 15h48
salut...

tes recherches m'interresses, y a t'il moyen de voir tes images références... (qui n'ont plus l'air d'être en ligne)... merci

shtl
09/03/2006, 16h07
baker la surface est certainement la méthode la plus productive et qui évitera donc le flicking, qui est dû au fait que l'AO se recalcule à chaque image



Bien ce qui me semblait. Merci pour vos réponses :poucehaut:
Autre question: afin de baker correctement il faut avoir BP non? (ce qui serait embetant car on a pas (encore) BP au studio.... :|

Tengaal
09/03/2006, 16h19
Le baker de texture est en standard maintenant dans C4D 9.x, c'est dans le menu "rendu" ->"conformer la texture".

Maha
09/03/2006, 17h13
si vous avez la 9.5 n'hésitez pas à baker le rendu .. rapidité et bien des soucis en moins ..

edit : sthl , il me semble que la condition pour un bake propre est un dépliage uv .. donc BP est utile mais pas indispensable .. on peu déplier son maillage avec d'autres softs ( wing 3d par exemple )

ashurao
09/03/2006, 17h19
je vais surement poser une question bête, mais baker une texture, ça veux dire quoi??

shtl
09/03/2006, 18h02
oui ça parrait evident... mais j'avais cru lire un poste d'Aurety où il aurait baker l'AO sans déplier.... matrompé.... :calim:

Je viens de tester et après 1H35 de baking, j'ai un magnifique bordel de couches d'AO haha!

Bon, je vais essayer avec wings, en même temps je doit terminer pour demain, c'est auch auch!
En tout cas merci les zamis :poucehaut:

PS:
Ashuaro, pas le temps, si pressé regarde dans la doc :P

Tengaal
09/03/2006, 19h44
Pourquoi déplier le maillage je ne comprend pas ? :o

Si les textures sont appliquées à l'objet dans un autre mode de projection qu'UVW, il suffit de les convertir en projection UVW tout simplement, en séléctionnant le tag de texture puis dans le gestionnaire d'objet menu "Texture->Générer des coordonnées UVW" cela créé un tag UVW sur l'objet et ensuite on peut baker la surface car elle est en projection UVW.
Pas besoin de déplier quoi que ce soit...

Maha
09/03/2006, 20h33
ah .. ok .. je dois dire que je n'ai pas utilisé cette fonction depuis le plug baker et la 8.5 avec lesquels je n'arrivais à rien sans dépliage propre ( et à pas grand chose avec :mrgreen: )

shtl
09/03/2006, 21h44
ba non, si des polys se chevauchent la texture va se supperposer et ça donne rien!?!? :?

zegolem
10/03/2006, 01h35
Hello tout le monde!

Les liens des images me renvoient une erreur 404 (je suppose donc que les fichiers ont disparu, depuis le temps)...

Ceci dit, apràs une longue absence du à un intense et très prenant travail 2D (avec parfois un peu de 3D en fixe), je viens de refaire un retour en animation 3D, et j'ai utilisé une approche multi-passe du même genre (bien que pour une ambiance très sombre).

Je confirme les propos de Tengaal (comme si il y avait besoin... :oops:) : avec l'option de conformation des textures et la génération d'UV de la 9.5, on n'a pas besoin de déplier. Une fois calculée la conformation masque l'objet d'origine et créé une nouvelle version de l'objet avec la texture générée, ainsi que ses tags de textures en projection UVW, bien évidemment.
Cette option simplifie grandement le processus, surtout pour une scène avec multiples objets, modes de plaquage variés et parfois couches procédurales.

J'y met quand meme un bémol... Même si je n'ai jamais rencontré de polygones superposés, le maillage n'est pas vraiment déplié mais carrément éclaté, multipliant les raccords bizarres. Inutile de vouloir retoucher un truc pareil sous photoshop ou autre. On ne peut quasiment pas reconnaitre l'objet. BP devient donc indispensable.
De plus comme le maillage n'est pas du tout optimisé, la surface utilisée est énorme, et demande une haute résolution si on veut avoir tous les détails de l'objet sur une seule image.

Une nouvelle conformation avec ce maillage est possible, mais avec parfois des abhérations (avec ou sans génération d'UV).

Le gros plus est de pouvoir pré-calculer l'AO (qui utilises les paramêtres globaux par défaut) et le normal-map qui incorpore en plus le bump et le displacement (et qui reconnait même les fabuleux reliefs des textures symbiont! :bave:). Cela permet d'avoir un relief de surface rapide et de qualité tout en allégeant le nombre de fichier textures, ce qui est très apréciable.

Comme on peut garder les objets d'origine, il est même possible de les garder en displace et procédurales pour des gros plans tout en ayant la version bake en arrière-plan. Ceci dit, parfois, l'objet conformé rend légèrement différemment à cause de la perte de certaines couches oux canaux... il est donc souvent utile de revoir la texture générée de près.

Maintenant, un autre soucis vient du fait que si un objet se déforme trop, l'AO pré-calculée donne de drôles d'abhérations. Donc retour à l'AO calculé en "live" (tout en excluant les objets pré-calculés du calcul, ce qui peut être long à faire...).

Malheureusement là, même avec avec un haute précision (qui rend d'ailleurs le calcul ingérable en prod') on a cette légère "vibration" de l'AO qui va souvent jusqu'au flickering immonde...

L'AO semble assez aléatoire dans son calcul d'une image à l'autre, et ce même en image et éclairage fixe! C'est très gênant... :arg:

shtl
13/03/2006, 12h33
Pareil :oops:

Bon, j'ai baké l'AO avec l'option Conformé l'objet, que je ne connaissais pas. Et donc cette option déplie automatiquement les UVW. Donc pas di problème. Et même, elle marche du tonerre :poucehaut:
(bien que parfois un chouilla longue mais bon...)

Merci les gars :poucehaut:


Petite note à l'attention des curieux:
Si vous ne voulez que la passe d'AO pour votre anime, il faut savoir que l'AO n'a pas besoin de lumière ou GI. Bon à savoir pour les buses comme moi qui essayerai de baker/conformer la passe d'AO AVEC la GI et perdraient ainsi du temps de calcul inutile :wink:

zaer_zhar
13/03/2006, 15h23
je vais surement poser une question bête, mais baker une texture, ça veux dire quoi??


tu calcule le rendu de ta texture procedurale, pour en faire une image que tu pourra réappliquer ensuite en tant que texture mappé en fonction des uvw de ton objet.

très utile pour la 3d temps réel, ca te permet d'avoir de jolis rendu avec un poids réduit, je n'ai perso pas eu d'autres applications pour l'instant ;)

nikolas
13/03/2006, 19h37
c'est aussi indispensable pour éviter le flick provoqué par la gi ou encore l'ao lors d'animation.
:odile: