Divinité: Péché Originel 2 possède un magnifique système transparent. Lorsque je passe derrière les murs, un masque anti-éclaboussures apparaît et lorsque je me déplace dans le jeu, il change. C'est comme un shader à dissoudre, avec un effet de métaballage.
Comment puis-je reproduire cet effet, en créant un masque de démarrage dynamique lorsque les joueurs vont derrière les murs?
Vous pouvez voir l'effet souhaité en mouvement via cette vidéo YouTube .
unity
shaders
graphic-effects
Seyed Morteza Kamali
la source
la source
Réponses:
Le masquage
Pour créer cet effet, vous pouvez masquer des objets à l'aide d'un tampon de gabarit.
Masque pochoir:
Pochoir Mural:
Mettons en œuvre.
utilisez ceci comme masque:
Utilisez ceci comme mur:
Analyse d'effet
Si vous voulez avoir une texture procédurale , vous avez besoin de bruits.
vous pouvez voir ce shader dans ShaderToy .
Pour obtenir cet effet, au lieu d'utiliser les coordonnées UV, utilisez les coordonnées polaires, puis réglez-le sur la texture de bruit.
une autre solution utilise le bruit de l'internet:
vous pouvez voir ce shader dans ShaderToy
Metaball
puis j'ajoute l'effet metaball de Cet article :
Facture d'embarquement
il y a plus...
Si vous voulez faire pivoter votre masque, pour regarder vers votre caméra, vous pouvez utiliser Bill board :
Voici le masque avec Bill Boarding:
Résultat final:
la source est disponible: https://github.com/smkplus/Divinity-Origin-Sin-2
Liens utiles
J'ai trouvé un bon tutoriel qui implémente cet effet en dissolvant le monde:
Dissoudre le monde Partie 1
Dissoudre le monde, partie 2
Un autre tutoriel sur les pochoirs:
Tutoriel sur les pochoirs
la source