マテリアルに映り込むモデルをカメラに映らないようにするには
http://www.youtube.com/watch?v=4UX982DYlKk&hd=1
今回は、あるモデルのマテリアルへと映り込むモデルが、カメラには映らないようにする方法をご紹介します。ちょうど、鏡に人型が映っているものの、実際その場所をカメラが映すと何も存在していないといったようなパターンです。
サンプルとして、シーンには地面となる平面、それに周りを映り込ませるピカピカの球体を用意します。さらにこの球体を回り込むように、キャラクタを配置します。キャラクタは球体を回り込むように何体も作りたいので、アイテムモードに切り替え、ラディアル配列からレプリカラディアル配列をクリックします。この、ラディアル配列とは放射状にアイテムを複製する機能ですが、レプリカラディアル配列はリプリケータを使用して複製を行います。
デフォルトではリプリケータはバウンディングボックスで表示されますが、形状で確認したい場合には、ショートカットキーのOのキーで表示とコントロールからリプリケータを選択にしておきます。
レンダータブのプレビューで確認してみると、球体にキャラクタが映り込んでいるのがわかります。
このキャラクタの映り込みはそのままで、キャラクタ自体を消すには、まずシェーダツリーのレイヤー追加から、グループを追加します。これで新たなマテリアルグループが作成されました。このマテリアルグループでキャラクタのアイテムだけに影響を与えたいので、テクスチャレイヤータブのアイテムに、このキャラクタアイテムを指定します。これでキャラクタアイテムだけに影響を与えるマテリアルグループが出来ました。マテリアルグループの基本的な使い方については「マテリアルの影響範囲を決めるには」について解説していますので、そちらをご覧ください。
次に、このマテリアルグループの中にシェーダを作成し、カメラに映り込ませないという設定を行います。レイヤー追加 > 特殊 > Shaderを追加します。テクスチャレイヤータブにはカメラを可視というオプションがあります。このオプションがカメラに映らなくするための設定ですので、このオプションをオフにします。
ですが、この状態だとまだ変化は起こりません。これは新たに作ったマテリアルグループがシーン全体のシェーディングをコントロールしているBase Shaderの下にあるからです。シェーダツリーは下から上へと向かって効果を重ねていきますので、新たに作ったシェーダでカメラから見えない設定にしていても、その上にある、つまり後から適用するBase Shaderで全てのマテリアルがカメラから見える設定にしてあれば、そちらの効果で上書きされてしまいます。
このため、新たに作ったマテリアルグループごと、Base Shaderの上へとドラッグして移動させます。そうすると、カメラからはキャラクタが見えなくなりました。しかしキャラクタの影などは依然映ったままですので、もう一度シェーダを選択し、「影を落とす」さらに「間接レイに可視」のオプションも同時にオフにします。これでキャラクタはシーンに存在し、球体に映り込みますが、カメラからは見えない状態となります。
MODO 701ではさらに便利なようにアイテムシェーダという機能が用意されています。アイテムリストの中でこのキャラクタを選択し、右クリックからアイテムシェーダの作成をクリックし、先ほどと同様の設定を行えば、シェーダツリーでBase Shaderよりも上へ移動させるといった手間をかけることなく、アイテム単位のシェーダを追加していくことができます。
この機能を利用すると、例えば大域照明に利用するようなメッシュによる照明を追加したい場合にも、存在しているけれどもカメラには映らないという効果を実現できるようになります。