Page 1 sur 1

[RESOLU]Superposition de mesh: Stencil Buffer - Amplify

Publié : 23 Fév 2019 19:25
par Diayz
Bonjour ! Je viens chercher de l'aide pour finir mon effet :p
(Au cas où, j'utilise HDRP et Shadergraph)

Cette flamme est composée de 2 meshes comme vous pouvez voir sur l'image
- Un coeur avec une texture alpha rouge qui effectue un scrolling vertical.
- Une coquille avec une texture alpha jaune qui effectue aussi un scrolling vertical.

Mon soucis est le suivant:

Si c'est possible, comment faire en sorte que le jaune apparaisse sur le rouge ? (ainsi sa grosse coquille disparaît)

ou

Est-il possible de faire disparaître tout le jaune qui dépasse du rouge ?


Image

Re: Comment terminer cette flamme ?

Publié : 25 Fév 2019 10:06
par boubouk50
Salut,
Pour faire apparaitre le jaune au dessus du rouge, tu peux multiplier la couleur du rouge par l'alpha du jaune avant de l'additionner à la couleur du jaune.
Pour n'utiliser que la zone rouge en tant que zone visible, il te faut multiplier l'alpha du jaune par l'alpha du rouge.

Re: Comment terminer cette flamme ?

Publié : 21 Mars 2019 18:24
par Diayz
Merci de ton aide ! J'ai essayé différentes manières mais comment puis-je faire le lien entre ces 2 différents shaders sous shadergraph ? J'ai essayé en passant par subgraph mais je me retrouve avec des résultats plutôt mystérieux et qui surtout ne semble pas aller dans la bonne direction :p

Re: Comment terminer cette flamme ?

Publié : 21 Mars 2019 18:34
par boubouk50
Désolé, c'est moi qui étais mal réveillé... (ou bien as-tu édité?)
Je pensais qu'il s'agissait d'un shader unique sur un mesh. C'est donc pas applicable pour ton cas. Désolé.
Pour le faire en shader, il faudrait n'utiliser que le mesh rouge et faire apparaitre le jaune par dessus.

Re: Comment terminer cette flamme ?

Publié : 21 Mars 2019 21:45
par Diayz
Non je n'ai pas édité :p,
Donc si je comprend bien, mon soucis n'est pas corrigeable en shader ?
Je vais explorer une autre solution. Merci de ton aide ^^

Re: Comment terminer cette flamme ?

Publié : 22 Mars 2019 09:47
par boubouk50
Pas à ma connaissance. Pas sur deux mesh séparés. En shader, tu peux superposer 2 textures sinon.

Re: Comment terminer cette flamme ?

Publié : 22 Mars 2019 13:30
par Diayz
Je ne peu pas superposer sur le même mesh étant donné que le core est en forme d'étoile pour avoir 10 faces/alpha, c'est ce qui donne la forme des flammes rouges sur le core. Le problème est vraiment de ne faire apparaître que le jaune qui superpose le rouge, la forme de la texture sur la coquille jaune est importante dans le visuel.

Apres quelques recherches, j'ai découvert qu'il existe des masques (ça me rappel un peu photoshop).
Il me sera peut être possible, en utilisant les layers, de masquer tout ce qui dépasse du rouge et de n'afficher que ce qu'il y a entre la caméra et le core dans la zone du core.

Si vous avez une idée de recherches ou de la doc sur le sujet, je suis preneur :p.

Re: Comment terminer cette flamme ?

Publié : 22 Mars 2019 14:31
par boubouk50
Diayz a écrit :
22 Mars 2019 13:30
Si vous avez une idée de recherches ou de la doc sur le sujet, je suis preneur :p.
Moi aussi ;-)

Re: Comment terminer cette flamme ?

Publié : 26 Mars 2019 20:35
par Diayz
Salut ! J'ai enfin résolut mon soucis, ce n'est pas exactement ce que j'imaginais mais j'ai utilisé le stencil buffer (après quelques jours de galère). Ca permet de faire des merveilles :)
Et pour couronner le tout, c'est facilement mis en place grâce à amplify shader qui fait tout le code à notre place !