このチュートリアルは、「【初心者向けHoudiniトライアル003】ネットワークをHoudini Digital Assetとして保存する」の続きです。
使用するデータのダウンロード
Apprenticeの方はこちらからHDAをダウンロード
商用版(HoudiniFX/Core)の方はこちらからHDAをダウンロード
目次
ネットワークドライブにあるデジタルアセットを複数人で共有する
HoudiniデジタルアセットをHoudiniで使用する
Houdiniは起動時にマイドキュメント\houdiniバージョン/otlsで見つかった.hda(または.otl)ファイルを読み込みます。
- Houdiniを終了します。
- ダウンロードしたHoudiniデジタルアセットをマイドキュメント/houdini18.0/otlsに保存します。
otlsフォルダがない場合、作成してその中に保存します。 - Houdiniを起動します。
- 起動した状態でHoudiniにropeデジタルアセットが読み込まれているか確認します。
Assets>Asset Magerを開きます。 - Operator Type Library >Scanned Asset Library Directoriesを開きます。
- Scanned Asset Library Directoriesを確認し、ropeデジタルアセットが読み込まれていることを確認します。
- 実際にシーンにHoudiniデジタルアセットを作成してみましょう。
ネットワークエディタにgeometryノードを作成します。 - 作成したgeometryノードをダブルクリックして内部に入ります。
- Tabメニューからropeと入力すると、既にHoudiniに読み込まれているropeデジタルアセットがメニューに表示されるので、作成します。
- シーン内には、2つの入力を持つ、ropeデジタルアセットが作成されました。
ここで読み込んだアセットは、WindowsにログインしているユーザアカウントのHoudini環境のhda
ディレクトリに存在し、個人のアセットを格納しておくことができます。
次は、必要な時だけ、デジタルアセットをHoudiniに読み込む方法を試してみます。 - シーンを保存せずにHoudiniを終了します。
- マイドキュメント\houdini18.0\otlsに保存したropeデジタルアセットをデスクトップに移動し、otlsフォルダから削除します。
- Houdiniを起動します。
- Asset Magerを開き、ropeデジタルアセットがないことを確認します。
Filterでは名前でデジタルアセットを検索するすることができます。
rope.hda(Apprenticeの場合は、rope.hdanc)と入力し検索します。
該当するものがなければ空欄になります。 - Asset Magerを閉じます。
- それでは先ほどデスクトップに保存したデジタルアセットをインストールします。
AssetからInstall Asset Libraryを選択します。 - 開いたウィンドウにて、ファイルボタンをクリックし、デスクトップに保存したrope.hdaを選択し、Acceptをクリックします。
- Installをクリックします。
これで現在開いているHoudiniにデジタルアセットを読み込むことができました。 - Asset Magerを開き、Filterにrope.hdaと入力します。
Enterキーを押すと、Operator Type Libraries > Current HIP File にrope.hdaが登録されていることがわかります。 - Asset Managerを閉じます。
- ネットワークエディタに、TabメニューからGeometryを作成します。
- 作成したGeometry内に入り、ropeノードを作成します。
シーンファイルにデジタルアセットを埋め込む
現在、デジタルアセットはあくまで外部ファイルであり、参照ファイルとなります。つまり、このデジタルアセットを人に渡す場合、シーンファイルとは別にHoudiniデジタルアセットファイルも渡す必要がでてきます。
そこで、シーンファイルにデジタルアセットを埋め込むこともできます。常に参照したい場合は、埋め込む必要はありません。
- Asset Managerを開きます。
- Configurationタブを選択します。
- Save Operator Difinitions to Hip Fileを有効にします。
- この状態でシーンを保存すると、シーンファイルの中にHDAを埋め込むことが可能です。
シーンを保存後、Asset Managerを開きます。
Current HIP Fileには、デスクトップから参照しているrope.hdaとEmeddedというシーンファイルに埋め込まれたropeが存在することがわかります。
アセットがシーンファイルに埋め込まれていて、且つ参照した場所から利用可能であった時、デフォルトでは、Houdiniは、参照しているアセットを読み込みます。 - 次に埋め込んだデジタルアセットを削除してみます。
EmbeddedにあるSop/ropeを選択し、右クリックします。 - 表示されたメニューからDeleteを選択します。
これでHoudiniデジタルアセットを削除することができました。
しかし、実際にはデスクトップから参照しているrope.hdaが使用されているため、シーンからHoudiniデジタルアセットが削除されることはありません。 - Configurationタブにて、Save Operator Difinitions to Hip Fileをオフにします。
- シーンファイルを保存し、一旦Houdiniを終了します。
HDAパスを修正する
次にHDAがシーンファイルに記載された参照パスと異なる場所に保存された場合、その場所を修正する方法です。
先ほど保存したシーンでは、アセットはデスクトップにありました。
では、デスクトップから別の場所にデジタルアセットを移動します。
- デスクトップにおいた、アセットをマイドキュメント直下に移動します。
デスクトップのアセットは削除してください。 - 保存しておいたHoudiniシーンファイルを開きます。
シーンを開く際に下記のようなエラーが表示されます。
これはシーンに保存されているアセットが指定された場所にないためエラーがでています。
もし、同じ場所に存在しない場合でも、マイドキュメント\Houdini18.0\otlsファイルに同じアセットが存在すると、アセットがシーンファイルでロードされ、シーンを開く際にエラーがでることはありません。 - 開いたシーンでは、Houdiniが自動で読み込める場所にアセットがないためエラーがでています。新しくHDAを置いた場所に参照場所を変える必要があります。
Asset > Install Asset Libraryを開きます。 - マイドキュメントにあるropeアセットを指定し、Installをクリックします。
- Asset Managerを開きます。
下記のようにマイドキュメントを参照しているropeアセットとEnbeddedにropeアセットが存在します。Embedded に赤で表示されているのは、元のディレクトリから移動したために読み込むことが出来なかったアセットの定義です。
マイドキュメントから参照しているアセットが黄色で表示されています。これは、もう一つ別のアセット定義があるためです。 - 黄色の参照アセットを右クリックし「Use This Definition」を選択します。
これにより、アセット定義は緑色に代わります。
このシーンファイルにて、ropeアセットはマイドキュメントから参照しているものを使用することになります。 - シーンを保存した後、開きなおします。
- シーンを開きなおした後、Asset Managerを開きます。
Enbeddedにあった、ropeアセットは削除されたことがわかります。
これでデジタルアセットのパスの修正が終わりました。
デジタルアセットにバージョンを追加する。
次にシーンファイルに作成したropeアセットの中身を編集したいと思います。
しかし、既にこのアセットを使っているシーンを考えると、このアセットをそのまま編集したくありません。そこでは、Houdiniデジタルアセットにはバージョン管理機能が用意されています。
早速、ropeデジタルアセットのバージョン2をしてみましょう。
- Asset Managerを開きます。
ropeアセット上で右クリックし、Show in Asset Managerを選択します。 - ropeデジタルアセットを見つけたら、右クリックし、Duplicateを選択します。
- Copy Asset画面が開くので、Operatore Nameに::2.0と追加してください。
バージョンは数字とピリオド(.)のみ使うことができます。 - Asset Managerを見ると、ropeとrope2.0と2つのバージョンが存在することがわかります。
- 新しいバージョンを作成する前からシーンに作成した、ropeデジタルアセットを右クリックし、Type Propertiesを選択します。
- Operator Type確認すると、ropeとなっていることがわかります。
- 次に新しくropeデジタルアセットを作成します。
特にノード名に変更はありません。 - しかし、新しく作成したropeデジタルアセットを右クリックし、Type Propertiesを開くとOperator Typeがrope::2.0となっていることがわかります。
同じ名前のアセット定義が複数利用可能な時は、Houdiniは、自動的にユーザインターフェースで最新のバージョンのみを利用可能にします。 - 最新ではないデジタルアセットを任意で使用したい場合、使用バージョンを選択することも可能です。
デジタルアセット上で右クリックし、Show in Asset Mangaerを選択します。 - Configuration タブに行き、 Asset Bar の設定を Display Menu of All Definitionsにしてください。
- この状態で作成したアセットのプロパティエディタを確認します。
下記のようにバージョンを選択できるようになります。
必要な場合は、これで使用するアセット定義を変更してください。
では次に、新しいバージョンを使用してデジタルアセットの中身を少し変更してみます。
デジタルアセットの中を変更する
ropeアセットのバージョンは2.0を使用してください。
Houdiniデジタルアセットは、シーンに作成後、下図のように鍵のアイコンが表示され、ロックされています。
そのため、ropeデジタルアセットをダブルクリックして中に入ったとしても、変更できないようにグレーアウトされています。
- uキーをおして、ネットワークを1つ上がります。
- Tabメニューにて、testと入力するとサンプルジオメトリがリストされます。
そこで、Pig Headを作成し、ropeデジタルアセットの左側の入力に接続します。 - TabメニューからGridを作成し、ropeデジタルアセットの右側の入力に接続します。
ビューポートを確認すると下記のようにジオメトリが作成されています。 - このropeジオメトリができた際に、ノーマルも追加したいと思います。
ropeデジタルアセットを右クリックし、メニューからAllow Editing of Contentsを選択します。
これにより、鍵が開いたアイコンに代わり、ロックが解除されます。 - cleanとOUT_ropeの間にnormalノードを追加します。
- uキー押して、ネットワークをあがります。
- ノードを追加した情報をアセット定義に保存する必要があります。
ropeデジタルアセットを右クリックし、Save Node Typeを実行します。
修正されたネットワークがアセット定義として保存されました。
rope::2.0として作成するとノーマルが追加され、ropeだとノーマルなしのままになります。
ネットワークドライブにあるデジタルアセットを複数人で共有する
ローカルPCのログインユーザアカウントにデジタルアセットを保存した場合、自分しか使用することができません。ネットワークドライブに配置あれているアセットを毎回インストールすることもできますが、スタジオ全体で良く使用するアセットライブラリをHoudini起動時に常にロードさせることもできます。
- データーサーバーなど、スタジオのPC全体でアクセスできる場所にライブラリを配置します。
ここではbdserverという名前のデータサーバーに作成したhdaフォルダにデジタルアセットをまとめて保存していたとします。 - マイドキュメント\houdini18.0フォルダにあるhoudini.envファイルをテキストエディタで開きます。
- 環境変数HOUDINI_OTLSCAN_PATHを使用し、Houdini起動時に読み込むデジタルアセットの場所を定義します。
HOUDINI_OTLSCAN_PATH = "//bdserver/hda;&"
ディレクトリの最後を;(セミコロン)で区切り、その後に&を追加してください。&は指定した変数の"デフォルト"のパスを意味します。これを追加しないと、デジタルアセットを参照するパスが//bdserver/hdaのみになってしまうので注意が必要です。 - Houdiniを起動し、Asset Managerにて、HOUDINI_OTLSCAN_PATH で指定したアセットが読み込まれていることを確認します。