Note
Houdiniは、Houdiniを実行した環境の“現行ディレクトリ”(場合によっては、“現行作業ディレクトリ”と呼びます)を継承します。
一部の関数は、その現行ディレクトリを基準にしたパスを返したり受け取ります。
os.getcwd()
をコールすることで、Houdiniの現行ディレクトリを確認することができ、os.chdir
をコールすること、そのディレクトリを変更することができます。
関数 ¶
basename()
→ str
現行シーンのパスのファイル名の部分を返します(.hip
拡張子を含みます)。
name()
→ str
現行ディレクトリを基準にした現行HIPファイルの パス を返します。 現行シーンがまだ保存されていない場合は、 このパスにはファイルが存在していない ことを忘れないでください。
この関数は、現行ディレクトリを基準にした 相対パス を返します。
例えば、現行ディレクトリが/home/alyah/
で、現行シーンファイルが/home/alyah/Houdini/Projects/city.hip
の場合、これはHoudini/Projects/city.hip
を返します。
これは、hou.hipFile.basename()
をコールするのと同じです。
現行シーンファイルの絶対パスが必要であれば、代わりにHom:hou.hipFile#path
を使用してください。
path()
→ str
現行シーンファイルの絶対ファイルパスを返します。 現行シーンがまだ保存されていない場合は、 このパスにはファイルが存在していない ことを忘れないでください。
hasUnsavedChanges()
→ bool
現行Houdiniセッションが最終保存時刻以降で変更されている(現行ファイルが“Dirty”である)かどうかを返します。
この関数は、グラフィカルセッションでのみ動作します。
非グラフィカルセッション(hython
)では、これは常にTrueを返します。
isNewFile()
→ bool
現行Houdiniファイルが新規ファイルなのか以前に読み込まれたファイルなのかを返します。
この関数は、グラフィカルセッションでのみ正しく動作します。
非グラフィカルセッション(hython
)では、ファイル名がデフォルトのファイル名と同じである場合には、これは常にTrueを返します。
load(file_name, suppress_save_prompt=False, ignore_load_warnings=False)
新しくシーン(.hip
)ファイルを読み込みます。
Houdiniがそのファイルを読み込めなかった場合は、hou.OperationFailedを引き起こします。
新しくファイルを読み込んだ際に(アセットが見つからないといった)警告が発動されたら、hou.LoadWarningを引き起こします。
ignore_load_warnings=True
を渡すことで、そのような例外を回避することができます。
file_name
読み込むシーンファイルのパス。
suppress_save_prompt
通常ではグラフィカルセッションで使用し、この関数は、ユーザが File ▸ Open を選択した時と同じ挙動をし、ファイルの変更がまだ保存されていなければ、現行ファイルを保存するように促します。
suppress_save_prompt=True
を渡すことで、そのプロンプトを出さずにHoudiniに新しくファイルを読み込ませることができます。
非グラフィカルセッション(hython
)では、この関数は、常にsuppress_save_prompt
が有効な状態で動作します。
ignore_load_warnings
新しくファイルを読み込んだ際に(アセットが見つからないといった)警告が発動されても、Houdiniがhou.LoadWarning例外を引き起こさないようにします。
save(file_name=None, save_to_recent_files=True)
現行シーンを.hip
ファイルに保存します。
file_name
これが文字列の場合、 File ▸ Save As のように、このパスで現行シーンをファイルに保存します。パスには、絶対パスまたは現行ディレクトリの相対パスを指定することができます。
これがNone
の場合、 File ▸ Save のように、現行パス(hou.hipFile.path)でシーンが保存されます。
パス内の中間ディレクトリが存在しなかった場合、 Houdiniはその中間ディレクトリを生成します 。
save_to_recent_files
グラフィカルセッションでは、 File ▸ Open Recent Files メニューの最近のファイルのリストにこのファイルを追加するかどうか。デフォルトはTrueです。
非グラフィカルセッション(hython
)では、save_to_recent_files
が無効なものとして動作します。
Houdiniが中間ディレクトリを生成できなかった場合、または、(例えば、ファイルシステムのパーミッションが原因で)指定したファイルに書き出せなかった場合はhou.OperationFailedを引き起こします。
Houdiniがシャットダウン中(hou.hipFile.isShuttingDownを参照)に、または、既にシーンファイルの読み込み/保存中(hou.hipFile.isLoadingHipFileを参照)に、この関数がコールされても、hou.OperationFailedが発生します。
setName(file_name)
現行シーンファイルのIn-Memoryパスを設定します。これは、ユーザが File ▸ Save を選択、または、ファイルパスなしでhou.hipFile.saveをコールした場合にHoudiniが保存するパスのことです。
file_name
使用するパス。ここには、絶対パスまたは現行ディレクトリの相対パスを指定することができます。
この関数は、シーンを保存するわけではなく、Houdiniがシーンを保存すべきパスを変更するだけです。 実際にシーンを新しいパスに保存するには、hou.hipFile.saveを使用してください。
saveAndIncrementFileName()
現行パスにシーンを保存( File ▸ Save と同じ)しますが、ファイル名の最後の番号を上げます。
Houdiniが中間ディレクトリを生成できなかった場合、または、(例えば、ファイルシステムのパーミッションが原因で)指定したファイルに書き出せなかった場合はhou.OperationFailedを引き起こします。
Houdiniがシャットダウン中(hou.hipFile.isShuttingDownを参照)に、または、既にシーンファイルの読み込み/保存中(hou.hipFile.isLoadingHipFileを参照)に、この関数がコールされても、hou.OperationFailedが発生します。
saveAndBackup()
→ str
現行シーンを保存しますが、まず最初に$HOUDINI_BACKUP_DIR
内に.hip
拡張子の前に_bak
と増分番号を付けて以前に保存した状態のシーンのバックアップを作成します。
$HOUDINI_BACKUP_DIR
を設定しなかった場合、これは、シーンファイルと同じディレクトリ内のbackup
ディレクトリにバックアップファイルを作成します。
バックアップファイルの絶対パスを返します。
Houdiniが中間ディレクトリを生成できなかった場合、または、(例えば、ファイルシステムのパーミッションが原因で)指定したファイルに書き出せなかった場合はhou.OperationFailedを引き起こします。
Houdiniがシャットダウン中(hou.hipFile.isShuttingDownを参照)に、または、既にシーンファイルの読み込み/保存中(hou.hipFile.isLoadingHipFileを参照)に、この関数がコールされても、hou.OperationFailedが発生します。
saveAsBackup()
→ str
現行シーンを$HOUDINI_BACKUP_DIR
内に.hip
拡張子の前に_bak
と増分番号を付けた新しいファイルに保存します。
$HOUDINI_BACKUP_DIR
を設定しなかった場合、これは、シーンファイルと同じディレクトリ内のbackup
ディレクトリにファイルを保存します。
バックアップファイルの絶対パスを返します。
Houdiniが中間ディレクトリを生成できなかった場合、または、(例えば、ファイルシステムのパーミッションが原因で)指定したファイルに書き出せなかった場合はhou.OperationFailedを引き起こします。
Houdiniがシャットダウン中(hou.hipFile.isShuttingDownを参照)に、または、既にシーンファイルの読み込み/保存中(hou.hipFile.isLoadingHipFileを参照)に、この関数がコールされても、hou.OperationFailedが発生します。
clear(suppress_save_prompt=False)
現行シーンファイルの内容をクリアして、未保存の新しいファイルを開始します。
suppress_save_prompt
通常グラフィカルセッションでは、この関数は、ユーザが File ▸ New を選択するのと同じ挙動で、変更が保存されていなかった場合に現行シーンを保存するように促します。
suppress_save_prompt=True
を渡すことで、Houdiniがプロンプトを出さずにクリアさせることができます。
非グラフィカルセッション(hython
)では、suppress_save_prompt
が有効なものとして動作します。
merge(file_name, node_pattern="*", overwrite_on_conflict=False, ignore_load_warnings=False)
file_name
パスにあるファイルの内容を現行シーンに取り込みます(これは、現行シーンファイルを保存しません)。
新しくファイルを読み込んだ際に(アセットが見つからないといった)警告が発動されたら、hou.LoadWarningを引き起こします。
ignore_load_warnings=True
を渡すことで、このような例外を引き起こさないようにすることができます。
node_pattern
このパターンに合致したノードのみをマージします。
overwrite_on_conflict
マージするノードが既存ノードと同じパス/名前だった場合の挙動を指定します。
これをTrue
にすると、マージするノードが既存ノードを置換します。
これをFalse
(デフォルト)にすると、マージするノードが既存ノードと干渉した場合にはその名前が変更されます。
マージする 前 に干渉がないかどうかをチェックしたいのであれば、hou.hipFile.collisionNodesIfMergedを参照してください。
ignore_load_warnings
新しくファイルを読み込んだ際に(アセットが見つからないといった)警告が発動されてもHoudiniがhou.LoadWarning例外を引き起こさないようにします。
マージするファイルが存在しなかった場合、または、Houdiniがそのファイルを読み込むことができなかった場合は、hou.OperationFailedを引き起こします。
Houdiniがシャットダウン中(hou.hipFile.isShuttingDownを参照)に、または、既にシーンファイルの読み込み/保存中(hou.hipFile.isLoadingHipFileを参照)に、この関数がコールされても、hou.OperationFailedが発生します。
collisionNodesIfMerged(file_name, node_pattern="*")
→ tuple of hou.OpNode
hou.hipFile.mergeを使って指定したファイルのマージを試みた際に 干渉 したノードを表現したhou.OpNodeオブジェクトのシーケンスを返します。
node_pattern
このパターンに合致したノードのみをチェックします。
マージするファイルが存在しなかった場合、または、Houdiniがそのファイルを読み込むことができなかった場合は、hou.OperationFailedを引き起こします。
Houdiniがシャットダウン中(hou.hipFile.isShuttingDownを参照)に、または、既にシーンファイルの読み込み/保存中(hou.hipFile.isLoadingHipFileを参照)に、この関数がコールされても、hou.OperationFailedが発生します。
isLoadingHipFile()
→ bool
Houdiniが現在シーンファイルを読み込み中であればTrue
を返します。
isShuttingDown()
→ bool
Houdiniが現在シャットダウン中であればTrue
を返します。
groupColorTable()
→ dict
of str
to hou.Color
ビューポートグループリスト用のカラーオーバーライドの辞書を返します。 ビューポートグループリストは、グループ名のハッシュに基づいて自動的にカラーをグループに割り当てます。 グループカラーテーブルは、デフォルトのカラー割り当てのオーバーライドの辞書です。 これによって、特定の重要なグループに目立ったカラーを割り当てることができます。 グループカラーテーブルは、HIPファイルに保存されます。 このカラーテーブルは、hou.hipFile.setGroupColorTableを使って修正することができます。
setGroupColorTable(color_table)
ビューポートグループリストのカラーオーバーライドの辞書を設定します。 ビューポートグループリストは、グループ名のハッシュに基づいて自動的にカラーをグループに割り当てます。 グループカラーテーブルは、デフォルトのカラー割り当てのオーバーライドの辞書です。 これによって、特定の重要なグループに目立ったカラーを割り当てることができます。 グループカラーテーブルは、HIPファイルに保存されます。 現行のカラーテーブルは、hou.hipFile.groupColorTableを使って照会することができます。
指定するcolor_table
は、str
とhou.Colorをマッピングしたdict
でなければなりません。
以下の例は、グループ名’special_group'を赤のオーバーレイで表示させます:
color_table = { 'special_group' : hou.Color([1,0,0]) } hou.hipFile.setGroupColorTable(color_table)
saveMode()
→ hou.saveMode
現行シーンの保存モードhou.saveMode.Binaryまたはhou.saveMode.Textのどちらかを返します。
setSaveMode(save_mode)
現行シーンの保存モードをhou.saveMode.Binaryまたはhou.saveMode.Textのどちらかに設定します。
importFBX(file_name, suppress_save_prompt=False, merge_into_scene=True, import_cameras=True, import_joints_and_skin=True, import_geometry=True, import_lights=True, import_animation=True, import_materials=True, resample_animation=False, resample_interval=1.0, override_framerate=False,framerate=-1, hide_joints_attached_to_skin=True, convert_joints_to_zyx_rotation_order=False, material_mode=hou.fbxMaterialMode.FBXShaderNodes, compatibility_mode=hou.fbxCompatibilityMode.Maya, single_precision_vertex_caches=False, triangulate_nurbs=False, triangulate_patches=False, import_global_ambient_light=False, import_blend_deformers_as_blend_sops=False, segment_scale_already_baked_in=True, convert_file_paths_to_relative=True, unlock_geometry=False, unlock_deformations=False, import_nulls_as_subnets=False, import_into_object_subnet=True, convert_into_y_up_coordinate_system=False, create_sibling_bones=True, override_scene_frame_range=False, convert_units=False)
→ (hou.ObjNode, str
)
ユーザが File ▸ Import ▸ FBX を選択するのと同様に、FBXファイルの内容をシーンに取り込みます。
FBXノードを含んだ親Subnetwork Objectノード(import_into_object_subnet
オプションを参照)と生成された読み込みメッセージを含んだ文字列のタプルを返します。
重要: FBX Importダイアログに関する色々なオプションの情報はヘルプを参照してください。
import_into_object_subnet
これがTrue
(デフォルト)の場合、Houdiniは、オブジェクトレベルで新しくSubnetworkノードを作成し、そのSubnetworkノード内にFBXノードを取り込みます。
import_into_object_subnet=False
の場合、Houdiniは、オブジェクトレベル直下にFBXノードを作成します(戻り値のタプルの1番目の項目には/obj
ネットワークノードが入ります)。
マージするファイルが存在しなかった場合、または、Houdiniがそのファイルを読み込むことができなかった場合は、hou.OperationFailedを引き起こします。
Houdiniがシャットダウン中(hou.hipFile.isShuttingDownを参照)に、または、既にシーンファイルの読み込み/保存中(hou.hipFile.isLoadingHipFileを参照)に、この関数がコールされても、hou.OperationFailedが発生します。
addEventCallback(callback)
.hipファイルイベント(例えば、ファイルの読み込みやファイルの保存)が発生した時にコールされるPythonコールバックを登録します。
callback
1つの引数を必要とするコール可能なPythonオブジェクト。 この引数は、hou.hipFileEventType列挙値です。
詳細は、シーンイベントコールバックを記述する方法を参照してください。
def scene_event_callback(event_type): hou.ui.displayMessage("An event of type {} occured".format(event_type)) hou.hipFile.addEventCallback(scene_event_callback)
removeEventCallback(callback)
hou.hipFile.addEventCallbackを使って以前に登録したPythonコールバックを削除します。 詳細は、hou.hipFile.addEventCallbackを参照してください。
以前にコールバックが登録されていなかった場合は、hou.OperationFailedを引き起こします。
clearEventCallbacks()
hou.hipFile.addEventCallbackを使って登録されたすべてのPythonコールバックを削除します。
eventCallbacks()
→ tuple
of callback
hou.hipFile.addEventCallbackを使って登録されたすべてのコールバック関数のタプルを返します。