Auteur Sujet: problème de mapping, ou je ne sais quoi...  (Lu 10309 fois)

0 Membres et 1 Invité sur ce sujet

bonjour!

voilà, nouveau problème...

j'au un shader dynamique qui devra réagir à l'éclairage (l'intensité) que son objet au quel il est attaché recevra. en gros et pour faire simple, j'au un oeil, représenté par une demi sphère, et l'éclairage devra faire réagir sa pupille (+ ou - myosis ou mydriase).
Bon ça c'est pour le contexte.

mon soucis est le suivant, le shader testé sur un carré (uv map carré) affiche bien au centre du carré la pupille.
le mapping de ma demi sphère pour le rendre compatible avec ça, est représenté comme ceci ... (voir images jointes)

le shader est représenté comme ceci... (voir image jointe) l'image n'est pas à sa taille réelle, mais c'est juste pour vous faire comprendre que l'iris, la pupille, ... sont centrés au milieu de la texture dynamique pour aller avec l'uv mapping de ma sphère qui elle aussi centre le sommet de celle-ci.

sauf que voilà, au rendu j'ai du blanc...
je me dis qu'il doit y avoir un problème d'uv, mais je ne vois pas où... ma logique semblait bonne à la base.

j'aurais pu passer par une texture intermédiaire pour afficher l'iris ensuite transmettre cette texture à l'oeil, mais si je fais cela je ne pourrais pas connaitre l'intensité de mes lumières sur mon oeil. c'est pour cela que je veux afficher directement la procédurale pour faire les calculs de la taille des pupilles en temps réel.



Pour vérifier si c'est un problème d'UV, une astuce simple :
- pour commencer assure-toi que ton shader est utilisé, par exemple en lui faisant renvoyer du rouge ;
- une fois que c'est vérifié, colore en fonction des coordonnées de texture, par exemple avec (à adapter selon comment tu récupères tes coordonnées de texture) : gl_FragColor = vec4(gl_TexCoord[0].st, 1., 1.);
- à toi de déduire de la couleur obtenue si tes UV sont correctes (tu devrais avoir un gradient entre des coins bleu, magenta, cyan et blanc, et l'emplacement de la pupille devrait être prune.

A part ça, vu que c'est le logo de BeautyPi que tu as pris, tu pourrais aussi bien prendre le shader qui a servi à le générer et l'adapter. :)
https://www.shadertoy.com/view/lsfGRr

merci, j'ai résolu le problème, ça venait de gl_FragCoord, je ne l'avais pas vu. bref.
pour le shader c'est ce que j'avais fait.

je l'avais pris ici moi. http://glsl.heroku.com/


Ah oui ok j'avais compris que tu passais par une texture, ok. :)
Ça donne quel résultat alors ?

Pour aller plus loin : http://www.iryoku.com/open-your-eyes

mais je ne suis pas encore satisfait, le bord de l'iris est trop noir, je pense que je vais ajouter une texture par dessus pour la partie blanche (vaisseaux sanguins, ...)
et quand je vois le lien que tu as mis, je n'en est pas encore là je crois, je le regarderais ce soir... si il y en a qui veulent améliorer l'oeil avec moi, je vous filerais le shader modifier ce soir... là je dois partir

Quelques images pour référence :
http://www.flickr.com/photos/yeissongomez/5175337011/#lightbox/
http://www.flickr.com/photos/gemmabou/5381430420/#lightbox/
http://www.flickr.com/photos/kushdarkroom/4041884778/#lightbox/

Il y a certes le noir, mais aussi la transition entre le blanc et l'iris qui me semble trop brutale. Le blanc est aussi beaucoup trop lumineux : même complètement éclairé, un œil n'est pas aussi blanc.

Je crois que tu as une des faces qui a des coordonnées cassées sur l’œil droit.

oui il y a un soucis sur 2 ou .. triangles avec l'uv, mais je ne sais pas pourquoi...peut être un soucis à la conception...

j'ai refais l'oeil en me basant sur cette image, et ça donne ça...

pour le blanc je n'ai pas encore fait, je pense comme je disais y mettre une texture toute faite... à voir.

mais j'ai du mal à obtenir plus de réalisme, il faudrait être plus calé en équation peut être.

et il faudrait que je vois ce que ça donne avec l'intensité de la lumiere qui agit sur les "fibres" (couleurs + ou - foncés ) peut être. en plus que la pupille.

des idées?

ça m'énerve, ça fait trop peinture!

Bonjour,

Lorsque je vois le modèle du visage et la qualité de l'oeil, je trouve que le contraste est très fort. Disons que l'oeil, c'est pas une grande surface visible et pourtant il a une grande qualité (par rapport au reste du modèle) et personnellement, je trouve cela un peu dommage (le modèle gache/réduit la qualité du travail sur l'oeil).
Mis à part cette remarque, il me semble que l'oeil ne prend pas la lumière comme un objet quelconque et que pour faire quelque chose de réaliste avec la lumière, je pense qu'il faut ajouter une cubemap pour créer un reflet de la scène alentour.
Je me suis regardé dans le miroir (ouep, je trouve d'autres yeux dans le coin) et je remarque deux choses :
- le reflet de la lumière ne couvre pas une aussi grande zone que ce que vous faites. Il y a un reflet dans la partie noir, et un autre dans le coin de l'oeil (simulable, je pense, en utilisant deux sphères pour le calcul des normales (ou alors une normal map pour simuler la même chose) ;
- le reflet est plat/parfait (donc, ne pas utiliser de normal map ou diffuse map comme vous l'avez fait dans la première capture de l'oeil bleu).

EDIT : je ne pense pas que la lumière est une importance sur les fibres, car c'est la cornée qui capture tous les reflets de lumières. Enfin ... peut être que je me trompe.

tu parles de qualité de texture pour le perso? ou qualité "polygonales"?
si c'est texture c'est normal, je ne m'y suis pas encore penché.

ensuite réduire l'effet spécular (enfin... augmenter sa valeur quoi) c'est noté!

par contre pour la cubemap, pour l'instant n'ayant aucun environnement autour, le mieux que j'ai a refléter sont des nuages?

je n'ai pas bien compris ton histoire de normal map... tu me dis qu'il faut, et après qu'il ne faut plus??? ni même cette histoire de sphère...

après quelques modif, j'ai ça.

quand je vois la photo , on dirait bien qu'il y a un effet de bump sur le specular, je ne sais pas si ça vient de l'appareil qui permet de faire ces photos, ou si c'est la cornée qui est comme ça


A ça commence à être pas mal du tout ! C'est bien joué l'espèce de jonction vers le pourtour de la pupille. Le tout manque peut-être un poil de saturation, mais c'est peut-être la photo qui est trop saturée au contraire. En tout cas ce n'est que du détail.

Tant que tu en es à jouer avec le shader de IQ, il a un bug que tu pourrais corriger au passage : la discontinuité à gauche.
On voit le bug apparaître à ce moment de l'écriture : http://www.youtube.com/watch?v=emjuqqyq_qc&t=6m10s#ws

Pour ce qui est du spéculaire bizarre sur la photo, je pense que ce que tu vois, c'est un projecteur avec un verre non lisse. Le reflet des cils par contre est bien régulier.

je vais essayer avec n peu de saturation quand même pour voir... la je rebosse la gestion du collada, pour le multi texture afin de gérer le reflet sur la cornée pour voir ce que ça donnera par la suite...

j'aimerai essayer aussi d'en faire un plugin pour blender, 3dsmax... mais moi et blender....




saturation:
original, sat = 1.4 sat = 1.8

du contraste non? pour donner un peu de profondeur aux filaments de l'iris...

voilà ce que ca donne, je n'arrive pas à appliquer un cube mapping sur la cornée (trop transparente, mais surtout, je n'ai qu'une infime partie de la facette du cube) et je n'ai pas réussi a obtenir cet effet de transition entre l'iris et le blanc... c'est trop "dure" comme transition.

des avis? (il y a une vidéo aussi)