Houdini 16.0 から .hip は テキストフォーマットで保存することが出来るようになった。ここでは、今更だが、その方法とそれに付随する便利な機能を紹介する。
使用したビルド: 16.5.354 (2023年6月以降 Text ベースの .hip ファイルを使った運用をするのであれば 19.5.654 以降のビルドが必須。詳細はこのページの「テキスト保存のプリファレンス設定」を参照のこと)
1. Save as Text
- 例えば、Create シェルフから Ctrl キーを押しながら Torus を実行する。
- 原点に torus_object1 が作られる。
- ここで File->Save を実行、例えば torus.hip という名前で保存すると、保存されるファイルはバイナリファイルになり、テキストエディタで開くことは出来ない。
- シーンをテキストファイルで保存するには、File->Save As Text... を実行し、ファイル名を、例えば torus_ascii.hip などと指定する。
2. テキストシーンファイルの差分表示
テキストで保存した .hip ファイルは、当然ながら、テキストエディタで開いて編集したり、差分を取ったりすることが容易になる。ここでは、Windows 上で外部ツール Meld を利用した差分表示方法を紹介する。
- Meld をダウンロードしインストールする。
- Meld でなくとも良いが、Meld のロゴは Houdini のロゴに似ていなくもない。一番下にDiff ツールのリストあり。
- Houdini で Edit->Preferences->External Tools に行き、File Compare と Folder Compare の Executable Path に インストールした Meld の実行ファイルまでのパス (C:/Program Files (x86)/Meld/Meld.exe) を挿入、Accept をクリック。
- Create シェルフから Ctrl キーを押しながら Sphere を実行する。
- シーンに sphere_object1 ができる。
- File -> Show Change... を実行し、表示されたパネルで Compare: を Current Scene (デフォルトのまま) でCompare ボタンをクリック。
- 同パネルで Compare: を File...、 Against も File... とすれば二つの異なる(テキスト保存された) .hip ファイルの差分を表示することも可能。
3. HDA の差分表示 その1
HDA に対する差分表示も可能。実行する場所により行えることが異なる。
- ネットワークエディタ
- シーンにロードした HDA 上で RMB-> Show Changes... とすれば、最後の保存やバックアップとの差分表示が可能。
- Asset Manager
-
ここでは、二つの HDA の差分比較が可能。
- メインメニューの Assets->Asset Manager... を実行し、パネルを開き、比較をしたいHDA ノード(最下流) を選択。
- RMB->Compare... を実行し、パネルを開き、Against: に、別のアセットを選択すれば、二つのアセットの違いを表示可能。
3. HDA の差分表示 その2
ディスク上に格納された HDA は単一ファイルとなっているが、これをディレクトリ構造のファイルシステムとして展開することも可能。また展開したディレクトリ構造を HDA として再びまとめることも可能。これは hotl というコマンドラインツールで行う。
- HDA の展開
- 例えば test.hda という HDA があり、これを test1 というディレクトリ以下に展開したい場合、
$ hotl -x test1 test.hda
とする。 - Meld は二つのディレクトリの差分を取ることも可能。
- 例えば test.hda という HDA があり、これを test1 というディレクトリ以下に展開したい場合、
- HDA のまとめ
-
今度は test1 以下を test2.hda という HDA にまとめたい場合、
$ hotl -c test1 test2.hda
とする。
なお、GitHub からダウンロードした SideFXLabs-Development.zip から単一の .hda を作りたい場合は、
$ hotl -m SideFXLabs-Development/otls/*.hda test.hda(test.hda はターゲットファイル名) とする。
4. テキスト保存のプリファレンス設定
.hip ファイルをバイナリ保存 (デフォルト) するかテキスト保存するかの設定は、 Edit -> Preferences -> Save and Load Options 以下の Save New File As を Text にすることで可能。ただし、一部の操作後にこの設定が無視されるケースがある (あった)。
- Houdini 起動後、File -> New を行うまで
- File -> Open または File -> Merge で別.hip ファイルを読み込んだ後
- ネットワークエディタでノードのコピペをした後
hou.hipFile.saveMode()を Python Shell で実行すること。このコマンドで saveMode.Text が返ればテキスト保存され、saveMode.Binary が返ればバイナリで保存される。
また Python 経由で同設定を Text に強制変更するには
hou.hipFile.setSaveMode(hou.saveMode.Text)とする。 #1 と #2 や他のうっかり誤操作などに対応するために hou.hipFile.setSaveMode(hou.saveMode.Text) を 456.py に追記しておくと良い。
おまけ
Diff ツール。TortoiseMerge と Beyond Compare は Houdini がインストールされていることを検知し、 Preferences の External Tools の項が空の場合、自動的に設定される。おそらく Windows 版のみ。
名前 | 対応OS | 価格 |
Meld | Windows | 無償 |
Kdiff3 | Windows, Linux, Mac | 無償 |
TortoiseMerge | Windows | 無償 |
Beyond Compare | Windows, Linux, Mac | 有償 |
こんなのものある。GitHub - golubevcg/hip_file_diff_tool
最終更新: 2023-09-19
0 件のコメント:
コメントを投稿