Houdini Digital Asset (.hda) の配置位置、スキャンパスの設定に関してまとめました。
使用したビルド: 14.0.361 -> 17.0.399 -> 20.5.457 で更新
Houdini Digital Asset (.hda) の配置位置、スキャンパスの設定に関しての説明。
- Houdini Digital Asset
- HDA ダウンロード
- HDA 配置位置
- HDA パスの確認
- HDA のシーンへの読み込み
- HDA のシーンへのアンロック・編集・再ロック
- シーンファイルと HDA ファイルの別環境での読み込み
- HDA 定義の入れ替え
- まとめ
Houdini Digital Asset
Houdini デジタルアセットとは、Houdiniのシーンを構成するノードネットワークの一部を再利用できるようカプセル化、それにコントロールのためのパラメータを露出し、一つの独立したノードとして扱うことが出来るようにする仕組。コンパイルが不要で、OS 非依存、ダイナミックにロード・アンロード・入れ替えが可能なプラグインだと思うとわかり易い。
こうして定義したアセットは、(Houdini 14 以降) .hda という拡張子でシーンファイル (.hip) とは別に保存される。Houdini 13 までは .otl (Operator Type Library の略) という拡張子であった。Houdini 14 以降では .otl, .hda 両方の拡張子が使用可能。
HDA は自分で作ることも他人が作ったものを使うことも可能。
- HDA の作成方法: Houdini 14 Quick Start Asset Menu (5分 55秒) を参照
- HDA のダウンロード: コンテンツライブラリまたは Orbolt から可能。
1. HDA ダウンロード
ここでは、SpookyTable というアセットを使い、HDA を扱う際のパスの設定について紹介する。
- http://www.orbolt.com/asset/SideFX::scott_spookytable に行き、"Free Download" をクリック (要ユーザ登録)。
- ページが更新されたら、
- Launch in Houdini
- Download HDA File Manually
- この HDAファイルは "SideFX__scott_spookytable.otl" という名前で、ブラウザの設定次第だが、ホームの下のDownloads などにダウンロードされる。
2. HDA 配置位置
ダウンロードしたHDAファイルを手っ取り早く使うには、アセットファイルをダブルクリックしてHoudini を起動。ただし、アセットを恒常的に使う方法として最適とは言えない。
HDA ファイルが Houdini 起動時に自動的に読み込まれるようにするには、他の選択肢もあるが、とりあえず次の上二つのいずれかに配置する。
- $HOME/houdini20.5/otls
-
Windows の場合、デフォルトは My Documents/houdini20.5/otls/
Mac の場合はこちら。
houdini20.5/ 以下に otls という名のディレクトリを作成し、その中に配置 (hda/ または hdas/ には対応していない)。この場合、配置したファイルは Houdini 20.5 のみで使用可能。
ちなみに $HOME/houdini20.5/ (または My Documents/houdini20.5/) は $HOUDINI_USER_PREF_DIR で定義可能。 - $HSITE/houdini20.5/otls
- 個人単位での設定ではなく、チーム全体で共通の環境設定をするためには、環境変数 HSITE を使用する。
- W:/share/houdini20.5/otls (または使用バージョン)
例えば、W:/share を $HSITE で指定し、HDA をそこから読みたい場合、 - $HFS/houdini/otls
-
$HFS は Houdini のインストール先を示す (例: C:\Program Files\Side Effects Software\Houdini 20.5.457)。
$HFS 以下の houdini/otls には、Houdini に組み込まれた HDA が格納されている。よって、ここに個人用のファイルを置くのはお勧めしない。置いた場合、使えるのはその特定のビルド (例: 20.5.457) のみ。
ちなみに、$HFS/houdini は $HH で置き換えることも可能。 - 環境変数 HOUDINI_OTLSCAN_PATH
- この環境変数で任意のディレクトリにある .hda を自動的に読み込むことができるようになる。
例えば、 $HSITE/otls という形でバージョン非依存のディレクトリを作って認識させたいのであれば、
HOUDINI_OTLSCAN_PATH = "$HSITE/otls;@/otls"
とする必要がある。 - packages ファイル
- .json 形式のパッケージファイルでパスを定義することも可能。この方式のサンプルは SideFX Labs のファイルを見ると良い。
- 他にもというようにすることも不可能ではないが、どちらの変数も Houdini 使用中にダイナミックに値が変わるので、恒久的な配置位置にはならない。特に Windows の場合、$HIP/otls 以下の HDA は自動的には読まれないので注意が必要 。
3. 設定したパスの確認
hconfig -ap をコマンドラインから実行すれば、Houdini が読み込む HDA のパスを HOUDINI_OTLSCAN_PATH の項ですべて確認できる。ただし -ap での総出力は非常に長い。HOUDINI_OTLSCAN_PATH を別途システム設定などで設定しておけば、 hconfig -p で必要最低限の情報だけが表示される。
例えば、以下のように表示される。
$ hconfig -p HOUDINI_OTLSCAN_PATH := "C:/HoudiniFiles/otls;@/otls; This path specifies the directories Houdini will search for OTL files. This value is only used if the Operator Type Manager is configured not to use OPlibraries files to find OTL files. The default for this value is the HOUDINI_OTL_PATH with /otls appended to each directory in that path. Default path: '@/otls' Where @ is replaced with HOUDINI_OTL_PATH Directories searched (in order) are: 1) "$HSITE/otls" 2) "$HFS/packages/sculpt/otls" 3) "$HFS/packages/kinefx/otls" 4) "$HFS/packages/apex/otls" 5) "$HOUDINI_USER_PREF_DIR/packages/SideFXLabs20.5/platform_specific/windows/otls" 6) "$HOUDINI_USER_PREF_DIR/packages/SideFXLabs20.5/otls" 7) "$HSITE/houdini20.5/otls" 8) "$HFS/houdini/otls"上記のリストは、別の環境変数 HOUDINI_OTL_PATH でリストされる各ディレクトリに otls を追記し、実際に存在するディレクトリだけを表示している。この変数も hconfig -ap で表示可能。
4. HDA のシーンへの読み込み
- 上記の 1 か 2 のいずれかのディレクトリに SideFX__scott_spookytable.otl を配置、Houdini を起動。
- アセットが正しく認識されている場合、ビューポートまたはネットワークパネルのいずれかで TAB -> Digital Assets とすれば、SpookyTable というメニューアイテムが表示されるはず。これを選択。ビューポートの場合、Enterキーを押して確定。
- このファイルの使用方法の一例はこちらのムービー LOAD ASSET IN UNREAL ENGINE 4 (2分56秒) を参照。
5. HDA のアンロック・編集・再ロック
アセットをロードした時点ではアセットはロックされている。これは、ノードの表示文字が青字であることで確認できる。この状態ではノード中に入ってノード単位で内容を表示したりすることが出来ない。
- ノードをアンロックするには、ノード上で RMB->Allow Editing of Contents を実行。これにより、ノードの表示文字が赤になる。この状態であれば、中に入ってノードの編集、表示フラグの変更などが可能になる。
- 変更を加えずにノードを再度ロックするには、ノード上で RMB->Match Current Definition を実行。これにより、読み込んだアセットが再度読み込まれ、ノードはロック状態に戻る。
- アセットに変更を加え、それを保存するのであれば RMB->Save Operator Type を実行。変更結果によりアセットファイルが上書きされる。
- 次に進むため、このシーンをファイルに保存。File -> Save とし、どこでも良いが (例: デスクトップ)、test_hdapath.hip などという名前で保存する。
- Houdini を一度終了する。
6. シーンファイルと HDA ファイルの別環境での読み込み
例えば、上記の test_hdapath.hip ファイルが同僚によって作成され、SideFX__scott_spookytable.otl とともに自分に渡ってきたとする。この場合、 .otl を "2. HDA 配置位置" で定義したディレクトリに配置した上で .hip ファイルを開けば、シーンは他ユーザの環境でも問題なく開くことができる。
反対に、例えば、test_hdapath.hip と SideFX__scott_spookytable.otl を両方ともデスクトップ (または同じディレクトリ) に配置し、シーンファイルを開くと、エラーになる。このエラーの状態からHDAを後から認識させるための方法を以下に示す。
- "2. HDA 配置位置" で配置した SideFX__scott_spookytable.otl をデスクトップに移動。デフォルトパスにこのOTLが無い常態にする。
- Houdini を起動、シーンファイル (test_hdapath.hip) を開く。すると以下のエラーが出るはず。
ネットワークパネルに表示されたノードもエラー状態。
よって HDA を後付で読み込む必要がある。 - Assets -> Install Digital Asset Asset Library... を実行。
7. HDA 定義の入れ替え
- Window -> Asset Manager を開く。
- Operators タブの Operator Type Librariesとその中の Current HIP の折り畳みをすべて開くと以下のようになっている。
- Embedded 以下に赤で表示されているのは、元のディレクトリから移動したために読み込むことが出来なかったアセットの定義。
- パスとともに黄色く表示されているのは、先ほど読み込んだアセットの定義。黄色い理由はもう一つ別の(赤の)定義があるから。
- 黄色で表示されているアセットを明示的に「このアセットを使う」とするには、こちらのアセットをハイライト選択し、RMB (右マウスボタン) -> Use This Definition とする。
この結果、黄色かった定義が緑色に変わる。 - この状態でシーンを、例えば test_hdapath2.hip など別名で保存し、再度開けば、赤かった定義が消え、HDA の新しい場所が登録されているのがわかる。
ただし、緑で表示されているのはデフォルトのサーチパスにないOTLが見つかったことを指し示している。デフォルトパスにあるHDAが定義が一意に決定されていて、見つかった場合には、色表示されない。
まとめ
- HDA を Houdini 起動時に自動的に読み込ませるには、
- $HOME/houdini20.5/otls
-
Windows の場合、デフォルトは My Documents/houdini20.5/otls
Mac の場合はこちら。
配置したファイルは Houdini 20.5 のみで使用可能。 - $HSITE/houdini20.5/otls
- 個人単位での設定ではなく、チーム全体で共通の環境設定をするためには、環境変数 HSITE を使用する。
- W:/share/houdini20.5/otls (または使用バージョン)
例えば、W:/share を $HSITE で指定し、HDA をそこから読みたい場合、 - 任意の共有空間に HDA を配置し、自動的に HDA が読み込まれるようにするには、環境変数 HOUDINI_OTLSCAN_PATH を使う。
- hconfig -ap、または HOUDINI_OTLSCAN_PATH が設定されていれば hconfig -p で HDA 検索パスを確認可能。
- $HOME/houdini20.5/otls
- HDA を 後付で読ませたり、定義ファイルを変更するには、Asset Manager を使用。
- Houdini がどのディレクトリから HDA をロードしているかを確認するのも Asset Manager の Scanned Asset Library Directories 以下を見ることで可能。
関連項目:
- Houdini プロジェクトパス
- Houdini 環境変数設定
- Houdini デジタルアセットのブラックボックス化
- ノードバージョン
- HDAバージョン管理をもっと簡単に!SideFX Labs「バージョン付きHDA」機能が登場! (Born Digital サポート)
- HDA作成ガイドライン Quiita (@d658t (Takashi Koide 氏))
最終更新: 2025-02-20
このコメントはブログの管理者によって削除されました。
返信削除このコメントはブログの管理者によって削除されました。
返信削除