Houdini 20.0 hapi

hapi.createNode function

ノードネットワーク内にノードを作成します。

この方法で作成されたノードのhapi.NodeInfo.createdPostAssetLoadはTrueに設定されます。

Note

スレッド化されたモードでは、このコールは 非同期 です!

Note

これは、有効なライセンスを実際にチェックします。

このAPIはスレッド化が有効になっている場合にクックスレッドを呼び出します。 つまり、たとえガーベジに流れたとしてもhapi.result.Successのコール結果で即座に返します。 DIAGNOSTICSでステータスコードとクックカウント系APIを使用することで、進捗具合を取得することができます。 他のすべてのAPIは、ノードの生成(と、オプションで最初のクック)が完了するまでブロックされます。

さらに、クック結果が(このコールを含む)すべてのコールと同じタイプのhapi.statusType.CallResultにはならないことに注意してください。 スレッド化されたクックが完了する度に、hapi.statusType.CookResultを使用して照会されるようなクック結果が返されます。

使用方法

createNode(session: hapi.Session, parent_node_id: int, operator_name: str, node_label: str, cook_on_creation: bool) → int

ノードネットワーク内にノードを作成します。 この方法で作成されたノードのhapi.NodeInfo.createdPostAssetLoadはTrueに設定されます。

session

あなたが操作しているHoudiniのセッション。 セッションの詳細はhapi.Sessionを参照してください。 単にデフォルトのインプロセスのセッションを使用するのであれば、Noneを渡してください。

parent_node_id

親ノードネットワークのノードID。 その親ノードネットワークがマネージャ(トップレベル)ノードなら-1。 その場合、そのマネージャノードはそのオペレータ名の中のテーブル名で判断する必要があります。

operator_name

ノードオペレータタイプの名前。

parent_node_idに-1を渡した場合、operator_nameには必ずテーブル名(例えば、Object/とかSop/)が含まれている必要があります。 これは、読み込まれたアセットライブラリからアセットノードを作成する場合でよく行なわれるケースです。 その場合、単にhapi.getAvailableAssetsが返す名前を渡してください。

parent_node_idがある場合、ネームスペース、名前、バージョンだけを含めてください。

例えば、Objectタイプのアセットがあって、それが“hapi”ネームスペース内に存在し、バージョンが2.0、名前が“foo”だったとします。 parent_node_idに-1を渡した場合、operator_nameには“Object/hapi::foo::2.0”を設定してください。 それ以外の場合、有効なparent_node_idがあれば、単にoperator_nameには“hapi::foo::2.0”を設定してください。

node_label

(オプション)新しく作成されるノードのラベル。

cook_on_creation

ノードが作成された時に一度そのノードをクックするかどうかを設定します。

新しいノードIDをintで返します。

hapi