ミラー/グレー ボール シェーダ

ミラー/グレー ボール シェーダ

はじめに

ビジュアル エフェクトの業界では、セットでのライティングの参考のために、ミラー ボール("ライト プローブ" とも呼ばれます)やグレー ボールの写真を撮影することがよくあります。

理想的な方法は、これらを複数の露光で撮り、ツール 1 を使用して 1 つの高いダイナミック範囲のイメージにまとめるか、ミラー/グレー ボールを球面環境マップにアンラップすることです。

ただし、多くの場合、CG シーンをレンダーするために使用したカメラに一致するように球面マップの適切な向きを復元することは困難です。さらに、ミラー/グレー ボールの 1 枚の写真には、特定の角度に関して不十分なデータが含まれているため、最終レンダーでは見せたくない場合もあります。

これらのシェーダは、ミラー/グレー ボールが、最終イメージをレンダーする厳密なカメラ アングルで既に撮影されている特殊なケースを単純化するために使用されます。

これらのシェーダは mental ray のカメラ座標空間を使用し、ミラー/グレー ボールをこの空間に適用します。したがって、反射の向きは常にレンダリング カメラに "くっついている" 状態になります。

ミラー ボール

このシェーダは、レイの方向に基づいた参照を行うため、環境シェーダとして使用されることを目的としています。このシェーダは、適切な方向をミラー ボール上のポイントにマップして、そのカラーを取得します。

declare shader "mip_mirrorball" (
        color  texture "texture",
        scalar "multiplier"   default 1.0,
        scalar "degamma"      default 1.0,
        scalar "blur"         default 0.0,
    )
    apply texture, environment
    version 3
end declare

texture パラメータは、クロップされたミラー ボールのイメージを指し示します。これにより、ボールは正確にイメージのエッジにタッチできます。理想的には、このパラメータが mental ray のカラー テクスチャを直接指し示すべきですが、このパラメータは別のシェーダとしても使用することができます

必要に応じて、シェーダは degamma パラメータを使用してテクスチャに逆ガンマ補正を適用できます。ガンマがチェーン内の他のシェーダに制御されているか、グローバル mental ray ガンマが使用されている場合は、値を 1.0 に設定します。これは "変更されない" ことを意味します。

カラーは乗数で乗算されます。texture パラメータが文字どおりの mental ray テクスチャを指し示す場合は、blur パラメータを使用して、その mental ra テクスチャにブラーを適用できます。

グレー ボール

このシェーダは、サーフェス法線の方向に基づいた参照を行うため、環境シェーダまたはテクスチャ シェーダのいずれかとして使用できます。このシェーダは、法線ベクトルの方向をグレー ボール上のポイントにマップして、そのカラーを取得します。

declare shader "mip_grayball" (
        color  texture "texture",
        scalar "multiplier"   default 1.0,
        scalar "degamma"      default 1.0,
        scalar "blur"         default 0.0,
    )
    apply texture, environment
    version 3
end declare

パラメータは mip_mirrorball と同一のものです。

レンダリングの例として使用する写真を次に示します。

ミラー ボールの写真
ミラー ボールの写真
グレー ボールの写真
グレー ボールの写真

mip_mirrorball を使用して作成された、いくつかのオブジェクトを持つ環境を次に示します。これらのオブジェクトは、同じ環境に基づいたファイナル ギャザリングによって照らし出されています。

1 つのアングル
1 つのアングル
別のアングル
別のアングル

上のイメージで注目すべき点は、反射の方向が、一定してカメラに平行であることです。そのため、このシェーダは、レンダリング カメラの方向がミラー ボールが撮影された方向と(大まかに)一致する場合のみ使用されることを目的としています。

グレー ボール シェーダを使用した場合:

未処理の mip_grayball シェーダ
未処理の mip_grayball シェーダ
アンビエント オクルージョンを使用
アンビエント オクルージョンを使用

左側のイメージは、mip_grayball シェーダの未処理の出力ですが、右側のイメージでは、シェーダが mib_amb_occlusion シェーダの bright スロットに配置されており、ベント法線を使用してオクルージョンと参照が行われています 2

使用法のヒントの詳細については、matteuseagetips ページを参照してください。


脚注
1
たとえば、Photosphere (Mac)や HDRShop (PC)など
2
ベント法線による mib_amb_occlusion の参照を行わない場合は、その mode パラメータを -1 に設定します。その後、bright パラメータはオリジナルの(ベントされていない)法線を使用して参照されます。これにより、結果をより速く得ることが可能になります。