| On this page | |
| Since | 19.0 |
概要 ¶
これは、余計な機能を取り除いたバージョンのKarma Physical Lensノードで、完全な物理レンズの基本機能の制御を活用することができます。
また、簡単に独自のレンズシェーダを実装できるようになっています。
意図した使用方法 ¶
このPhysical Lens Coreノードは、CVEXシェーダではないので、レンズシェーダとして機能することができません。
これは、CVEX Shader Builder内でビルディングブロックとして使用することを目的にしています。
この使い方の例を調べたいのであれば、Karma Physical Lensノードを配置して、そのノードの右クリックメニューから Allow Editing of Contents を選択します。
これによって、このPhysical Lens CoreノードがPhysical Lensノード内部でどのように使用されているのか調べることができます。
タイムオフセットとタイムスケールに関して ¶
Time Offset パラメータと Time Scale パラメータが理解し難いのではないかと思います。
-
レンズシェーダにおける“Time”とは、シャッター時間内における現行時点を示した値です(
0.0からシャッターが開き、1.0でシャッターが閉じます)。 -
Time Offset はベース時間なので、 Time Offset の値が0.5で、 Time Scale の値が0の場合、画像にはモーションブラーはかからず、単にシャッター時間の真ん中の時点におけるすべてのオブジェクトの状態が表示されるようになります。
-
Time Scale は Time Offset に加算されるランダム量(ブラー具合)のことです。カメラの観点で言うならば、 Time Scale はセンサーが光に露出される長さです。
-
Time Offset によって仮想カメラセンサーがイメージングを開始するシャッター時間内の時点が決まり、 Time Scale によってそのイメージングの長さが決まります。
パラメータ ¶
Forwarded Coordinates ¶
Use Forwarded Coords
前方座標のforwarded_xとforwarded_yを使用するか、または、 Karmaレンズシェーダ入力 を使用して前方座標を計算するのかを決めるトグル。
Tint and Exposure ¶
Tint
出力に色味を付けます。
1.0より大きい数値を使用することで、(非現実的に)画像を明るくすることができます。
Tint Texture Map
実質的に、出力画像にこのテクスチャマップを乗算します。
Exposure
画像の明度に対する指数スケール。
画像の明度に対する線形スケール。
Vignetting
エッジ周辺の画像を暗くする度合い。 これは物理ベースなので、この度合いはカメラの画角に比例します。 別の方法として、 Tint Texture Map を使用することで、画像の暗くする部分をフルコントロールすることができます。
Tilt X
焦点平面を(カメラのY軸を軸に)X方向に傾ける度数。
Tilt Y
焦点平面を(カメラのX軸を軸に)Y方向に傾ける度数。
Tilt and Shift ¶
Shift X
レンズをX方向に移動させる距離(Houdiniワールド単位)。
Shift Y
レンズをY方向に移動させる距離(Houdiniワールド単位)。
入力 ¶
Karmaレンズシェーダ入力 ¶
ix
X軸のピクセル座標。
iy
Y軸のピクセル座標。
seed
現行ピクセル固有のシード値。
sampleindex
このピクセルが処理された回数( Pass Index とも言います)。
datawindow
矩形で表現されたデータウィンドウ(空間はNDCではなくピクセル座標)。
viewport
NDC(正規デバイス座標)空間の{xmin, xmax, ymin, ymax}で表現されたカメラウィンドウ。
xres
表示ウィンドウのピクセル幅。
yres
表示ウィンドウのピクセル高さ。
filter_style
ピクセルフィルタのタイプ。
デフォルトのタイプはgaussです。
filter_width
filter_style入力に対するフィルタリングの量。
focal
カメラの焦点距離(Focal Length)。
focus
カメラのフォーカス範囲(Focus Distance)。
fstop
カメラのF-Stop(f/NのN)。
aspect
表示ウィンドウのアスペクト比(幅を高さで割った値)。
aperture
カメラの絞り幅。
Time
光線が送信されたシャッター時間内のどの時点かを指定した(0.0から1.0の)単位時間。
渡された値と異なる値を出力することで、ローリングシャッターやその他のモーションブラー効果を実現することができます。
clippingrange
関数に渡される値は、(レンズシェーダが割り当てられたカメラから測定される)ニアクリップ距離とファークリップ距離を示しています。
あなたの関数でこれらの値を変更することで、光線のニア/ファーの制限(光線が移動可能な最小距離と最大距離)を変更することができます。
遠近法のトランスフォームを使用する場合は、距離の整合性を保つために光線方向のZでクリップ距離を調整してください。 他の投影では、クリップ範囲の解釈が異なる場合があります。
isRHS
関数に渡される値をRHS(Right-Hand Space:右手空間)で解釈するかどうか。 シェーダがこの引数を受け取らなかった場合、Houdiniは常に左手空間で値を渡します。
この引数はRHSで動作するKarmとの互換性を良くするためにあり、移植性を高くします。
lambda
色収差から選択された波長。内部使用のみ。
Bokeh and Distortion ¶
bokeh_offset
光線の原点のオフセット量またはジッター量。 ここに2D分布からのサンプルを接続すると、Bokehはその分布の形状と同じになります。
curv_offset
光線方向のZ値のオフセット量。
これを使用してレンズの曲率を制御することで、光線の方向を変えることができます。
1.0の値は、光線がカメラから水平に放たれ、0.0の値は何も変化がありません。
マイナス値を入力に与えると、光線はレンズの中心の方へ向かいます。
curv_normal
曲率の法線。これは、 Curvature Offset パラメータを使用した場合のオプションの入力です。 一部の曲率の歪みから簡単に法線を計算することができ、この法線を使用した方が歪みのあるレンズを介した色収差をもっと正確に推定することができます。
Note
これは、色収差で光線を屈折させた場合にのみ使用され、色収差を使用しない場合は無視することができます。
eta
レンズと指定した光線の屈折率。 これは、色収差で Curvature Normal と Index of Refraction で指定された光線を屈折させるのに使用されます。
Shutter ¶
toffset
シャッター時間のタイムオフセット。 これは、シャッター時間内で光線が送信される時間を決めます。詳細は、上記のタイムオフセットとタイムスケールに関してを参照してください。
tscale
シャッター時間に対する基本スケール。 基本的には、これは画像のブラーのかかり具合に影響しますが、詳細は、上記のタイムオフセットとタイムスケールに関してを参照してください。 ローリングシャッター効果では、tscaleは小さくする必要があります。そうしないとローリングシャッターの効果が確認できません。
出力 ¶
jitter
ここには、あなたがピクセルに適用した相対ジッター(水平と垂直)を設定します。
あなた独自でxとyを生成する場合は、この変数を出力する必要があります。
Time
光線が送信されたシャッター時間内のどの時点かを指定した(0.0から1.0の)単位時間。
渡された値と異なる値を出力することで、ローリングシャッターやその他のモーションブラー効果を実現することができます。
P
ここには、送信される光線の原点を3D空間で設定します。
I
ここには、送信される光線の方向をベクトルで設定します。
tint
ここには、送信される光線のカラー/寄与度を設定します。
valid
関数が実行された後に、光線が有効だったかどうかを示した1または0をここに設定します。
これを0に設定することは寄与度を{0, 0, 0}に設定することと同じです。
lambda
色収差から選択された波長。内部使用のみ。
| See also |