■はじめに
UnityでShaderGraphを利用して、こんな感じのやつを作れます
物陰に隠れたら、隠れた部分が円で描画される感じの表現ができます
これのことを ステンシルバッファ(Stencil Buffer) っていうらしいです
■紹介
●ShaderGraph
・画像アスペクト比調整
詳しくは記事の一番下の参考サイトからどうぞ
・円形パターン作成
円模様作ってます。参考サイトでは、白黒チェッカー柄の柄で表現していました。
お好きな表現でいい感じに作ってみてください。
色調整
一応色も変更できますが、前面のオブジェクトに透明箇所があると、このように透明箇所にも適用されてしまいます。
改善案あればぜひ教えてください!
●Renderer2D
URPプロジェクト作成時に自動的に生成されるSettingsフォルダ内のRenderer2Dで色々いじります。
最終的なのはこんな感じです
なんか項目いっぱいあってわけわからんと思うので、解説します
-
一番下のAdd Renderer Featureってのをクリックして、RendererObjectってのを2回選択して追加する
-
追加したやつにそれぞれ名前を付けて、前面のオブジェクト用のやつには
BeforeRenderingOpaques
ってのを選択して、後面用にはAfterRenderingTransparents
ってのを選択する
(※ほかのシェーダーとかとの併用とか、その他諸々で描画順が異なってくるので、実際に試しながら適当に決めてください)
-
その下のFiltersってとこを開いて、
LayerMask
に適用したいLayerをそれぞれ追加する -
Overrideってところを開いて、後面用の方の
OverrideMode
をMaterial
に変更して、さっきのShaderGraphのマテリアルを適用
■さいごに
ちょっとめんどいけど、ShaderGraoh使えば結構リッチになるからいいよね
●参考