Blob Shadow / Fake Shadow for URP12(Unity2021)
Fake ShadowはBlob Shadowと同様にTop-DownのCast Shadowを行います.
- ScriptableRendererFeatureとしてDecalとFakeShadowPassを追加します。(DecalはURPのプリセットです)
- Decal Featureの"Technique"を"Screen Space"に、"GBuffer"を無効にします。DBufferやGBufferはサポート外です。
- Fake Shadow Pass Featureの"Character Layer"は影を落とすMeshのLayerを用意し設定します。加えてOpaque Passからは除外します。
- Decal ProjectorをSceneに追加してMaterialを"FakeShadowByDecal"にします。
Decal Projectorに"BlobShadowByDecal"またはプリセットのDecal shaderを参照するMaterialを設定し、完了です。
処理負荷の関係上Shadow Meshを別途用意することを推奨します。 Shadow Meshは1 MeshかつLow-Polygon、またWeight Boneも少なくすることが望ましいです。
- Skinned MeshをCtrl+DでDuplicateし、MeshをShadow Meshに差し替えます。
- MaterialはRuntimeで提供される為、設定は不要です。Materialの数はShadow MeshのSub Mesh数に依存します。
- Shadow MeshのGameObjectにFake Shadow Componentを追加します。
- Fake Shadow ComponentのProjectorに対応するDecal Projectorを設定します。
- Fake Shadow ComponentのShadow MeshのToggleをEnableにします。
Shadow Meshを準備できない場合、SkinnedMeshのGameObjectにFack Shadow Componentを追加します。