ノードイベントコールバックは、それぞれのノードインスタンスでイベントが発生した時にコードを実行させることができます。 hou.Node.addEventCallback()を参照してください。
どのイベントタイプでも、node
キーワード引数(ノードのhou.Node参照を含む)とevent_type
引数(発生したイベントのタイプを示した以下の値のどれかを含む)を使って、コールバックをコールします。
一部のイベントタイプは、以下で説明しているように、コールバック関数に追加のキーワード引数を渡します。
値
hou.nodeEventType.BeingDeleted
ノードが削除される前に実行します。この削除をキャンセルすることはできません。
hou.nodeEventType.NameChanged
ノードの名前が変更された後に実行します。hou.Node.nameを使うことで、その新しい名前を取得することができます。
hou.nodeEventType.FlagChanged
ノードのフラグを有効または無効にした後に実行します。
hou.nodeEventType.AppearanceChanged
ネットワークエディタ内でノードの見た目を変更した後に実行します。この変更とは以下のことです:
-
カラーまたはシェイプを変更した
-
エラーが発動されたまたはクリアされた
-
選択または選択解除
-
アセットのロックまたはロック解除
追加キーワード引数: change_type
(hou.appearanceChangeType)
hou.nodeEventType.PositionChanged
ネットワークエディタ内でノードを移動させた後に実行します。hou.Node.positionを使うことで、そのノードの新しい位置を取得することができます。
hou.nodeEventType.InputRewired
ノードの入力のどれかを接続または接続解除した後に実行します。
追加キーワード引数: input_index
(int) – 変更する入力番号(0から始まります)。
hou.nodeEventType.InputDataChanged
このノードが依存しているノードのデータが変更された後に実行します。 例えば、このノードがエクスプレッションを使って他のノードを参照していた場合、パラメータを変更してもHoudiniはこのイベントを発動 しません 。
hou.nodeEventType.ParmTupleChanged
パラメータ値を変更した後に実行します。hou.ParmTuple.eval()を使うことで、その新しい値を取得することができます。
追加キーワード引数: parm_tuple
(hou.ParmTuple).
Note
ノード上のほとんど/すべてのパラメータを同時に変更した場合、各パラメータに対してハンドラーをコールするのではなく、Houdiniはparm_tuple
引数にNone
を使って、ハンドラーを一回コールします。
あなたのコールバックコードは、この機能性を利用してください。
hou.nodeEventType.ChildCreated
サブネットノード(例えば、Geometryオブジェクト)の内部で新しいノードが作成された後に実行します。
追加キーワード引数: child_node
(hou.Node)
hou.nodeEventType.ChildDeleted
サブネットノード(例えば、Geometryオブジェクト)の内部でノードが削除される 前に 実行します。この削除をキャンセルすることはできません。
追加キーワード引数: child_node
(hou.Node)
hou.nodeEventType.ChildSwitched
サブネットノード(例えば、Geometryオブジェクト)の内部で現行ノードのディスプレイフラグまたはレンダーフラグが変更(つまり、3Dビューが変更)された後に実行します。
追加キーワード引数: child_node
(hou.Node) – 新しく選択する子ノード。
hou.nodeEventType.ChildSelectionChanged
サブネットノード(例えば、Geometryオブジェクト)の内部で選択を変更した後に実行します。hou.Node.selectedChildren()を使うことで、その新しい選択を取得することができます。
hou.nodeEventType.SpareParmTemplatesChanged
ノード上のスペアパラメータを変更、追加、削除した後に実行します。
Note
ノードにスペアパラメータがあれば、スペアパラメータだけでなく どの パラメータを変更しても、このイベントが発動されます。
hou.nodeEventType.SelectionChanged
ノード変更に関係した選択の後に実行します。これは、SOPノードで選択されたジオメトリ、または、LOPネットワークで選択されたシーングラフプリミティブにのみ適用されます。
hou.nodeEventType.CustomDataChanged
ノード上のカスタムデータが変更された後に実行します。 利用可能なカスタムデータ、そのデータにアクセスするためのメソッドは、変更されたノードのhou.NodeTypeに依存します。 カスタムノードデータの例は、LOP Networkに適用可能なビューポートシーンオーバーライドです。