On this page | |
Since | 20.0 |
このシェーダは、部屋の屋内を平坦な平面上に投影し、3次元シーンの印象を作成します。 例えば、この手法を用いることで、壁、ランプ、家具などの実際のオブジェクトをモデリングもレンダリングもすることなく、建物の窓に完全な部屋を追加することができます。 また、スライスを追加レイヤーとして追加することができます。 窓にカーテンの付いた部屋を作成したいとしましょう。 そして、そこにランプがあり最後にそのランプの後ろに人が立っています。 このようなシーンでは、3枚のスライスを定義します: スライス1にはカーテン、スライス2にはランプ、スライス3には人を含めます。 以下の画像は、壁とスライスをどのように配置しなければならないのかを示しています。
以下に載せている入力は、視差マッピングを用いてローカルウィンドウの土台を作成するのに必須です。
Note
tangentu
、tangentv
、roomN
、roomP
のプリミティブ変数をセットアップするのには、Karma Room Frame SOPが必要です。
投影マッピングに使用したいジオメトリの下流にKarma Room Map SOPを接続しなければなりません。
Note
ルームマップが複数のウィンドウにまたがるシーンでは、 tangent の長さは、すべての窓を左から右にまたがっている必要があります。 bitangent は、屋内の高さを表わし、 position はすべての窓平面の重心です。
Tip
サンプルを含んだ完全なワークフローガイドは、Karma Room Mapシェーダのページを参照してください。
入力 ¶
position
窓平面の重心位置。複数の窓に投影を適用したい場合、2枚以上の平面を使用しても構いません。
tangent
水平方向。これは、ローカルの窓平面の座標系のXコンポーネントです。
bitangent
垂直方向。これは、ローカルの窓平面の座標系のYコンポーネントです。
パラメータ ¶
Source Color Space
ソーステクスチャのカラー空間。 EXRは Raw 、JPGとPNGは sRGB にしてください。 マップのカラー空間が不明な場合は Auto を選択します。
File
投影するために読み込まれるテクスチャファイルの名前。 屋内マップは、透明度を制御できるようにアルファチャンネルを持つEXRファイルが望ましいです。 壁、床、天井のタイルは、上記の画像のように十字形に配置します。 屋内の装飾や小物をレンダリングするための空間として最大4枚のスライスが用意されています。 Karma Room Mapシェーダは、視差ルームボックスをランダム化するためにUDIMパディングをサポートしています。
Offset UDIM
UDIMシーケンス内の他のテクスチャに切り替えるためのUDIMオフセット。
Scale
視差ボックスの3次元XYZスケール。
Uniform Scale
視差ボックスの均一スケール。
Window Shift
視差投影の2次元位置。 Scale が実際の平面サイズよりも大きい場合、 Window Shift が有効になります。
Mix Normals
窓のグラス表面上に正しい反射が得られるように、視差法線と平面のサーフェス法線を混ぜます。
Slice1
マップの左下コーナーのスライスを有効にします。
Slice1 Offset UDIM
UDIM座標をずらすことで他のスライスに切り替えることができます。
Slice1 Position
現行スライスの3次元位置。 このパラメータのZ値を使用することで、視差ボックスの深さをずらすことができます。
Slice1 Scale
現行スライスの2次元スケール。
Slice2
マップの左上コーナーのスライスを有効にします。
Slice2 Offset UDIM
UDIM座標をずらすことで他のスライスに切り替えることができます。
Slice2 Position
現行スライスの3次元位置。 このパラメータのZ値を使用することで、視差ボックスの深さをずらすことができます。
Slice2 Scale
現行スライスの2次元スケール。
Slice3
マップの右上コーナーのスライスを有効にします。
Slice3 Offset UDIM
UDIM座標をずらすことで他のスライスに切り替えることができます。
Slice3 Position
現行スライスの3次元位置。 このパラメータのZ値を使用することで、視差ボックスの深さをずらすことができます。
Slice3 Scale
現行スライスの2次元スケール。
Slice4
マップの右下コーナーのスライスを有効にします。
Slice4 Offset UDIM
UDIM座標をずらすことで他のスライスに切り替えることができます。
Slice4 Position
現行スライスの3次元位置。 このパラメータのZ値を使用することで、視差ボックスの深さをずらすことができます。
Slice4 Scale
現行スライスの2次元スケール。
Fallback Color
屋内領域外の背景の色。
World Space
入力の基本ベクトルの tangentu 、 tangentv 、 roomP をオブジェクト空間からワールド空間に変換します。
出力 ¶
out
投影されたテクスチャのカラー値を返します。
normal
視差法線とサーフェス法線を混ぜた結果を返します。
texcoord
Slice Position.Z が0の時のスライスのUV座標を返します。
See also |