[RESOLU]Superposition de mesh: Stencil Buffer - Amplify

Questions à propos du scripting Shader.
Diayz
Messages : 6
Inscription : 23 Fév 2019 16:03

[RESOLU]Superposition de mesh: Stencil Buffer - Amplify

Message par Diayz » 23 Fév 2019 19:25

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

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 5376
Inscription : 28 Avr 2014 11:57
Localisation : Toulouse

Re: Comment terminer cette flamme ?

Message par boubouk50 » 25 Fév 2019 10:06

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.
"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

Diayz
Messages : 6
Inscription : 23 Fév 2019 16:03

Re: Comment terminer cette flamme ?

Message par Diayz » 21 Mars 2019 18:24

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

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 5376
Inscription : 28 Avr 2014 11:57
Localisation : Toulouse

Re: Comment terminer cette flamme ?

Message par boubouk50 » 21 Mars 2019 18:34

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.
"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

Diayz
Messages : 6
Inscription : 23 Fév 2019 16:03

Re: Comment terminer cette flamme ?

Message par Diayz » 21 Mars 2019 21:45

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 ^^

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 5376
Inscription : 28 Avr 2014 11:57
Localisation : Toulouse

Re: Comment terminer cette flamme ?

Message par boubouk50 » 22 Mars 2019 09:47

Pas à ma connaissance. Pas sur deux mesh séparés. En shader, tu peux superposer 2 textures sinon.
"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

Diayz
Messages : 6
Inscription : 23 Fév 2019 16:03

Re: Comment terminer cette flamme ?

Message par Diayz » 22 Mars 2019 13:30

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.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 5376
Inscription : 28 Avr 2014 11:57
Localisation : Toulouse

Re: Comment terminer cette flamme ?

Message par boubouk50 » 22 Mars 2019 14:31

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 ;-)
"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

Diayz
Messages : 6
Inscription : 23 Fév 2019 16:03

Re: Comment terminer cette flamme ?

Message par Diayz » 26 Mars 2019 20:35

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 !

Répondre

Revenir vers « les Shaders »