PDA

Voir la version complète : Problème Ambient Occlusion sélective, est ce possible ?



Onskin
13/03/2011, 19h13
bonjour tout le monde,

je cherche a pouvoir exclure l'ambient occlusion d'un object sur un autre. Pour être plus claire je vous ai posté cette image ci dessous. Ce que je veux c'est supprimer l'ambient occlu émise par le carré sur le sol uniquement, je veux pas supprimer l'ambient du carré sur lui même ( l'auto ambient ? :) )

http://www.loubersannes.info/occlu.jpg


Autrement dit je veux garder toute l'ambient occlu sauf celle sous le carré ( surligné de bleu ), que j'ai envi de refaire propre sous After Effect plustard, euh oui ca sera animé pardon. Si vous pouvez m'aider, je galére un peu :)
Merci beaucoup tout le monde.

Rudy
13/03/2011, 19h31
Clic droit sur le sol puis tu rajoutes un tag de rendu et du décoches "visibilité avec occlusion ambiante".

Onskin
13/03/2011, 19h36
Héhé non justement ca j'ai déja essayé mais ca me supprime toute l'occlu sur le sol y compris celle des poteaux que je veux garder.
Est ce qu'il possible de dire au carré de pas émettre d'ambient sur le sol ? ou au contraire dire au sol d'exclure l'ambient du cube ?

user4D
13/03/2011, 19h54
C'est sur l'objet que tu dois mettre le tag (pas le sol)

Onskin
13/03/2011, 19h57
Non plus user 4D car si je le met sur le cube, ca enleve tout l'occlu sur le cube.
Je veux juste supprimer l'occlu sous le cube, rien d'autre. Pas facile hein ?

Sir Gong
13/03/2011, 20h18
Faudrait connaître le contexte, mais tu peux baker l'AO du sol avec les poteaux, puis l'exclure avec un tag et mettre ton cube.

keltoi
13/03/2011, 20h19
Ou fair un rendu multi pass, et gommer la partie de l'AO que tu ne souhaites pas.

user4D
13/03/2011, 21h12
Faudrait connaître le contexte, mais tu peux baker l'AO du sol avec les poteaux, puis l'exclure avec un tag et mettre ton cube.

ou l'inverse : baker l'AO sur le cube, remettre l'AO au rendu en excluant ce cube sur le sol.

Mais comme tu dis, faut voir le contexte parce que ta méthode selon le cas pourrait être plus judicieuse pour gagner du temps au rendu.

Edit : Il y a même une méthode avec la "matière" AO dans le canal texture.

Onskin
13/03/2011, 21h40
Ah yes ta méthode user4D me plait ! par contre j'ai jamais fais du baking... mais je pense que pour mon contexte c'est le top car j'ai plusieurs scéne donc une fois le baking fait, je colle cette texure sur tous mes cubes de chaque scéne et je décoche seen by AO dans le tag Compositing du cube. Il me reste plus qu'a savoir faire du baking now ! :) Merci beaucoup en tout cas.

lenogre
14/03/2011, 01h47
Pq faire simple quand on peut faire compliqué ?
A ton sol, tu assignes une texture avec occlusion ambiante (canal diffusion).
A ton cube, tu assignes un tag et Vu par AO décoché.

Pas de bake et tout le saint frusquin...

Sir Gong
14/03/2011, 09h54
Pq faire simple quand on peut faire compliqué ?Parce qu'il veut de l'AO sur son cube, ce qu'il ne veut pas c'est de l'AO entre le cube et le sol. La manip que tu décris supprime l'AO du cube.

Philippe casu
14/03/2011, 10h46
salut
si on clique sur "auto-intersection uniquement " (dans la matiere AO du cube bien sur) cela devrait fonctionner non ?
juste pour voir!

Onskin
14/03/2011, 12h04
C'est à dire Philippe ? Qu'appelles tu matiére AO du cube ?
Je voulais savoir aussi, je viens de faire un rendu de 100 img et je me suis rendu compte que j'ai oublié des éléments dans un buffer canal 1, j'aimerai du coup ressortir que les buffer sans le rendu des images, est il possible de rendre que les multi passes sans calculer le rendu de la scéne pour gagner du temps ?

Fredaubailly
14/03/2011, 12h16
Je ne pense pas. Par contre, tu peux demander à rendre les images sans ombrages, ni transparences, ni réflexion, ni réfraction, ni textures, etc. Tu vas gagner un temps important. Ce sont des cases à décocher dans l'onglet options des réglages de rendu.

Onskin
14/03/2011, 12h26
Merci Fred pour l'astuce.
Keltoi je reviens sur ce que tu avais dis, le fait de sortir une passe d'AO et gommer la partie que je veux pas aprés dans After effect, no probléme mais comment avoir mon rendu sans AO en passe ? il faut que je combine diffuse + ambient + reflection etc ... ? car je n'arrive pas a avoir une passe avec tout sauf AO sur mon image.

gillesevrard
14/03/2011, 12h49
J'ai bien une petite idée (si j'ai bien tout compris) mais je ne sais pas si c'est faisable dans la pratique. je m'explique:
on pourrait mettre un objet intermédiaire un (plan) entre le sol et le cube de manière à ce que l'AO soit projetté dessus et non sur le sol. Ensuite faire disparaitre cet objet de la scène, le rendre invisible en bref...
Voilà un peu

