どうも、熊の着ぐるみを着たおじさんganmin(@muro_ganmin)です。
blenderを使ってて、地面に影を作りたい時があります。
そういう時、平面のオブジェクトを追加して影を作ると思います。
でも、後で合成とかしたいから、地面はレンダリングしたくないって時がワタシ、結構、あります。

blenderのレンダリングエンジンCyclesでレンダリングする方法
一番簡単なのは、レンダリングエンジンCyclesのシャドウキャッチャーを使う方法です。
Object Modeで追加からメッシュ→平面を地面用に追加します。

右側のレンダーの設定からRender Engineを反復(Cyclesのこと)にします。

そして、その下にあるフィルムから透過にチェックをいれます。

ここにチェックを入れるとPNG形式のRGBAでレンダリングした時、背景が透明になります。
それから、Plane(平面)を選択した状態で□のアイコン、オブジェクトの中にあるCycles設定→レイの可視性というところにあるシャドウキャッチャーにチェックを入れます。

一応、これだけで地面はレンダリングされず、影だけレンダリングされるようになります。

しかし、人物などのモデルはEeveeでレンダリングしたいのになぁということがあると思うので、次の章ではEeveeを使う方法を書いていくことにします。

blenderのレンダリングエンジンEeveeを使ってレンダリングする方法
最初、ワタシはEeveeにもシャドウキャッチャー的なモノがあるんだろうと思っていたのですが、どうも、探したが見つからない。。。

仕方ないのでノードを使って、影だけをレンダリングする方法を試してみることにしました。
まず、Cycles時と同じように適当な平面を追加してください。
そして、レンダリングエンジンを反復ではなくEeveeに。(デフォルトで立ち上げたら、Eeveeになってるとは思いますが。。。)



それはさておき、
その下にあるフィルムのアルファの設定を透過に。(これはCyclesの時、透過にチェックしたの同じことです。)

その後、Plane(平面)を選択した状態でマテリアル→新規を押して、新しいマテリアルを追加します。

ブレンドモードはアルファブレンドにしておいて下さい。

上にあるShadingのタブをクリックしてノード編集で↓の画面のように繋げていって下さい。(影を作って、透過BSDFで白っぽいトコを透明にする感じ)

このままだと輪郭がガタガタしてるので

影の設定の中にあるSoft Shadowsにチェックを入れると輪郭がぼけます。

方式はVSMの方だと影が重なったところの輪郭が明るくなる現象があるそうなので、間違ってるかもしれないが一応、VSMの方にした。

一個、作っとけば影が欲しい時、Appendでこの平面のオブジェクトを読み込むだけでいいので便利かと思います。
ライトはサンじゃないと、上手く抜けない。。。
まとめ
ワタシ自身、全然、分かってないところがあったりするのも事実ですが、この方法使えるなぁと思ったモノは忘れないように残しておくことで誰かの役に立つこともあるかと思って、今回も書いてみました。

