はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

【Unity】ShaderGraphでDissolveシェーダーを作って優勝するわね

はじめに

先日このようなものを作ってみました。

こちらのエフェクトはShaderGraphにより作成されたDissolveシェーダーというものになります。

今回はTwitterにあげた2つのシェーダーの作り方について紹介させていただければと思います。

Dissolveシェーダーの概要

Dissolveシェーダーはテクスチャや座標等の何かしらの値を参考にしながら,その値が一定以上なら非透過,未満なら透過をするというものです。

f:id:hanaaaaaachiru:20210615002111p:plain
Step関数とDissolveシェーダー

これを行うノードがStepノードというもので,これを使いこなせればDissolveシェーダーの基礎は完璧です。

f:id:hanaaaaaachiru:20210614213626p:plain
Stepノード

Step ノード | Shader Graph | 10.0.0-preview.27

1つ目のDissolveシェーダー

このDissolveシェーダーはStepノードの入力としてテクスチャを利用しています。

f:id:hanaaaaaachiru:20210614214432p:plain
Dissolve1

発光させるために少しノードが増えていますが、さほど難しいことはしていません。

追記.Textureをグレースケールにするのを完全に忘れてました。やり方はこちらに書いてあります。
https://www.hanachiru-blog.com/entry/2019/12/09/123000

2つ目のDissolveシェーダー

このDissolveシェーダーはStepノードの入力としてワールド座標のy座標を利用しています。

f:id:hanaaaaaachiru:20210614214818p:plain
Dissolve2

さいごに

Dissolveシェーダーは仕組みさえ分かってしまえばさほど難しくはありませんが、見た目はかっこいいのでオススメです。

よかったらうまく活用してみてください。

ではまた。