Divinity: Original Sin 2 hat ein wunderschönes durchsichtiges System. Wenn ich hinter Wände gehe, erscheint eine Splash-Maske und wenn ich mich im Spiel bewege, ändert sie sich. Es ist wie ein Überblendungs-Shader und hat einen Metaball-Effekt.
Wie kann ich diesen Effekt replizieren und eine dynamische Splash-Maske erstellen, wenn Spieler hinter Mauern gehen?
Über dieses YouTube-Video können Sie den gewünschten Effekt in Bewegung sehen .
unity
shaders
graphic-effects
Seyed Morteza Kamali
quelle
quelle
Antworten:
Maskierung
Um diesen Effekt zu erzielen, können Sie Objekte mit einem Schablonenpuffer maskieren.
Maskenschablone:
Wandschablone:
Lassen Sie uns implementieren.
benutze dies als Maske:
benutze dies als Wand:
Wirkungsanalyse
Wenn Sie eine prozedurale Textur haben möchten , benötigen Sie einige Geräusche.
Um diesen Effekt zu erzielen, verwenden Sie anstelle der UV-Koordinaten die Polarkoordinaten und stellen Sie sie dann auf die Rauschtextur ein.
Eine andere Lösung verwendet Worley Noise:
Sie können diesen Shader in ShaderToy sehen
Metaball
dann füge ich den Metaball-Effekt aus diesem Artikel hinzu :![img](https://user-images.githubusercontent.com/16706911/34577587-e25a5f56-f196-11e7-86bf-15e4d71c3b58.png)
Bill einsteigen
es gibt mehr...
Wenn Sie Ihre Maske drehen, um Ihre Kamera zu schauen, können Sie Bill Board :
Dies ist die Maske mit Bill Boarding:
Endergebnis:
Quelle ist verfügbar: https://github.com/smkplus/Divinity-Origin-Sin-2
Nützliche Links
Ich habe ein gutes Tutorial gefunden, das diesen Effekt durch Auflösen der Welt implementiert hat:
Die Welt auflösen Teil 1
Die Welt auflösen Teil 2
Ein weiteres Schablonen-Tutorial:
Schablonen-Tutorial
quelle