On this page | |
Since | 19.0 |
概要 ¶
このノード自体は何もしません。 シェーダまたはマテリアルの入力アトリビュートに呼応したSpareパラメータを追加する必要があります。 その後、そのSpareパラメータを編集すると、このノードは、その参照されたアトリビュートに同等の変更を加えます。
これは、より汎用的なEdit Properties LOPを簡素化したバージョンのノードですが、シェーダとマテリアルのプリミティブの編集に焦点を当てています。
How to ¶
-
Primitives パラメータで、編集したいシェーダまたはマテリアルのプリミティブ(s)のパス(s)を設定します。
-
Create Parameters ボタンをクリックします。
これは、シェーダまたはマテリアルのプリミティブから取得したSpareパラメータをこのノードに取り込みます。
新しいマテリアルのSpecialize(特別化)) ¶
-
Scene Graph Tree内でMaterial Primを
クリックして、 Specialize New Material を選択します。
-
これは、Edit Material Propertiesノードを作成しますが、Scene Graph Tree内で選択されたマテリアルをベースにした新しい派生マテリアルをSpecialize(特別化)するように設定されています。
-
どのパラメータがその新しいマテリアルのソースになっているのかを明示するために、 Source Material Path Spareパラメータが作成されます。このパラメータは、 Primitives パラメータでチャンネル参照されます。
マテリアルクラスのオーバーライド ¶
-
Scene Graph Tree内でMaterial Primを
クリックします。 New Indirect Editor Nodes サブメニューから、利用可能な Inherit edits オプションのどれかを選択します。
-
これは、その利用可能なマテリアルプロパティで構成されたEdit Materials Propertiesノードを作成しますが、その編集がClass Primに適用されるようにセットアップされています。オーバーライドは、そのロケーションから継承しているすべてのマテリアルに対して、シーン全体に伝搬されます。
コントロールポップアップメニュー ¶
各パラメータコントロールの左側にあるポップアップメニューは、このノードでそのアトリビュートの 編集方法 を制御します:
ポップアップのメニュー項目 |
意味 |
---|---|
Set or Create |
既にアトリビュートが存在しているかどうかに関係なく、指定した値をそのアトリビュートに設定します。 |
Set If Exists |
既にアトリビュートが存在している場合にのみ、指定した値をそのアトリビュートに設定します。 このモードを使用することで、正しいタイプのPrimsにのみアトリビュートを設定することができます。
例えば、 |
Block |
アトリビュートが存在していないように見せかけるので、これはデフォルト値を取得します(アトリビュートがPrim上にまだ存在していない場合、これは何もしません)。 |
Disconnect Input |
アトリビュート入力とそのソース間の接続を切断します。 入力接続はアトリビュート値よりも優先度が高いので、入力を接続すると、アトリビュート値が効果を持つようになります。 |
Do Nothing |
このパラメータを無視し、どのようにしてもアトリビュートを作成も変更もしません。 |
Tips ¶
-
アトリビュート値を設定するパラメータには、以下のローカル変数を使用することができます:
@numprim
このノードで修正されるプリミティブの総数。
@prim
修正されるプリミティブのインデックス。この値の範囲は
0
からnumprim-1
です。@primpath
修正されるプリミティブのパス。
-
Material Primに
houdini:dialogScript
カスタムデータがあれば、このノードは、そのカスタムデータを使用して、より良い編集環境を作成します。現在のところ、これは、Material Library LOP内部のBuilderサブネットでのみ作成することができます。
このノードは、 USD Primsを直接的に作成または編集するノード のクラスに属します。
このようなノードは、 Createモード または Editモード で動作します。
このモードは、 Create Primitives チェックボックスまたは Create/Editポップアップメニュー で制御します。
Createモードでは、このノードは新しいPrimsを作成します。
Editモードでは、このノードは、既存のPrim上のアトリビュートを変更します。
Editモード には2つのバリエーションがあります。
Edit は、houdini:editable
アトリビュートがfalse
に設定されているPrimsを変更しません。
Force Edit は、このアトリビュートの有無や値に関係なくPrimを変更します。
このアトリビュートは、Configure Primitives LOPを使用してPrim上に設定することができます。
USDアトリビュートに該当したパラメータの左側には、このノードがアトリビュートを編集する 方法 を制御するためのポップアップメニューが付いています。
それだけでなく、接続可能なUSDアトリビュート(つまり、inputs:
ネームスペース内にあるアトリビュート)には、アトリビュート入力とそのソース間の接続を切断できるメニュー項目があります。
ポップアップのメニュー項目 |
意味 |
---|---|
Set or Create |
既にアトリビュートが存在しているかどうかに関係なく、指定した値をそのアトリビュートに設定します。 |
Set If Exists |
既にアトリビュートが存在している場合にのみ、指定した値をそのアトリビュートに設定します。 このモードを使用することで、正しいタイプのPrimsにのみアトリビュートを設定することができます。
例えば、 |
Block |
アトリビュートが存在していないように見せかけるので、これはデフォルト値を取得します(アトリビュートがPrim上にまだ存在していない場合、これは何もしません)。 |
Disconnect Input |
アトリビュート入力とそのソース間の接続を切断します。 入力接続はアトリビュート値よりも優先度が高いので、入力を接続すると、アトリビュート値が効果を持つようになります。 |
Do Nothing |
このパラメータを無視し、どのようにしてもアトリビュートを作成も変更もしません。 |
パラメータ ¶
Sampling Behavior
このノードがクックされると、現行時間にただ1個のUSDタイムサンプルを生成するのではなく、たくさんのUSDタイムサンプルを生成することができます。
これは、このノードの後にCache LOPを接続することと同様ですが、こちらの方が非常に高速に評価され、他のノードからのデータをキャッシュ化しません。
これによって、以降のすべてのノードも時間依存にしてしまうノード時間依存を導入することなく、アニメーションデータをUSDで作成することができます。
その結果、一部のLOPネットワークの再生パフォーマンスを大幅に向上させることができます。
どのサンプリングモードでも、このノードのパラメータが時間と共に可変しない、且つ、ステージ上の他のタイムサンプルデータに依存していない場合、 呼応するアトリビュートに対して単一デフォルト値のみがUSD内で生成されます。 時間と共に可変するパラメータに対してのみUSDタイムサンプルが生成されます。
Sample Current Frame
現行時間に対して単一タイムサンプルが作成されます。
Sample Frame Range If Input Is Not Time Dependent
このノードの入力が時間依存の場合、このノードは、Sample Current Frame
モードと同様の挙動をします。
そうでない場合、このノードは、Sample Frame Range
モードと同様の挙動をします。
Sample Frame Range
Start/End/Inc パラメータを使用して、このノードのパラメータが評価される時間に対して複数の時間を生成し、それらの各時間においてアトリビュート毎にUSDタイムサンプルが作成されます。
Start/End/Inc
Sampling Behavior がSample Frame Range
の場合、このパラメータは、このノードで生成されるベースタイムサンプルの数と間隔を制御します。
このパラメータのデフォルト値は、@fstart
、@fend
、@finc
です。
これらの値は、Houdiniを操作する時のグローバルHoudiniアニメーション設定の開始フレーム、終了フレーム、ステップサイズに相当します。
ROPノードを使用してフレーム範囲を生成した場合、これらの値は、実行したそのROPノードで指定された開始フレーム、終了フレーム、ステップサイズに相当します。
このデフォルトは、ディスクに書き出されるUSDファイルに、(Houdiniアニメーション設定に関係なく)ROPで指定されたフレーム範囲ちょうどのタイムサンプルを含めます。
Subframe Sampling
このノードで生成されたプライマリサンプル毎に、これらのパラメータは、そのプライマリサンプル時間付近に追加でサンプルを生成させることができます。 これは、プライマリサンプル時間だけでなく、カメラシャッターの開閉時間ちょうどにも正確なデータが存在することを保証するために非常によく使用します。
Shutter
プライマリサンプル時間を基準にシャッターの開閉時間を指定するのに使用されるメソッドを制御します。
Specify Manually
Shutter Open/Close パラメータの値で、プライマリサンプル時間を基準とした正確なオフセット値を指定します。
Use Camera Prim
Camera Prim パラメータで、シャッターの開閉時間が抽出されるカメラPrimのシーングラフパスを指定することで、プライマリサンプル時間を基準としたオフセット値を指定します。
Shutter Open/Close
Shutter モードが Specify Manually の場合、ここの2つのオフセット値がプライマリサンプル時間に追加され、シャッターの開閉時間が指定されます。 シャッターの開時間は0以下に、閉時間は0以上に設定してください。
Camera Prim
Shutter モードが Use Camera Prim の場合、ここには、入力ノードのステージ上のカメラPrimのシーングラフパスを指定します。 このPrimからShutter Open/Closeのアトリビュート値が読み込まれます。
Samples
プライマリサンプル毎に作成するサブフレームサンプルの数。 これらのサンプルは、シャッターの開時間から閉時間の間で均等に分布します。 このような均等な分布は、ちょうどプライマリサンプル時間にサンプルが作成される場合と作成されない場合があることに注意してください。
Always Include Frame Sample
有効にすると、ちょうどプライマリサンプル時間にサンプルを作成させることができます。 シャッター開時間とシャッター閉時間のどちらの Samples 値も既にプライマリサンプル時間でサンプルが配置されている場合、このオプションを有効にしても何の効果もありません。 そうでない場合、このオプションによって、追加でサンプルが作成されます。 つまり、プライマリサンプルあたりの実際のサンプル数は、 Samples で指定されたサンプル数よりも多くなる可能性があります。
Primitives
このノードを動作させるPrim(s)。
Scene Graph Tree ペインからPrim(s)をこのテキストボックスにドラッグすることで、それらのパスを追加することができます。
または、このテキストボックスの隣にある再選択ボタンをクリックすることで、ビューア内でPrim(s)を選択することができます。
他にも、この再選択ボタンを⌃ Ctrlクリックすることで、ポップアップツリーウィンドウからPrim(s)を選択することができます。
コレクション内のすべてのPrimsのマッチング(
/path/to/prim.collection:‹name›
)といった高度なマッチングには、プリミティブパターンを使用すると良いでしょう。
Note
トランスフォームハンドルがコンテキストを認識できるようにするには、このパラメータを露出させる必要があります。 それをしなかった場合、ハンドルを適切に配置することができません。
Class Prim Path
このロケーションで間接的な編集を受け取れるようにするために、編集Primに“Inherits(継承)”コンポジションアークを追加します。 このロケーションにプリミティブが存在している必要はなく、何もプリミティブは作成されません。
Create Parameters
Primitives パラメータで指定されたマテリアルまたはシェーダの入力アトリビュートの値を編集するためのSpareパラメータを作成します。
Create Material Outputs
Primitives パラメータで指定されたマテリアルまたはシェーダの出力アトリビュートのコネクションを編集するためのSpareパラメータを作成します。 これによって、マテリアルの末端シェーダを変更できるようになります。
Initialize Parameters
このノードが何も変更を適用しないようにするために、すべてのコントロールメニューパラメータの状態をDo Nothing
変更します。
さらに、最初の Primitives マッチから各プロパティの現行値を取得し、それに該当するパラメータの値を同じに設定します。
つまり、パラメータのコントロールメニューをSet or Create
モードに変更すると、そのプロパティに現行値が設定されるので、新規に値を設定するよりも既存の値に変更を適用する方が簡単です。
Reference Type
このノードは、既存のマテリアルプリミティブ上のプロパティを編集することができ、または、新規マテリアルを作成して、それを既存プリミティブで参照して、その新規マテリアル上のプロパティを編集することができます。 これは、ルックを変更したくないジオメトリにオリジナルのマテリアルがバインドされている場合に、そのマテリアルに基づいて新規マテリアルを作成して、その新規マテリアル上のプロパティを調整し、それを他のジオメトリにバインドしたい時に役立ちます。
None
参照プリミティブを作成しません。つまり、既存のプリミティブ上のプロパティを編集します。
Reference
既存プリミティブをリファレンスして、そこから新しく作成されたプリミティブ上のプロパティを編集します。
Inherit
既存プリミティブに“Inherit”コンポジションアークを作成して、そこから新しく作成されたプリミティブ上のプロパティを編集します。
Specialize
既存プリミティブに“Specialize”コンポジションアークを作成して、そこから新しく作成されたプリミティブ上のプロパティを編集します。
Reference File
ディスク上のファイル内の既存プリミティブをリファレンスして、そこから新しく作成されたプリミティブ上のプロパティを編集します。
Create Class
既存の“Inherits”または“Specializes”コンポジションアークによって認識される編集プロパティ。
Class Ancestor で設定されたClass
指定子とは別に、Over
指定子を使ってこのロケーションが作成されます。
何も新しいコンポジションアークは作成されません。
Class Ancestor
Reference Type がCreate Class
の場合、このパラメータは、Specifier
がClass
のプリミティブが終了してOver
のプリミティブが開始される階層を制御します。
通常では、修正されるプリミティブは、実際にInheritコンポジションアークが有効になっているプリミティブの子プリミティブであり、その階層より下のすべてのプリミティブはOver
Specifierを使用し、
その階層より上のプリミティブはClass
Specifierを使用します。
Reference Parent Material
Primitives パラメータにシェーダプリミティブが指定されている場合、このオプションを有効にすると、新しく作成されるプリミティブは、シェーダ自体ではなく親のマテリアルを参照するようになります。
Primitive Path
新規参照プリミティブが作成されるシーングラフパス。
Parent Primitive Type
Primitive Path にプリミティブが存在しなかった場合、このノードはそれを作成します。 プリミティブを作成する必要がある場合、このタイプの中間プリミティブが作成されます。
Make Instanceable
このトグルを有効にすると、新しく作成される参照プリミティブがインスタンス化可能になります。
Bokeh ¶



