しっぽを追いかけて

ぐるぐるしながら考えています

Unity と猫の話題が中心   掲載内容は個人の私見であり、所属組織の見解ではありません

URP で Shader Graph を使って Sprite を明滅させる

※ これは 2023/04/06 時点の Unity 2022.2.13f1 の情報です

最新版では動作が異なる可能性がありますのでご注意ください

前回は URP 3D で Sprite に向きを無視してカスタムライティングした

距離に応じてライティング

今回は Shader Graph を使って Sprite の Bloom 効果を明滅させてみたい

スポンサードリンク

白猫だと Bloom が光りすぎるので Sprite 画像をこんなロボ猫に変更

ロボ猫画像

光らせる部分を境界線だけにするため、さらにこんな白縁取り画像も用意

白縁取り画像

Sprite Editor を開き、Secondaly Textures で _Emission という名前で上記の白縁取り画像を追加して Apply しておく

SpriteEditor で Secondaly Textures に縁取り画像を登録

前回使っていた SpriteLit の Shader Graph を複製し、SpriteGlow という Shader Graph を作成、いったんライティングの影響を無視するため MaterialUnlit に変更し、下記の青い部分を追加する

Shader Graph を修正

時間経過で増加する Time ノードを拾い、のこぎり状の三角波に変換する Sawtooth Wave ノードをかけて Remap ノードで出力範囲を調整、EmissionColor から引き算して暗くする処理を追加している

これでロボ猫の Sprite をこの SpriteGlow を通して表示すると・・・

境界線が明滅

境界線の部分だけ Bloom 効果が明滅するようになった!

スポンサードリンク