この方法で作成されたノードの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
で返します。