特定のモデルにライトをあてないようにするには
http://www.youtube.com/watch?v=w9FxeUehIVI&hd=1
今回は特定のモデルに対してだけ、ライトの影響を与えないようにする方法をご紹介します。
このサンプルとなるシーンには、赤・緑・青のスポットライトがあたっています。どのメッシュに対しても、この3色のライトがあたっているのがわかります。
ではこの立方体、円錐、円柱に対して、緑色のライトが当たらないように設定していきましょう。まずはこの3つのアイテムを複数選択します。次にグループタブへと移り、新規グループのボタンをクリックします。LightGroupという名称をつけておきましょう。
次に緑色のライトを選択します。プロパティを見てみると、ライトリンクをコントロールというボタンがあります。これがこのライトによって影響を受けるモデルをコントロールするためのオプションです。このオプションをオンにし、先ほど作成したグループを、アイテムグループのポップアップから選択します。モードを含まないに設定してみると、LightGroupに含まれているアイテムだけに緑色のライトが当たっていないのがプレビューで確認できるようになります。
逆に、このモードを含むに変更してみると、LightGroupに含まれていた立方体、円錐、円柱だけに緑色のライトがあたり、シーン内のそれ以外のアイテムに対しては緑色のライトの影響が及んでいないことがわかります。
さらに今までは「どのオブジェクトがライトの影響を受けるのか/受けないのか」といった設定を行ってきましたが、逆の観点から「どのライトがシーンに影響を与えるのか/与えないのか」といった設定を行うこともできます。
この設定は各ライトに対して行うのではなく、シーン全体のレンダリングに対して行う設定ですので、シェーダツリーのShaderの中に機能が用意されています。Shaderを選択しプロパティを見てみると、ライトリンクという設定が用意されています。先ほどは含む/含まないに対してオブジェクトのグループを作りましたが、今回はライトのグループを作ります。
例えば、このShaderでは赤と青のライトの影響を与えないようにするには、赤と青のライトを選択し、グループタブから新規グループのボタンをクリック、適当な名称でグループを作成したら、ライトリンクのライトグループから作成したグループを設定してください。ビューポートを見てみると、このシェーダでは緑のライトの影響しか受けないようになりました。
このようにライトリンクの機能を上手に使えば、特定のモデルに対してだけライトの量を強く当てる、逆に効果を消すといった効果を演出できるようになります。