HDRPでShadow Catcherを使いたい

Unity 3DCG
更新2021/11/03
透明だけど影を受けるオブジェクト。そして自らの影を落とさないオブジェクト。

#Shadow Catcherを使いたい

Unity標準では透明なオブジェクトは影を受けないようになっていて、これはゲームを作る上では普通な感じがします。
ただ、AR表現をしたいときとかは透明だけど影を受けるオブジェクト。そして自らの影を落とさないオブジェクトが欲しくなる

C4Dだとシャドウキャッチャーと呼ばれるようなやつ。

標準のパイプラインであれば高橋先生のShadowDrawer が使えそうだけどHDRPでは動かなそう。
でもIssueにHDRP対応についての議論あって、そこでフォーラムで出た解決方法がリンクされてる。https://github.com/keijiro/ShadowDrawer/issues/10


# やりかた


1. UnlitなShaderGraphを作って、Fragmentを選択した状態のインスペクタからShadow Matteのチェックを入れる。
2. Alphaをゼロにする
3.このShaderGraphを適応したマテリアルのSurfaceTypeをTrahsparrentにする
4.このマテリアルを適応したオブジェクトが自身の影を落とさないようにMeshRendererから影を落とさないようにする。

# 結果

書いた人/このブログについて

サーバーサイドエンジニア。お仕事ではRubyとPerl。趣味ではC#やHLSLなどを少しと、3DCGでPythonをごまかしながら使う感じ。Unityとインフラ周りも好き。

自分の備忘録もGoogle検索に任せたくてこのブログ書いてる。Phoenix製でEC2上で稼働中。