Bokeh Shape
ボケの形状を選択します: Circular, Polygonal ( Number of Sides を参照), Texture Map ( Bokeh Texture Map を参照)。
Bokeh Texture Map
Bokeh Shape が“Texture Map”の時、ここには、使用するテクスチャのパスを指定します。 このテクスチャは、背景を黒にして、明るいボケ形状を含めてください。
(このシェーダは、importance_remapを使用して強度に基づいてテクスチャをサンプリングし、テクスチャの明るい部分でボケの形状を定義します。)
Number of Sides
Bokeh Shape が“Polygonal”の時、ここには、ボケ形状の辺の数を指定します。この値は4以上にしてください。
Bokeh Rotation
この度数でボケ形状を回転させます。
Anisotropy
この値の範囲は-1.0
から1.0
で、ボケ形状のアスペクト比を制御します。
これを0
に設定すると、正方形(高さと幅が同じ)が得られます。
マイナスの小数点値は、ボケ形状の高さを高く、幅を狭くします。
プラスの小数点値は、ボケ形状の高さを低く、幅を広くします。
Anisotropy Texture Map
各ピクセルの異方性を制御するテクスチャマップ(上記の Anisotropy パラメータを参照)。
このテクスチャ画像では、黒が-1.0
を意味し、白が1.0
を意味します。
Lens Distortion ¶






