| On this page | |
| Since | 21.0 |
このノードには、レイヤやジオメトリに対してPythonコードを実行するためのインターフェースが備わっています。
Signature タブは、このノードの入力と出力を制御し、 Bindings タブは、パラメータのバインドを制御します。
各 Bind# パラメータは、固定値であり、 Kernel タブのPythonコードが実行される前に評価されます。
バインディングは、用意されたkwargs辞書内に存在するため、Pythonコードは特定のノードに依存せずに実行されます(詳細は、構文を参照してください)。
Warning
ジオメトリをレイヤとしてバインドすることはできません。 アトリビュートまたはボリュームのバインディング内で名前によってジオメトリを参照する必要があります。
Note
特殊な使い方の設定をしない限り、通常は Signature タブや Bindings タブを手動で編集する必要はありません。
代わりに、 Kernel タブ内のボタンをクリックして、それらのタブをセットアップしてください。
このノードを使用することで、サードパーティ製のPythonコードと連携して問題を解決することができます(例えば、Qtを使用した画像のレンダリング)。
Note
Python Script SOPとは異なり、このノードは現在評価中のノードにアクセスすることができません。 このノードのクックは、ノードネットワークから分離しています。
構文 ¶
記述するスクリプトには、すべての入力とバインドされたパラメータが利用可能なkwargsオブジェクトが存在しています。
このkwargsオブジェクトは、指定された出力の辞書を返します。
OpenCLスニペットと同様に、コード内で#bind構文を使用することで、シグネチャとバインドされたパラメータを定義することができます。
Pythonは、この構文をコメントとして扱うため、評価時には無視しますが、ボタンは、この構文を使用してシグネチャとバインディングをセットアップします。
パラメータ ¶
Kernel ¶
Python Code
実行するPythonコード。
用意されているkwargs辞書(この辞書には、バインドされたパラメータと入力のジオメトリとレイヤが入っています)を使用すると、
指定した名前の出力の辞書が返されます。
また、#bind構文を使用することで、シグネチャとバインドされたパラメータを定義することができます。
ボタンは、 Signature タブと Bindings タブのセットアップを行ないます。
Options ¶
Maintain State
有効にすると、大元のPythonインタープリタがクック間でクリアされなくなります。 これによって、いくらかパフォーマンスが良くなりますが、その反面、予期しない挙動を招く可能性があります。 通常では、これを無効なままにすることを推奨します。
Signature ¶
Inputs
このノードの入力の数。
Input #
入力の名前。
この名前は、#bindコマンドで参照する際に使用します。
Type
ノード入力のデータタイプまたはポート。
Varying
Mono、UV、RGB、RGBAレイヤを受け入れます。
Varyingタイプのすべての入力は同じタイプに設定されます。
Varyingタイプは、入力のシグネチャとマッチし、そのシグネチャはすべてのVarying入力に対して同じタイプでなければなりません。
利用可能な場合、シグネチャのマッチングは、適合するシグネチャを選択します。
ID
IDレイヤを受け入れます。
Mono
Monoレイヤを受け入れます。
UV
UVレイヤを受け入れます。
RGB
RGBレイヤを受け入れます。
RGBA
RGBAレイヤを受け入れます。
Geometry
ジオメトリタイプを受け入れます。 このタイプの名前は、アトリビュートまたはボリュームのバインディング内で参照しなければなりません。
Metadata
この入力は読み込まれませんが、サイズおよびメタデータ情報の取得にのみ使用されます。
Integer VDB
整数VDBを受け入れます。
Float VDB
浮動小数点VDBを受け入れます。
Vector VDB
ベクトルVDBを受け入れます。
Varying VDB
浮動小数点VDBまたはベクトルVDBを受け入れます。
Optional
入力をオプションにします。 有効にすると、呼応するバインディングもオプションとしてマークされます。
Outputs
このノードの出力の数。
Output #
出力の名前。
この名前は、#bindコマンドで参照する際に使用します。
Type
ノード出力のデータタイプまたはポート。
Varying
呼応するVarying入力レイヤに合わせたMono、UV、RGB、RGBAレイヤ。
ID
IDレイヤ。
Mono
Monoレイヤ。
UV
UVレイヤ。
RGB
RGBレイヤ。
RGBA
RGBAレイヤ。
Geometry
ジオメトリタイプ。
Integer VDB
整数VDB。
Float VDB
浮動小数点VDB。
Vector VDB
ベクトルVDB。
Varying VDB
浮動小数点VDBまたはベクトルVDB。
Bindings ¶
Bindings
このノードのバインドされたパラメータの数。
Bind# パラメータのドロップダウンメニューを展開し、 Name 、 Type などの値を設定してください。
Name
パラメータの名前。
これは、kwargs辞書で使用される値です。
Type
作成およびバインドするパラメータのタイプ。
Integer
定数の整数値。 これは、事前に計算されたチャネル参照やエクスプレッションをバインドすることができます。
Float
定数の浮動小数点値。
Vector2
2つの浮動小数点値からなる定数タプル。
Vector
3つの浮動小数点値からなる定数タプル。
Vector4
4つの浮動小数点値からなる定数タプル。
Ramp
浮動小数点(スプライン)ランプまたはRGBカラーランプ。
これはhou.Rampオブジェクトとなります。
String
定数の文字列値。
Value
設定した Type のパラメータに使用する値。
Type が以下の値に設定されている場合:
-
Integerの場合、これは、整数パラメータに使用する整数値です。 -
Floatの場合、これは、浮動小数点パラメータに使用される浮動小数点値です。 -
Vector2の場合、これは、float2パラメータに使用されるfloat2値です。 -
Vectorの場合、これは、float3パラメータに使用されるfloat3値です。 -
Vector4の場合、これは、float4パラメータに使用されるfloat4値です。 -
Stringの場合、これは、文字列パラメータに使用される文字列値です。
Note
このパラメータは、 Type がRampの場合には適用されません。
Data Type
Type がRampの場合、ここには、バインドするランプのタイプを設定します。
Float
浮動小数点(スプライン)ランプをバインドします。
Vector
RGBカラーランプをバインドします。
Ramp
浮動小数点(スプライン)ランプまたはRGBカラーランプ。 詳細は、ランプパラメータを参照してください。
入力 ¶
input#
Pythonコードを適用するソースレイヤ。 ノード入力の数およびその詳細は、 Signature タブの Inputs 情報に基づきます。
出力 ¶
output#
Pythonコードが適用された出力レイヤ。 ノード出力の数およびその詳細は、 Signature タブの Outputs 情報に基づきます。
| See also |