影だけを受ける地面の配置
- Dynamic Shadow Projector(Free)をAsset Storeで購入
- 地面に相当するPlaneを配置し、Z Writeのみ行うShaderを書いて割り当て
- CameraのRender PathをForwardにする
Dynamic Shadow Projector
https://assetstore.unity.com/packages/tools/particles-effects/dynamic-shadow-projector-35558
これを使用することで、地面にProjectionの影を落とすことができる。
Unity 2017/2018では、Unityの標準であった「Projector」はなくなった(いつ消えたかは不明)。
Dynamic Shadow Projectorの使い方は以下。
- EmptyのGameObjectをシーンに作成し、「ShadowProjector」という名前にする。
- 「ShadowProjector」のGameObjectにComponentとして「Draw Target Object」を追加。
Projector/Shadow Texture Render/Draw Target Objectが追加される。
- Draw Target Objectの「Target」に影を落とす形状(複数の場合は親のGameObject)を指定
- Materialを作成し、「DynamicShadowProjector/Projector/Mipmapped Shadow」のShaderを割り当て
- Materialパラメータの「Shadow Darkness」で影の濃さ、「Ambient」で影の環境光の強さを調整
- 作成したMaterialを「ShadowProjector」の「Projector」のMaterialに割り当て
- 「ShadowProjector」を移動/回転して投影位置に移動
- 平行投影させる場合は「ShadowProjector」の「Projector」の「Orthographic」をOnにする
- シャドウマップサイズを調整する場合は、「ShadowProjector」の「Shadow Texture Renderer」のTexture Width/Heightを調整する。
これで、地面がある場合は影が落ちる。
なお、これを使用する場合は、Directional Lightの影はOffにしておくほうがよさそう。
地面に相当するPlaneを配置
最終更新時間:2019年02月03日 21時17分24秒