bonjour,
Comment à partir du noeud Rectangle du Shader Graph réaliser ce genre de carré avec un dégradé de couleur noir vers blanc?
cf image :
Je me sers de cette image pour créer un mask en dégradé le + continu possible:
+ on se rapproche du centre du mask,ce dernier cache
+ on s'éloigne du centre du mask,,lce dernier cache moins
Au besoin,j'inverse les couleurs avec le noeud One Minus
Ce tuto ne résout pas mon problème:
https://abbabon.github.io/2020-07-22-sh ... -gradient/
merci de votre aide
carrés concentriques avec dégradé de couleurs noir vers blanc
- Kaloverian
- Messages : 345
- Inscription : 10 Août 2016 03:03
- boubouk50
- ModoGenereux
- Messages : 6246
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: carrés concentriques avec dégradé de couleurs noir vers blanc
Mathématiquement, ton shader est un dégradé linéaire vers le centre : fonction du premier degré sans constante. Centre = 0.5. Bords = 0 ou 1.
Il a une symétrie verticale, horizontale et centrale :
f(x) = Clamp01(Abs(x-0.5) * 2) <- Symétrie horizontale par le centre 0.5 entre 0 et 1.
f(x) = Clamp01(Max(Abs(x-0.5), Abs(y-0.5)) * 2) <- Symétrie centrale par le centre 0.5 entre 0 et 1 selon les diagonales (non circulaire).
À partir d'ici, il faudra définir les steps pour avoir un effet d'escalier. En fonction du résultat voulu, il faut multiplier par un entier et prendre la valeur entière.
f(x) = Round (nbStep * Clamp01(Max(Abs(x-0.5), Abs(y-0.5)) * 2)) / nbStep.
Maintenant, il n'y a plus qu'à mettre ça en shader.
Il a une symétrie verticale, horizontale et centrale :
- fonction symétrique par le centre 0.5 -> Absolu
- 2 coordonnées x et y identiques
f(x) = Clamp01(Abs(x-0.5) * 2) <- Symétrie horizontale par le centre 0.5 entre 0 et 1.
f(x) = Clamp01(Max(Abs(x-0.5), Abs(y-0.5)) * 2) <- Symétrie centrale par le centre 0.5 entre 0 et 1 selon les diagonales (non circulaire).
À partir d'ici, il faudra définir les steps pour avoir un effet d'escalier. En fonction du résultat voulu, il faut multiplier par un entier et prendre la valeur entière.
f(x) = Round (nbStep * Clamp01(Max(Abs(x-0.5), Abs(y-0.5)) * 2)) / nbStep.
Maintenant, il n'y a plus qu'à mettre ça en shader.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation