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.
Sie können diesen Shader in ShaderToy sehen .
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 :
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