PDA

Voir la version complète : Résolu Shader Effector / mode de Modification des Clones



Gyom
12/05/2011, 12h18
Bonjour a tous !

apres de nombreux tests et recherches sur le web (et dans la doc ;) )
je ne trouve pas la methode utilisee par le Shader Effector pour 'Modifier les clones'... je m'explique :

- un Cloner avec 10 enfants en mode 'Sort' et utilisant un plan comme Objet de clonage
- un Shader Effector pour 'Modifier les Clones'

CAS 1 :
quand j'utilise une image en noir et blanc avec des zones de divers niveaux de gris (chaque valeur de gris est un multiple de 10%)
et j'ai bien la coherence entre la valeur de gris et la position du de l'Enfant dans le Cloneur

MAIS ! CAS 2 :
si je retire quelques valeurs de gris dans l'image servant a mon Shader Effector :
j'ai par exemple du 70% de noir, 30%, 20% et 10%
et plus de valeur de gris de 100%, 80%, 60%, 50% et 40%

on dirait que le Shader refait un etalonage des valeurs de gris : l'enfant du Cloner qui etait attribue a la valeur de 30% dans le CAS1 n'est plus le meme dans le CAS2

question subsidiaire :
quid de la gestion des images couleurs VS images en niveaux de gris pour le Shader Effector ?

bref... je continue a essayer de comprendre

valkaari
12/05/2011, 15h53
Tu utilises une image ou un texture procédurale ? (autant je trouves le résultat direct avec l'image autant avec la procédurale, j'ai parfois du mal à comprendre)

Sinon regarde du coté de l'effecteur, par défaut il est à 0%100%. Il faut peut être le mettre à -100%100%

Gyom
12/05/2011, 16h26
Salut Val ;)

precisemment dans mon projet, j'utilise des images bitmap pour 'piloter' tel clone a tel endroit

et finalement, au lieu de generer plusieurs sous-map (avec des 'palettes' differentes qui utilisent moins de niveaux de gris) pour ne faire appel qu'a certains enfants de mon cloneur initial,
j'utilise la meme map avec tous les niveaux de gris, mais je remplace les enfants que je ne veux pas utiliser par des null et le tour est joue

n'empeche que j'aimerais bien comprendre comment c'est gere en detail...

(wow... c'est bizarre a relire ce que viens d'ecrire... mais c'est pourtant ca que je veux dire ! lol)
... j'espere avoir le temps de faire un petit making-of apres mon projet pour que ca deveinnent limpide pour tout le monde ;)

en attendant, voila en images la situation :
- une images des maps (la premiere a gauche utilise tous les niveaux de gris, celles de a suivre utilisent seulement certains niveaux
- l'utilisation de la map principale sur ma scene

[edit : j'ai teste avec d'autres valeurs que 0/100%... mais c'est encore moins logique dans ma petite tete !]

tabou
13/05/2011, 16h07
Salut Gyom,

Je ne comprends pas bien ton problème, je viens de faire un essai : j'ai mis les chiffres de 0 à 9 dans un cloneur et le shader effector affiche bien les clones correspondants au niveau de gris choisi : noir = 0 et blanc = 9. J'ai animé le paramètre luminosité de l'effet filtre dans le canal luminescence de la texture et ça marche : quand on lance l'animation les cloneurs changent en fonction de la luminosité des zones de l'image et chaque chiffre reste bien associé au niveau de gris correspondant.

Le fichier : shader_effector.zip (http://tabou.free.fr/tabou/2011/shader_effector.zip)




http://tabou.free.fr/tabou/2011/capture-179.png

Gyom
13/05/2011, 17h02
Bonjour Tabou :)

Effectivement
Cas 1 : quand on a le meme nombre pour les enfants que de nuances de gris, le lien est assez évident

Par contre,
Cas 2 :
Si tu enleves des enfants de ton cloneur,
Quelles sont les niveaux de gris a enlever de la map pour que les enfants restants soient au meme endroit qu'ils occupaient dans le cas 1 ?

J'en arrive a me dire que c'est une sorte de RangeMapper avec d'un cote un nombre d'enfants et de l'autre un nombre de nuances et qu'un calcul de proportionnalité se fait ... Et selon l'arrondi de la virgule le cloneur redistribue ses enfants

Du coup dans mon projet
La solution semble bien de mettre des nulls a la place des enfants a enlever sans toucher aux autres et sans toucher a la map

Nanane
13/05/2011, 17h11
Coucou tout le monde !

Je crois que tu as trouvé la source de ton problème ^^
Effectivement, c'est comme un range mapper (enfin si tu mets 100% en modification des clones dans l'effecteur)
Quoi que tu choisisse comme paramètre dans le shader effector, c'est une valeur avec un min et un max, la modification des clones fait correspondre cette valeur a un index, et hop ! ca te donne ton clone :)

Mais normalement sans enlever d'enfants, ca devrait fonctionner, donc pas besoin de nulls a priori.
A moins que C4D ne retranscrive l'échelle de nuances de gris ("0" correspondra a la valeur min de gris dans l'image, et "1" a la valeur max)
Si c'est le cas l'astuce (dite méthode viking) réside peut être à laisser un pixel blanc, et un pixel noir dans ton image...

Gyom
13/05/2011, 17h45
Cool :)
Merci nanane !
... Ça me rassure ... Meme sans dormir je garde des neurones actifs ;)

[edit : et merci aussi pour le coup des deux pixels... j'aime bien les methodes sioux... ca entrene jutse le risque d'avoir un clone qui se glisse... et donc de borner par deux nulls la hierarchie des enfants du cloneur]