bru
14/03/2011, 14h21
Une piste au sujet de la matière AO. Puisqu'il s'agit d'une matière, elle devrait pouvoir être placée dans une matière fusion, et donc, par exemple, être contrôlée par un masque ou par un autre matière (par exemple proximal), pour éviter qu'elle n'apparaisse à la jonction. Évidemment, cela ne devrait plus marcher si les zones ombrées se rencontrent.

lenogre
14/03/2011, 15h03
Ah oui, dans ce cas il faut baker !

base80
14/03/2011, 15h23
Je pense que c'est possible d'utiliser le Dirt dans un Proximal pour exclure un groupe d'objets (poly)

base80
14/03/2011, 15h31
Rectification:
J'ai appliqué une texture avec un shader Ambiant Occlusion en cochant "Self shadowing only" sur le cube et la meme texture au reste sans cocher "Self shadowing only" et ca semble marcher.
Et donc éteindre l'ao dans les prefs de rendu

Sir Gong
14/03/2011, 15h48
J'ai bien une petite idée (si j'ai bien tout compris) mais je ne sais pas si c'est faisable dans la pratique. je m'explique:
on pourrait mettre un objet intermédiaire un (plan) entre le sol et le cube de manière à ce que l'AO soit projetté dessus et non sur le sol. Ensuite faire disparaitre cet objet de la scène, le rendre invisible en bref...
Pourquoi ne pas tester avant de balancer des hypothèses ?
Si tu ne sais pas si c'est faisable, tu fais, et ensuite t'es fixé...

C'est pas spécialement contre toi, mais il y a en ce moment sur le forum pas mal de spécialistes du "je ne suis pas sûr mais peut-être que..." qui ne mènent nulle part si ce n'est à alourdir les threads.

Donc prenez la peine d'essayer, ça évitera les fausses pistes et posts inutiles.

merci ! :ninja:

Philippe casu
14/03/2011, 15h55
laisse tomber l'idée , en fait si tu fais cela tu perds aussi l'AO des autres objets ...:icon_wip: Et ce n'est pas ce que tu souhaites de toute évidence.
EDIT je viens justement de faire un essai :icon_mrgreen::confused1: bon et bien ça marche avec "base" et pas avec moi , c'est ce que je vouslais dire .....en fait!

Onskin
14/03/2011, 17h09
base tu pourrais partager ta scène, histoire de voir comment tu as fait ? je suis curieux de la manip :)
Ca serait beaucoup plus simple si on pouvait "exclure" l'emission d'AO d'un objet sur un autre. C'est dommage.

bru
14/03/2011, 21h26
Sans baking, juste des shaders... Je précise que le cube touche le plan !


2573


La solution que j'ai décrite tout à l'heure... Avec les limitations indiquées. J'espère que cela est dans la bonne voie.

Le fichier est en pièce jointe. ;)

N.B. C'est grâce aux shaders de Rx-grafix que j'ai compris ce mécanisme il y a peu... A tout seigneur tout honneur!

Onskin
14/03/2011, 22h00
Ah oué bien joué bru, preuve en image, je vais DL ça et regarder ton astuce.
Merci en tout cas à tout le monde, trés chouette. J'espére que ca servira à d'autres.

lenogre
14/03/2011, 22h56
Astucieux ! Je n'ai jamais mis l'AO dans le canal couleur...

bru
14/03/2011, 22h56
Pour revenir à la solution de Base80, j'expérimente que lorsque "Self-shadowing - auto intersection" est coché, l'AO ne s'applique plus que depuis chaque objet vers lui-même. Cela n'a pas l'air de marcher avec un groupe. Pour que cela marche, j'ai dû connecter le sol et les poteaux pour en faire un seul objet, l'option étant cochée sur le sol ou sur les deux objets.

Cela dit, je viens aussi de vérifier que ma méthode marche avec proximal en arêtes.

@Lenogre: on peut aussi jouer avec le canal diffusion. Cela dit, tu avais raison tantôt de dire que, avec ma méthode, si les zones d'occlusion se rencontrent, il faut passer par un baking.

gillesevrard
15/03/2011, 00h29
Pourquoi ne pas tester avant de balancer des hypothèses ?
Si tu ne sais pas si c'est faisable, tu fais, et ensuite t'es fixé...

C'est pas spécialement contre toi, mais il y a en ce moment sur le forum pas mal de spécialistes du "je ne suis pas sûr mais peut-être que..." qui ne mènent nulle part si ce n'est à alourdir les threads.

Donc prenez la peine d'essayer, ça évitera les fausses pistes et posts inutiles.

merci ! :ninja:

Une hypothèse est je crois faite pour être vérifiée et pas seulement par celui qui l'emet. Tout ceux qui la trouve intéressante peuvent la tester. C'était juste une idée que j'avais donnée juste pour la circonstance le but étant d'aider.
Ce qui est aujourd'hui une "fausse piste", une perte de temps et des "posts inutiles" peuvent demain faire gagner du temps et éclairer des lanternes.
Je sais pas pour vous mais pour moi il n'est bon de ne pas rejeter une hypothèse avant de l'avoir essayer.
Qui ne risque rien n'a rien dit-on.
Je la vérifirais mon hypothèse. merci pour la suggestion.

merci! :ninja: