!!!影だけを受ける地面の配置 * 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を配置 ---- {{lastmodified}}