文系の blender 4.2 レイの可視性 Ray Visibility ってなに?
cycles のレンダリング方式は、レイトレーシング(Ray Tracing)と呼ばれ、レイはレンダリングに不可欠の概念ですが、とくにわたしのような文系にはややこしく、ごく薄い理解にとどめていました。
ただ、その仕組をすこし理解できると、実用的になにかと便利なこともあります。ここでは、レイ関連の機能を、すこしだけ踏み込んでまとめてみました。
環境 Blender 4.2.0 , Mac Mini M1 OS 14.4
レイとは
レイ(Ray)とは、カメラから発せられ、現実の光とは逆方向に辿り、周囲を認識する光線のような存在。(レントゲンは X-ray )
ただ、あまり突き詰めると混乱のもととなるので、ここでは、シーンを探って調べる探査レーダーのようなものと考える。
レイには形状、影、光沢など、探査対象ごとに分担があり、オブジェクトプロパティの「レイの可視性」設定では、cycles では6種、EEVEE では2種のレイを、オブジェクトごとに一時的に無効することができ、一種のチートとして便利だ。
また、マテリアルのライトパスノード、コンポジターのライトパス、も同じ原理で、本格的なレイヤー合成にも応用できる。
Ray Visibility
オブジェクトプロパティ 可視性 > レイの可視性 で「オブジェクトごと」にレイの各機能を無効にできる。
カメラ
カメラ、影レイについては比較的わかりやすい。カメラレイは、オブジェクトそのもの(形状)を探知するレイであり、影レイは、影を探知するレイだ。
上のサンプルシーンから、リンゴオブジェクトの「カメラ」のチェックを外す。
cycles では、リンゴの上半分だけ非表示となった。後述する伝播レイは機能しているので、ガラス越しの下半分はレンダリングされる。また、よくみると、後ろのミラーボールにはリンゴは映り込んでいる。同様に後述の、光沢レイは機能しているためだ。
EEVEE では、伝播、光沢レイの選択肢がないため、リンゴはまるごと非表示になり、影のみが表示されている。
影 Shadow
上は、手前のガラスと、緑のボックスの「影」レイのチェックを外した。わかりやすく、影のみ表示されない。
ディフューズ Diffuse(cycles)
ディフューズとは、素材の内部で起こる拡散反射のこと。素材の色(ベースカラー)は、このディフューズによるもの。
緑、青のボックスオブジェクトの「ディフューズ」レイのチェックを外す。
ベースカラーじたいは非表示にはならない。すこしわかりづらいが、底面の間接光(ベースカラーを帯びている)が非表示になる。
光沢 Glossy(cycles)
素材の表面で起こる鏡面反射のこと。スペキュラー(Specular)とも呼ばれる。
リンゴ、および、緑のボックスの「光沢」レイのチェックを外した。
どちらも背後のミラーボールに写り込まなくなる。また、よくみると、リンゴに底にみられた緑色の間接光も表示されない。リンゴの表面はなめらかである程度の光沢(鏡面反射)があるので、ボックスからの緑を帯びた間接光を反射していたたためだろう。
伝播 Transmission(cycles)
伝播は、ガラスなどの透明な素材の内部で、光が屈折しながら通り抜けること。
リンゴの「伝播」レイのチェックを外した。
Light Pass
シェーダーエディターの「ライトパス」ノードを使用し、マテリアルごとに、レイの可視性同様の操作を加えることができる。
背後のミラーボールの金属マテリアルのみ非表示にする場合(レイの可視性のカメラレイ OFF と同じ)
上では、カメラレイのみ 「透過 BSDF」(カラーが100%白なので、かんぜんな透明)を適用し、そのほかのレイは、プリンシプル BSDF(金属マテリアル)を適用している。結果として、レイの可視性の操作と同じになる。
レイの可視性と異なるのは、オブジェクト単位ではなく、そのマテリアルが適用されているすべてのオブジェクトを操作できること、また、非表示のみではなく、別のマテリアルと置き換えることができることだ。
やや特殊なチートになるが、実用的にも応用範囲は広いだろう。
Render Pass
上の各レイについて、ビューポートで特定のレイのみレンダリング結果を表示することができる。
通常は、コンポジットノードで、独立したレイヤーとして出力し、加工、合成するといった、やや上級者向けの操作になるが、出力するだけでも、各レイの役割をビジュアルで確認でき、理解を深める手段にもなるだろう。
レンダーパスをビューポートで表示するには、ビューポートシェーディング画面の「レンダーパス」のプルダウンから各レイを選択する。
オプションは多いが、一例のみ紹介する。
直接光沢
光源(ここでは背景光、サンライト、右の発光マテリアル)から発せられた光の鏡面反射のみ表示する。
間接光沢
間接光(ここでは、床や、各オブジェクトに当たって跳ね返った光)の鏡面反射のみ表示される。
Composite
詳細は省略するが、コンポジットノードでレンダーパスを出力するには、
ビューレイヤープロパティ パス > ライト で必要なレンダーパスを選択
レンダリング後、コンポジットノードを表示
レンダーレイヤーノードのパス(光沢直接照明ならば、GlossDir)から接続
参考
まとめ
文系のわるいクセで、理屈を理解する能力に欠けているので、どうしても試行錯誤による経験でなんとか乗り切ろうとしがちです。それも、思うほど悪くはないのかもしれませんが、すこしでも理屈を頭に入れておくと、正しい選択肢を選びやすくなり、チートをふくめたテクニックの幅も広がります。
レンダリング画像はもちろん、目にみえるすべては「光」そのもの。光とそれにともなう影を上手にコントロールすることが、上手なレンダリングの近道ではないでしょうか。やや理屈の多い記事になりますが、文系仲間の方々にも参考になれば幸いです。
この記事が気に入ったらサポートをしてみませんか?