トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

影だけを受ける地面の配置

影だけを受ける地面の配置


  • 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秒