Projection
レンズの投影タイプを変更します。
Perspective は、カメラの正面にワールドのデフォルトビューを作成します。このタイプは、オブジェクト別に異なる深度を取り込むことができます。 Orthographic は、カメラの正面にワールドのビューを作成します。このタイプは、オブジェクト別に異なる深度を取り込むことができません。 Polar は、カメラ周囲に3次元パノラマビューを作成します。その結果は大空などのドーム形状のワールドで使用することができます。 Cylindrical は、 Polar ビューと同様に3次元パノラマビューを作成します。ここでのカメラを囲むのに使用される形状は、球ではなく円柱です。 Polar Stereographic 投影は、画像平面上の小さなオブジェクトの形状を維持する必要がある場合に使用します。 Polar Equidistant 投影は、画像平面上の角度サイズを維持する必要がある場合に使用します。 Polar Equisolid 投影は、オブジェクト空間と画像空間の立体角の比率を一定に維持する必要がある場合に使用します。 Polar Orthographic 投影は、画像平面全体の照明が均一である必要がある場合に使用します。
Type of Curvature
レンズを歪ませる曲率のタイプ: “None”, “Quadratic”, “Cubic”, “Texture Map”。
Curvature Texture Map
Curvature Type が“Texture Map”の時、ここには、そのテクスチャマップのパスを指定します。
このテクスチャ画像の値は、レンズのフェース上の指定された位置におけるレンズの単位“高さ”(平坦からの距離)を意味します。
黒が-1.0
で、白が1.0
を意味します。
Lens Curvature
Curvature Type が“None”でない時、ここには、適用する曲率の大きさを-1.0
から1.0
の範囲で指定します。
Chromatic Aberration
レンズに追加する色収差の大きさ。
この値に1を足した値が青ライトに適用される屈折率を意味します。
このシェーダは、赤ライトには、この値を1.0の屈折率まで線形的に下げてマッピングします。
例えば、0.2
の値は、青ライトの屈折率が1.2で、赤ライトの屈折率が1.0で、中間を線形グラデーションすることを意味します。
このマッピングをもっと細かく制御したいのであれば、 Aberration Ramp を使用してください。
Aberration Ramp
このランプは、青ライトと赤ライト間での色収差のマッピングを制御します。
このランプの左端が青ライト、右端が赤ライトを意味します。
縦軸は屈折率を意味し、その範囲は、下限が1.0
、上限が1.0
+ Chromatic Aberration の値になります。
Tint and Exposure ¶



