0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Unity】ShaderGraph(2D)でステンシルバッファってのを作る

Last updated at Posted at 2023-09-12

■はじめに

UnityでShaderGraphを利用して、こんな感じのやつを作れます

image.png

物陰に隠れたら、隠れた部分が円で描画される感じの表現ができます
これのことを ステンシルバッファ(Stencil Buffer) っていうらしいです

■紹介

●ShaderGraph

・画像アスペクト比調整

image.png
詳しくは記事の一番下の参考サイトからどうぞ

・円形パターン作成

image.png
円模様作ってます。参考サイトでは、白黒チェッカー柄の柄で表現していました。
お好きな表現でいい感じに作ってみてください。

色調整

image.png
透明度とか色とか。

一応色も変更できますが、前面のオブジェクトに透明箇所があると、このように透明箇所にも適用されてしまいます。
image.png
改善案あればぜひ教えてください!

●Renderer2D

URPプロジェクト作成時に自動的に生成されるSettingsフォルダ内のRenderer2Dで色々いじります。
image.png

最終的なのはこんな感じです
image.png
なんか項目いっぱいあってわけわからんと思うので、解説します

  1. 一番下のAdd Renderer Featureってのをクリックして、RendererObjectってのを2回選択して追加する
    image.png
    image.png

  2. 追加したやつにそれぞれ名前を付けて、前面のオブジェクト用のやつにはBeforeRenderingOpaquesってのを選択して、後面用にはAfterRenderingTransparentsってのを選択する
    (※ほかのシェーダーとかとの併用とか、その他諸々で描画順が異なってくるので、実際に試しながら適当に決めてください)
    image.png

  3. その下のFiltersってとこを開いて、LayerMaskに適用したいLayerをそれぞれ追加する

  4. Overrideってところを開いて、後面用の方のOverrideModeMaterialに変更して、さっきのShaderGraphのマテリアルを適用
    image.png

  5. 前面の方はこんな感じに設定
    image.png

  6. 後面の方はこんな感じに設定
    image.png

■さいごに

ちょっとめんどいけど、ShaderGraoh使えば結構リッチになるからいいよね

●参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?