関数 ¶
プリファレンス ¶
defaultNewPrimPath()
→ str
primpath
パラメータがデフォルトの/$OS
になっている新しいLOPノードでデフォルトで使用されるUSD Primパスを返します。
setDefaultNewPrimPath(path)
primpath
パラメータがデフォルトの/$OS
になっている新しいLOPノードでデフォルトで使用されるUSD Primパスを設定します。
これは、新しいUSD Primの作成で使用されるパラメータを特定します。
このデフォルトを制御することができることで、Primパスをスタジオ標準の命名規則に準拠させるのが簡単になります。
defaultCollectionsPrimPath()
→ str
新しいコレクションの作成時にデフォルトロケーションとして使用されるUSD Primパスを返します。
設定されていなければ、そのデフォルト値は/collections
です。
setDefaultCollectionsPrimPath(path)
新しいコレクションの作成時にデフォルトロケーションとして使用されるUSD Primパスを設定します。 このデフォルトを制御することができることで、Primパスをスタジオ全体の標準命名規則に準拠させるのが簡単になります。
defaultCollectionsPrimType()
→ str
Destination Primitiveがまだ存在しない時にコレクションを格納するために作成されるUSDプリミティブタイプを返します。 そのUSDプリミティブタイプが設定されていない場合、このデフォルト値は空っぽの文字列で、タイプなしのPrimが作成されることを意味します。
setDefaultCollectionsPrimType(path)
Destination Primitiveがまだ存在しない時にコレクションを格納するために作成されるUSDプリミティブタイプを設定します。 このデフォルトを制御することができることで、使用するUSDプリミティブタイプをスタジオ標準の規則に準拠させるのが簡単になります。
defaultLightsPrimPath()
→ str
新しいライトの作成時にデフォルトロケーションとして使用されるUSD Primパスを返します。
設定されていなければ、そのデフォルト値は/lights
です。
setDefaultLightsPrimPath(path)
新しいライトの作成時にデフォルトロケーションとして使用されるUSD Primパスを設定します。 このデフォルトを制御することができることで、Primパスをスタジオ全体の標準命名規則に準拠させるのが簡単になります。
defaultCamerasPrimPath()
→ str
新しいカメラの作成時にデフォルトロケーションとして使用されるUSD Primパスを返します。
設定されていなければ、そのデフォルト値は/cameras
です。
setDefaultCamerasPrimPath(path)
新しいカメラの作成時にデフォルトロケーションとして使用されるUSD Primパスを設定します。 このデフォルトを制御することができることで、Primパスをスタジオ全体の標準命名規則に準拠させるのが簡単になります。
defaultTransformSuffix()
→ str
トランスフォームアトリビュート名のデフォルトの接尾辞として使用される文字列を返します。
setDefaultTransformSuffix(suffix)
トランスフォームアトリビュート名のデフォルトの接尾辞として使用される文字列を設定します。
USDトランスフォームは常にxformOp:
で始まり、続いてトランスフォームタイプ(translate
, rotate
, transform
)、そしてオプションでトランスフォームを表現した接尾辞が付きます。
この文字列は、この接尾辞を指定できる状況でHoudiniが使用するデフォルト値で、
LOPsで編集されたUSDレイヤーをスタジオ全体の標準命名規則に準拠させるのに役立ちます。
showResolvedPaths()
→ bool
解決済みレイヤーファイルパスを表示するオプションが有効になっていればTrueを返します。
setShowResolvedPaths(show_resolved_paths)
レイヤーファイルパスを表示するパネルがそのレイヤー上に設定されているそのままのパスを表示するのか、または、USD Path Resolverを介させた後のパスを表示するのかを制御するためのオプションを設定します。 解決済みパスは、通常ではディスク上のファイルのフルパスです。 一方で解決前のパスは、相対パス、検索パス、カスタムResolverで指定したパスフォーマットのどれかです。
panesFollowCurrentNode()
→ bool
Scene Graph TreeペインやScene Graph DetailsペインなどのLOPペインがネットワークエディタで選択された現行ノードに追従するようになっていればTrueを返します。
setPanesFollowCurrentNode(follow_current_node)
Scene Graph TreeペインやScene Graph DetailsペインなどのLOPペインがネットワークエディタで選択された現行ノードに追従するように設定します。 Falseに設定すると、代わりにこれらのペインは、ディスプレイフラグが設定されたLOPノードの情報を表示します。
panesShowViewportStage()
→ bool
Scene Graph TreeやScene Graph DetailsなどのLOPペインが、Scene Graph Tree内で設定されたビューポートオーバーライドを適用することで生成されたUSDステージに関する情報を表示するようになっていればTrueを返します。
setPanesShowViewportStage(show_viewport_stage)
Scene Graph TreeやScene Graph DetailsなどのLOPペインに対して、Scene Graph Tree内で設定されたビューポートオーバーライドを適用することで生成されたUSDステージに関する情報を表示するオプションを設定します。
このオプションを無効にすると、ビューポートオーバーライドがシーンに適用されている時のそれらのペインのパフォーマンスが向上します。 その代償として、Scene Graph TreeやScene Graph Details内に表示されている可視性とアクティベーションの値がビューポート内に表示されているものと一致しなくなる可能性があります。 とはいえ、ビューポートオーバーライドは最終レンダリングに送信されるUSDには含まれないので、最終レンダリングに使用されるシーン記述に合わせる方が良いでしょう。
panesShowPostLayers()
→ bool
Scene Graph TreeやScene Graph DetailsなどのLOPペインが、何かしらのポストレイヤーを親のLOP Networkに適用することで生成されたUSDステージに関する情報を表示するようになっていればTrueを返します。
setPanesShowPostLayers(show_post_layers)
Scene Graph TreeやScene Graph DetailsなどのLOPペインに対して、何かしらのポストレイヤーを親のLOP Networkに適用することで生成されたUSDステージに関する情報を表示するオプションを設定します。
useSimplifiedLinkerUi()
→ bool
Light LinkerペインやMaterial LinkerペインなどのLOPリンクエディタペインが軽量バージョンのインターフェースを使用していればTrueを返します。
setUseSimplifiedLinkerUi(use_simplified_linker_ui)
Light LinkerペインやMaterial LinkerペインなどのLOPリンクエディタが軽量バージョンのユーザーインターフェースを使用するように設定します。 軽量バージョンのユーザーインターフェースは、膨大な数のリンクルールを扱う時に処理が速くなります。 Falseに設定すると、代わりにこれらのペインは、より多機能でより情報が多い(しかし遅い)インターフェースを表示します。
autoSetAssetResolverContext()
→ bool
Sublayer LOPやReference LOPがディスクから読み込まれた1番目のUSDレイヤーを、USDステージに渡されるResolverコンテキストアセットパスとして使用してそのAsset Resolverコンテキストを自動的に定義するようになっていればTrueを返します。
setAutoSetAssetResolverContext(auto_set_context)
Sublayer LOPやReference LOPがディスクから読み込まれた1番目のUSDレイヤーを、USDステージに渡されるResolverコンテキストアセットパスとして使用してそのAsset Resolverコンテキストを自動的に定義するようする場合はTrueの値を渡します。 このResolverコンテキストは、特定のステージのコンテキスト内でレイヤーファイルを開く時に正しいファイルが見つけられるようにUSD Asset Resolverで使用されます。 たいていの場合、このResolverコンテキストは、ステージの“ルート”レイヤーを見ることで決めることができます。 LOPsの場合では、Sublayer LOPやReference LOPで読み込まれた1番目のレイヤーがその“ルート”レイヤーに一番近いものです。 このプリファレンスは、このワークフローの実装を簡単にします。 別の方法では、Configure Stage LOPをLOPネットワーク内の1番目のノードとして使用して、明示的にResolverコンテキストアセットパスを設定する必要があります。 同様に、このオプションは、Sublayer LOPまたはReference LOPがノードチェーンの1番目のノードだった場合にそれらのLOPにのみ影響します。
updateRendererInBackground()
→ bool
LOPビューポートがバックグラウンドで更新タスクを実行するように設定されていればTrueを返します。
setUpdateRendererInBackground(update_in_background)
LOPビューポートがバックグラウンドで更新タスクを実行するようにさせる場合はTrueの値を渡します。 これによってインタラクティブ性が良くなりますが、ビューポート表示が現行クックされているLOPステージと一時的に同期しません。
loadPayloadsByDefault()
→ bool
ビューポート内ですべてのペイロードを読み込むオプションを有効にして新しいLOPネットワークが作成されるようになっていればTrueを返します。
setLoadPayloadsByDefault(load_payloads)
ビューポート内ですべてのペイロードを読み込むオプションを有効にして新しいLOPネットワークが作成されるようにする場合はTrueの値を渡します。 新しいLOPネットワークに対してビューポート内でのペイロードの読み込みを無効にする場合はFalseの値を渡します。 既存のLOPネットワークは、このメソッドから何も影響を受けません。 このプリファレンスのデフォルト値はTrueです。
allowViewportOnlyPayloads()
→ bool
Configure Stageノードによってビューポートにロードされないように設定されているペイロードを、Scene Graph Treeがユーザ側で強制的にそのペイロードをビューポートにロードすることを許可していればTrueを返します。 Scene Graph Treeがそのようなペイロードの明示的なロードを許可していなければFalseを返します。 False値ならば、ビューポートはLOPネットワークで処理されたペイロードのみが表示されることが保証されていることを意味するので、そのビューポートに表示されているシーンとLOPネットワークで処理されたペイロードを使ってUSD Render ROPがレンダリングするシーンとの間でロードされたペイロードが異なるというミスマッチの発生がありません。
setAllowViewportOnlyPayloads(allow_viewport_only_payloads)
Configure Stageノードでアンロードとして指定されたペイロードをビューポートにロードすることを許可するかどうかを示したフラグを設定します。
pathParameterCompletion()
→ bool
USD Primitive Pathパラメータが構文ハイライトとプリミティブパス補間ヒントを提供するようになっている場合はTrueを返します。 これが有効になっていることが原因で、非常に大きなUSDステージでPrimitive Pathパラメータを編集する時に一時停止する可能性があります。
setPathParameterCompletion(path_parameter_completion)
USD Primitive Pathパラメータがパス補間ヒントを提供するかどうかを指示したフラグを設定します。
defaultMetersPerUnit()
→ float
この値を明示的に設定していないUSDレイヤーに保存されるユニットメートルあたりのデフォルトのメートルを返します。 0の値は、Houdiniの“Unit Length”オプションを使用してそれと等価のユニット値あたりのメートルが生成されることを意味します。
setDefaultMetersPerUnit(meters_per_unit)
この値を明示的に設定していないUSDレイヤーに保存されるユニットメートルあたりのデフォルトのメートルを設定します。 0の値は、Houdiniの“Unit Length”オプションを使用してそれと等価のユニット値あたりのメートルが生成されることを意味します。
defaultUpAxis()
→ str
この値を明示的に設定していないUSDレイヤーに保存されるデフォルトのUp軸の値を返します。 空っぽの文字列は、USD Up軸の代替値(pxr.UsdGeom.GetFallbackUpAxis)が使用されることを意味します。
setDefaultUpAxis(up_axis)
この値を明示的に設定していないUSDレイヤーに保存されるデフォルトのUp軸の値を設定します。
空っぽの文字列は、USD Up軸の代替値(pxr.UsdGeom.GetFallbackUpAxis)が使用されることを意味します。
他に対応している値は、Y
とZ
です。
それ以外の他の値を設定すると、hou.ValueError
例外が引き起こされます。
savePreferences()
→ bool
現在のLOPプリファレンスを$HOME/houdiniX.Y/solaris.pref
に保存します。
これは、それらのプリファレンスがPreferencesダイアログで変更された時、または、Houdiniを終了した時に自動的に行なわれます。
しかし、バッチスクリプト環境では、それらのプリファレンスに変更を加えても自動的に保存されないので、このメソッドを使用する必要があります。
プリファレンスファイルの保存に成功すればTrue
を返します。
addPreferenceChangeCallback(callback)
これらのプリファレンスのどれかが変更される度に呼び出されるコールバック関数を登録します。
removePreferenceChangeCallback(callback)
以前にaddPreferenceChangeCallback
コールで登録されたコールバック関数の登録を解除します。
VOPからUsdShadeへの変換 ¶
shaderTranslatorID(node)
→ int
指定したノードのシェーダトランスレータのIDを返します。 このIDはHoudiniセッションに固有の値で、セッション間で変わります。
shaderRenderContextName(node, node_output_name)
→ str
指定したノードと出力のレンダーコンテキスト名を返します。 この名前は、USD Material Prim出力名で使用され、接続されたシェーダを指定したレンダラーに関連付けます。
node
返すレンダーコンテキスト名のシェーダノード。
node_output_name
レンダーコンテキスト名を返す出力名。 ノードは複数の出力を持つことができ、それぞれの出力が異なるレンダラーに対応しています。
translateShader(node, node_output_name, material_prim_path, container_prim_path, shader_prim_name=None, frame=None )
→ str
新しいシェーダPrimを作成し、そのシェーダPrim出力のパスを返します。
node
USDシェーダPrimに変換するシェーダノード。
node_output_name
変換するシェーダを表現したノード出力(ノードがマテリアルの場合)、または、他のUSDシェーダPrimの入力として必要な出力値。
material_prim_path
USDシェーダを含んだマテリアルPrimのUSDパス。
container_prim_path
USDシェーダが直接編集される親Primのパス(例えば、NodeGraphまたはMaterial)。
shader_prim_name
作成されるUSDシェーダPrimに使用される名前。 これを指定しなかった場合、ノード名が使用されます。
frame
ノードパラメータが評価されるフレーム番号、および、アニメーション付きアトリビュートを編集するUSDタイムコード。 これを指定しなかった場合、現行時間を使用してパラメータが評価され、USDアトリビュート値はデフォルトのタイムコードで編集されます。
reportShaderTranslation(node, usd_shader_path)
既知のシェーダ変換のテーブルにエントリーを追加します。 これによって、LOPsは、シェーダの増分の再変換に必要となるシェーダVOPが与えられたUSDシェーダPrimを見つけることができます。
node
USDシェーダPrimに変換されたシェーダノード。
usd_shader_path
そのnode
が変換された場所のUSDシェーダPrimパス。
shaderNodeType(shader_name)
→ hou.NodeType
指定したシェーダ名のシェーダのhou.NodeTypeを返します。
シェーダ名は、抽象シェーダエンティティの汎用識別子であり、返されるノードタイプは、そのタイプのノード形式でのシェーダ表現です。
例えば、foo
シェーダは、my_namespace::FooShader::2.0
タイプのVOPノードに呼応します。
ノードパラメータとUSDプロパティ ¶
createParmsForProperty(source, primpath, propertyname, parametername,
prepend_control_parm, prefix_xform_parms) -> [Hom:hou.ParmTemplateGroup]
USDステージ上のプロパティを指定すると、このメソッドは、そのUSDプロパティを制御するEdit Properties LOPノード上に配置可能なパラメータを表現したhou.ParmTemplateGroupオブジェクトを返します。
source
hou.LopNodeオブジェクトまたは文字列のどちらかを指定します。 hou.LopNodeオブジェクトの場合、そのLOPノードが所有しているUSDステージからプロパティが抽出されます。 文字列の場合、その指定したパスのディスク上のUSDファイルが読み込まれ、そこからプロパティが抽出されます。
primpath
プロパティが存在しているUSD Primのパス。
propertyname
作成されるパラメータのUSDプロパティの名前。
parametername
生成するパラメータの名前。 この値には文字列またはNoneを指定することができます。 Noneの場合、パラメータ名はプロパティ名に一致します。 このパラメータ名は、Edit Propertiesノードで編集されるプロパティ名を決定するので、 このパラメータの値を設定すると、パラメータの生成に使用されたプロパティとは異なるプロパティが編集されます。
prepend_control_parm
返されるパラメータテンプレートグループに、プロパティ値を設定/無視またはEdit Propertiesノードで対応している他の標準アクションのどれかを選択するためのメニューを含めたいのであればTrueに設定します。
prefix_xform_parms
指定したプロパティがトランスフォームプロパティの場合、このメソッドは、別々に移動パラメータ、回転パラメータ、スケールパラメータ、そしてトランスフォームマトリックスの生成で合成される他のパラメータを生成します。
このオプションをFalseに設定すると、それらの追加パラメータは、t
、s
、r
のように標準のHoudiniトランスフォームパラメータ名を使用します。
Trueに設定すると、それらのパラメータ名の頭にプロパティ名が付きます。つまり、それらのパラメータ名はEdit Propertiesノード上の他のトランスフォームパラメータと干渉しません。
createParmsForParameter(source, parametername, prepend_control_parm) -> [Hom:hou.ParmTemplateGroup]
ソースノードパラメータを与えると、このメソッドは、そのパラメータに呼応したUSDプロパティの値を制御するEdit Properties LOPノードに配置可能なパラメータを表現したhou.ParmTemplateGroupオブジェクトを返します。
返されたグループには、USDプロパティの変更方法と値パラメータを表現したコントロールパラメータが含まれています。 このコントロールパラメータは、disable-when条件用であることとその他のいくつかの小さな違いを除いて、指定されたパラメータと非常に似ています。
source
返される編集パラメータグループのベースとなるhou.ParmTemplateオブジェクト。
parametername
生成するパラメータの名前。 この値には、文字列またはNoneを指定することができます。 Noneを指定した場合、そのパラメータ名は、指定したパラメータと同じになります。
prepend_control_parm
返されるパラメータテンプレートグループに、プロパティ値を設定/無視/Edit Propertiesノードが対応している他の標準のアクションのどれかを選択するメニューを含めたい場合、Trueに設定します。
setParmTupleFromProperty(parmtuple, source, primpath, propertyname)
USD Prim上のプロパティの値からノードパラメータタプルの値を設定します。 パラメータのデータタイプとUSDプロパティのデータタイプに互換性がないことが原因でそのパラメータを設定することができない場合、または、そのUSDプロパティが見つからない場合は、hou.OperationFailedの例外が引き起こされます。
parmtuple
USDプロパティの値を設定したいパラメータを指定したhou.ParmTupleオブジェクト。
source
USDプロパティ値が抽出されるUSDステージを含んだhou.LopNodeオブジェクト。
primpath
USD Primのシーングラフパスを示した文字列。
propertyname
USD Prim上のプロパティの名前を示した文字列。
レンダーデリゲート情報 ¶
availableRendererInfo()
→ list of dict
登録されているレンダラープラグインのメタデータを含んだ辞書のリストを返します。
availableRendererLabels()
→ tuple of str
登録されているレンダラープラグインの表示ラベルを含んだタプルを返します。
availableRendererNames()
→ tuple of str
登録されているレンダラープラグインの内部名を含んだタプルを返します。
出力プロセッサ ¶
outputProcessorParms(name)
→ hou.ParmTemplateGroup
name
パラメータに合致した内部名を持つ出力プロセッサを設定する際に使用可能なパラメータを返します。
出力プロセッサに関する情報は、USD ROPを参照してください。
outputProcessors()
→ tuple
of tuple
of str
レジストリ内の各出力プロセッサプラグインの内部名とユーザーから見えるラベルを含んだタプルを返します。 出力プロセッサに関する情報は、USD ROPを参照してください。
USD全般 ¶
makeValidPrimName(name)
→ str
この関数は、指定した文字列が有効なプリミティブパスの一部として使用できるように有効なUSDプリミティブ名の要件を満たすことを保証します。 スペースやたいていの句読点などの無効な文字はアンダースコアに変換されます。そのため、変換後の文字列は元の文字列に戻すことができないことに注意してください。 元の文字列が既に有効なプリミティブ名だった場合、その名前がそのまま返されます。
makeValidPrimPath(path, allow_relative = False)
→ str
この関数は、指定したパスがpsx.Sdf.Path
オブジェクトに変換できる有効なUSDプリミティブパスの要件を満たすことを保証します。
スペースやたいていの句読点などの無効な文字はアンダースコアに変換されます。そのため、変換後のパスは元のパスに戻すことができないことに注意してください。
元のパスが既に有効なプリミティブパスだった場合、そのパスがそのまま返されます。
allow_relative
値がTrue
の場合、そのパスには相対プリミティブパスが許可されます。
相対プリミティブパスとは、./
とか../
から始まるパスのことです。
この引数がFalse
の場合、(/
から始まる)絶対パスのみが許可されます。
False
の場合、単にそのパスから相対パス接頭辞が除去され、常に/
から始まるパスが返されます。
reloadLayer(layer_path, recursive = False)
このメソッドは、指定したレイヤーパスに対してUSD Reloadメソッドをコールします。
さらに、Houdiniのリロードの内部データ構造更新します。
Houdiniでリロードを実行する時は、このメソッドをpxr.Sdf.Layer.Reload
または同様のメソッドの代わりに使用してください。
recursive パラメータをTrueに設定すると、Houdiniは、指定したレイヤーで参照されている他のレイヤーを再帰的に検索して、それらのレイヤーもリロードします。
usdVersionInfo()
→ dict
of str
to str
Houdiniに搭載されているUSDライブラリに関する情報を含んだ辞書を返します。
usdversion
文字列に変換されたUSDリリース番号。
USDリリース番号はYY.MM
の形式になっています。
YY
とMM
は、リリースされたその年と月です。
packageurl
USDライブラリのビルド元のGitリポジトリのURL。
packagerevision
USDライブラリのビルドに使用された特定のブランチのGitコミットハッシュコード。
packageurl
とpackagerevision
の値は、Houdiniに同梱されているUSDライブラリが独自のUSDビルドに置換されている場合には、空っぽの文字列を返します。
usdOutputMinimumSeverity()
→ hou.severityType
標準出力に出力される最低USDメッセージ重要度を返します。 USDライブラリは、エラー状態、警告状態、または、単にステータスメッセージを示した色々なメッセージを生成することができます。 LOPノードをクック中にそのようなメッセージが生成された場合では、この設定に関係なく、そのメッセージはコンソールに決して出力されません。
setUsdOutputMinimumSeverity(hou.severityType)
標準出力に書き出されるUSDライブラリが生成する最低メッセージ重要度を設定します。 このメソッドは、LOPノードがクックしていない時に生成されたメッセージの出力のみを制御します。
addLockedGeometry(identifier, geo, args = {})
→ str
USDリファレンスまたはサブレイヤーとして使用できるようにhou.Geometry
のロックされたコピーをレジストリに追加します。
返される文字列は、コンポジションアークを追加する時に使用可能なUSDレイヤー識別子です。
args
辞書を指定する場合、その内容を事前に文字列に変換しておく必要があります。
例えば、{ 't': '1.0' }
は有効ですが、{ 't': 1.0 }
は無効です。
Note
この関数を使用して作成されたレジストリエントリは、必ずhou.lop.removeLockedGeometryを介して明示的に削除してください。
例:
from pxr import Usd geo = hou.Geometry() geo.loadFromFile('shaderteapot.bgeo') stage = Usd.Stage.CreateInMemory() layer_id = hou.lop.addLockedGeometry('teapot', geo) stage.GetRootLayer().subLayerPaths.append(layer_id)
hou.LopNode.addLockedGeometryも参照してください。
removeLockedGeometry(identifier)
→ bool
レジストリからロックされたhou.Geometry
を削除し、成功または失敗を示したbool
を返します。
Note
identifier
引数には、以前のhou.lop.addLockedGeometryコールで返されたstr
値を指定してください。
例:
geo = hou.Geometry() geo.loadFromFile('shaderteapot.bgeo') layer_id = hou.lop.addLockedGeometry('teapot', geo) hou.lop.removeLockedGeometry(layer_id)
forceReloadAllFilesFromDisk(reload_viewports)
Reload系パラメータを持つすべてのLOPノードの“Reload”ボタンを押します。
reload_viewports
パラメータがTrue
の場合、このメソッドは、シーンビューアペインが所有しているすべてのUSDステージもクリアします。
これによって、Houdini内のすべてのUSDステージが実質的にゼロから再構築されます。
これは非常に処理のかかる操作になる可能性がありますが、Asset Resolverの構成が変更された時などの一部のケースにおいて、USDを強制的にリロードして、ディスク上のアセットのパスを再解決する必要があります。