ノードイベントコールバックは、それぞれのノードインスタンスでイベントが発生した時にコードを実行させることができます。 hou.OpNode.addEventCallbackを参照してください。
どのイベントタイプでも、node
キーワード引数(ノードのhou.OpNode参照を含む)と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
このノードが依存している入力ノードのデータが変更された後に実行します。 (例えば、Switchノードによって)使用されていない入力ノードのデータが変更されても、このコールバックは発動されません。 ノードのデータまたはパラメータがエクスプレッションを介して参照されている場合、そのノードが変更されても、Houdiniはこのイベントを発動しません。 このノードに入力として接続されているノードのみがこのコールバックを発動します。
hou.nodeEventType.ParmTupleChanged
パラメータ値を変更した後に実行します。hou.ParmTuple.evalを使うことで、その新しい値を取得することができます。
追加キーワード引数: parm_tuple
(hou.ParmTuple)
Note
ノード上のほとんど/すべてのパラメータを同時に変更した場合、各パラメータに対してハンドラーをコールするのではなく、Houdiniはparm_tuple
引数にNone
を使って、ハンドラーを一回コールします。
あなたのコールバックコードは、この機能性を利用してください。
hou.nodeEventType.ParmTupleAnimated
Undo/Redoによる、または、アニメーションエディタによる大きな変更によるパラメータ値の変更の後に実行します。 これは再生中にコールされません。hou.ParmTuple.evalを使うことで、その新しい値を取得することができます。
追加キーワード引数: parm_tuple
(hou.ParmTuple)
Note
ノード上のほとんど/すべてのパラメータを同時に変更した場合、各パラメータに対してハンドラーをコールするのではなく、Houdiniはparm_tuple
引数にNone
を使って、ハンドラーを一回コールします。
あなたのコールバックコードは、この機能性を利用してください。
hou.nodeEventType.ParmTupleChannelChanged
アニメーションエディタによる小さな変更によるパラメータ値の変更の後に実行します。 これは再生中にコールされません。hou.ParmTuple.evalを使うことで、その新しい値を取得することができます。
追加キーワード引数: parm_tuple
(hou.ParmTuple)
Note
ノード上のほとんど/すべてのパラメータを同時に変更した場合、各パラメータに対してハンドラーをコールするのではなく、Houdiniはparm_tuple
引数にNone
を使って、ハンドラーを一回コールします。
あなたのコールバックコードは、この機能性を利用してください。
hou.nodeEventType.ParmTupleLockChanged
パラメータロック状態が変更された後に実行します。 hou.Parm.isLockedを使用することで、新しいロック値を取得することができます。
追加キーワード引数: parm_tuple
(hou.ParmTuple)
hou.nodeEventType.ParmTupleEnabledChanged
パラメータ有効状態が変更された後に実行します。 hou.Parm.isDisabledを使用することで、新しい有効状態値を取得することができます。
hou.nodeEventType.ParmTupleVisibleChanged
パラメータ可視状態が変更された後に実行します。 hou.Parm.isHiddenを使用することで、新しい可視値を取得することができます。
hou.nodeEventType.ChildCreated
サブネットノード(例えば、Geometryオブジェクト)の場合、内部で新しいノードが作成された後に実行します。
追加キーワード引数: child_node
(hou.OpNode)
hou.nodeEventType.ChildDeleted
サブネットノード(例えば、Geometryオブジェクト)の場合、内部でノードが削除される 前に 実行します。この削除をキャンセルすることはできません。
追加キーワード引数: child_node
(hou.OpNode)
hou.nodeEventType.ChildSwitched
サブネットノード(例えば、Geometryオブジェクト)の内部で現行ノードのディスプレイフラグまたはレンダーフラグが変更(つまり、3Dビューが変更)された後に実行します。
追加キーワード引数: child_node
(hou.OpNode) – 新しく選択する子ノード。
hou.nodeEventType.ChildSelectionChanged
サブネットノード(例えば、Geometryオブジェクト)の場合、内部で選択を変更した後に実行します。 この選択は、ノード、ネットワークボックス、ステッキーノート、間接サブネット入力、ネットワークドットで構成することができます。 hou.Node.selectedItemsを使うことで、その新しい選択を取得することができます。
hou.nodeEventType.NetworkBoxCreated
新しいネットワークボックスがこのノード内に作成された後に実行します。
hou.nodeEventType.NetworkBoxChanged
このノード内のネットワークボックスからアイテムが追加または削除された後に実行します。
場合によっては、新しいネットワークボックスはNetworkBoxCreated
コールバックを受信する前にNetworkBoxChanged
コールバックを受信することができます。
hou.nodeEventType.NetworkBoxDeleted
このノード内のネットワークボックスが削除される直前に実行します。
hou.nodeEventType.StickyNoteCreated
このノード内に新しいネットワークボックスが作成された後に実行します。
hou.nodeEventType.StickyNoteChanged
このノード内の新しいステッキーノートのテキストが変更された後に実行します。
場合によっては、新しいステッキーノートがStickyNoteCreated
コールバックを受信する前にStickyNoteChanged
コールバックを受信することができます。
hou.nodeEventType.StickyNoteDeleted
このノード内のステッキーノートが削除される直前に実行します。
hou.nodeEventType.IndirectInputCreated
このノード内で新しい間接入力が作成された後に実行します。一般的には、これはNetwork Dotが該当しますが、場合によってはSubnet Indirect Inputが該当します。
hou.nodeEventType.IndirectInputRewired
間接入力の入力接続が変更された後に実行します。 Subnet Indirect Inputには入力接続がないので、これはNetwork Dotでのみ実行されます。
hou.nodeEventType.IndirectInputDeleted
このノード内から間接入力が削除される前に実行します。一般的には、これはNetwork Dotが該当しますが、場合によってはSubnet Indirect Inputが該当します。
hou.nodeEventType.SpareParmTemplatesChanged
ノード上のスペアパラメータを変更、追加、削除した後に実行します。
Note
ノードにスペアパラメータがあれば、スペアパラメータだけでなく どの パラメータを変更しても、このイベントが発動されます。
hou.nodeEventType.SelectionChanged
ノード変更に関係した選択の後に実行します。これは、SOPノードで選択されたジオメトリ、または、LOPネットワークで選択されたシーングラフプリミティブにのみ適用されます。
hou.nodeEventType.CustomDataChanged
ノード上のカスタムデータが変更された後に実行します。 利用可能なカスタムデータ、そのデータにアクセスするためのメソッドは、変更されたノードのhou.NodeTypeに依存します。 カスタムノードデータの例は、LOP Networkに適用可能なビューポートシーンオーバーライドです。
hou.nodeEventType.WorkItemSelectionChanged
TOPネットワーク用で、選択したワークアイテムが変更された後に実行します。
追加キーワード引数: work_item_id
- 選択したワークアイテムのID。
追加キーワード引数: selected_node
- 選択があれば、その選択したTOPノード。