Tint
出力に色味を付けます。
1.0
より大きい数値を使用することで、(非現実的に)画像を明るくすることができます。
Tint Texture Map
実質的に、出力画像にこのテクスチャマップを乗算します。
Exposure
画像の明度に対する指数スケール。
Intensity
画像の明度に対する線形スケール。
Vignetting
エッジ周辺の画像を暗くする度合い。 これは物理ベースなので、この度合いはカメラの画角に比例します。 別の方法として、 Tint Texture Map を使用することで、画像の暗くする部分をフルコントロールすることができます。
Tilt and Shift ¶
Tilt X
焦点平面を(カメラのY軸を軸に)X方向に傾ける度数。
Tilt Y
焦点平面を(カメラのX軸を軸に)Y方向に傾ける度数。
Shift X
レンズをX方向に移動させる距離(Houdiniワールド単位)。
Shift Y
レンズをY方向に移動させる距離(Houdiniワールド単位)。
Focus Mapping ¶
F-Stop Texture Map
各ピクセルのF-Stop値を指定したテクスチャマップのパス。 このテクスチャ画像では、黒が F-Stop Near 、白が F-Stop Far を意味します。
F-Stop Near
F-Stop Texture Map の下限。
F-Stop Far
F-Stop Texture Map の上限。
Focus Texture Map
各ピクセルの焦点距離を指定したテクスチャマップのパス。 このテクスチャ画像では、黒が Focus Near 、白が Focus Far を意味します。
Focus Near
Focus Texture Map の下限。
Focus Far
Focus Texture Map の上限。
OpenCV ¶
歪みには、主にRadial Distortion(放射状の歪み)とTangential Distortion(接線方向の歪み)の2つの形式があります。 Radial Distortion(放射状の歪み) は以下の式で計算されます:
Tangential Distortion(接線方向の歪み) は、以下のルールに準拠しています:
歪みの量を表現するには、少なくともk
とp
の5個の歪みパラメータを求める必要があります:
他にも、カメラの内部パラメータと外部パラメータもあります。
この内部パラメータはカメラ固有のものです。
例えば、焦点距離f
や光心c
などの情報が含まれています。
両方のパラメータを使用して、カメラマトリックスを作成し、特定のカメラのレンズによる歪みを除去します。
カメラマトリックスは特定のカメラに固有なので、一度計算すると、同じカメラで撮影された他の画像に対してそのカメラマトリックスを再利用することができます。
このカメラマトリックスは3×3行列で表現されています:
外部パラメータは、回転ベクトルと移動ベクトルに呼応しています。
Enable OpenCV Distortion
これを有効にすると、Lens Distortionに対して、OpenCVで定義されている組み込みカメラパラメータが使用されます。
組み込みカメラパラメータの各定数の詳細は、OpenCVドキュメントを参照してください。
k1
OpenCVで定義されている組み込みカメラパラメータ内のRadial Distortion定数k1。
プラスの値は樽型の歪曲を引き起こし、マイナスの値は糸巻き型の歪曲を引き起こします。
k2
OpenCVで定義されている組み込みカメラパラメータ内のRadial Distortion定数k2。
プラスの値は樽型の歪曲を引き起こし、マイナスの値は糸巻き型の歪曲を引き起こします。
k3
OpenCVで定義されている組み込みカメラパラメータ内のRadial Distortion定数k3。
プラスの値は樽型の歪曲を引き起こし、マイナスの値は糸巻き型の歪曲を引き起こします。
k4
OpenCVで定義されている組み込みカメラパラメータ内のRadial Distortion定数k4。
マイナスの値は樽型の歪曲を引き起こし、プラスの値は糸巻き型の歪曲を引き起こします。
k5
OpenCVで定義されている組み込みカメラパラメータ内のRadial Distortion定数k5。
マイナスの値は樽型の歪曲を引き起こし、プラスの値は糸巻き型の歪曲を引き起こします。
k6
OpenCVで定義されている組み込みカメラパラメータ内のRadial Distortion定数k6。
マイナスの値は樽型の歪曲を引き起こし、プラスの値は糸巻き型の歪曲を引き起こします。
p1
OpenCVで定義されている組み込みカメラパラメータ内のTangential Distortion定数p1。
プラスの値は、画像平面の上側が下側よりも遠くにあるように見える効果を出し、マイナスの値は、その逆の効果を出します。
p2
OpenCVで定義されている組み込みカメラパラメータ内のTangential Distortion定数p2。
プラスの値は、画像平面の右側が左側よりも遠くにあるように見える効果を出し、マイナスの値は、その逆の効果を出します。
Shutter ¶
Rolling Shutter Direction
ローリングシャッターを模倣する方法を選択します: “None”, “Bottom First”, “Top First”, “Left First”, “Right First”, “Custom” (以下の Time Offset Curve を参照)。
Time Offset Ramp Rotation
Rolling Shutter が“Custom”の時、シャッターの移動方向(度)。0
の値は真っ直ぐ上(カメラ空間のプラスY)を意味します。
Time Offset Ramp
Rolling Shutter が“Custom”の時、このランプを使用して画像内のシャッターの進行を制御します。 上記のタイムオフセットとタイムスケールに関してを参照してください。 横軸はシャッター時間を意味し、縦軸はシャッーの進行を意味します。縦軸の底辺が開始位置、上辺が終了位置を示します。 そのため、デフォルトのランプ(左下から右上に向かった直線)は、画像に対して線形的な進行を意味します。
Time Offset Texture Map
Time Offset を制御するテクスチャマップファイルのパス。 上記のタイムオフセットとタイムスケールに関してを参照してください。
Time Scale
シャッター時間に対する基本スケール。 基本的には、これは画像のブラー量に影響しますが、詳細は上記のタイムオフセットとタイムスケールに関してを参照してください。 ローリングシャッター効果を出すには、 Time Scale を非常に小さくする必要があります。そうしないと、ローリングシャッター効果が見えなくなります。
Time Scale Texture Map
Time Offset を制御するテクスチャマップファイルのパス。 上記のタイムオフセットとタイムスケールに関してを参照してください。
Use Shutter Curve
これを有効にすると、シャッター時間内でのカメラの絞りで許容する光量を細かく制御することができます。
Shutter Curve
Use Shutter Ramp を有効にすると、このランプを使用してシャッター時間内の位置に基づいたタイムサンプルのウェイトを表現することができます。 カメラの観点で言うと、このランプは、シャッター時間内の指定した位置(横軸)におけるセンサーに入る光量(縦軸)を意味します。 デフォルトの分布は均一です。