Houdini 20.0 デジタルアセット

デジタルアセットの作成とバージョン制御

On this page

概要

任意のタイプ(オブジェクト、ジオメトリノード、ダイナミクスノード)のサブネットワークをデジタルアセットに変換することで、そのタイプのデジタルアセットを作成することができます。

New Digital Assetダイアログでは、デジタルアセットのラベル(ユーザインターフェースで使用されるユーザに分かりやすいアセット名、例えばExplodo Mucho)と内部名(不変な内部IDで、ネームスペースとバージョンを含めることができます。例えば、acme::explodo_mucho::1.0)を設定したり、そのアセットの保存先のライブラリファイルを指定することができます。

新しいアセットを作成した後に、ユーザがそのアセットにアクセスする方法は、アセットのインストールと使い方を参照してください。

デジタルアセットの作り方

To...Do this

デジタルアセットに変換するサブネットを用意する

  • デジタルアセットに変換する前にサブネットワークを最初から準備して、エクスプレッションに 相対参照 を使用するようにしておけば、それらの参照はアセット内部でも有効なままにすることができます。例えば、ch('/obj/geo1/subnet1/copy1')の代わりにch('../copy1')を使用してください。

    (サブネットをデジタルアセットに変換しようとする時、そのサブネット内部の参照が外部参照をしていると、それがアセット内で動作しなくなるのでHoudiniが警告を出します。)

  • サブネットワーク内に大量のノードを簡単に配置するには、それらのノードを選択して右クリックして、 Actions ▸ Collapse into Subnet を選択します。

サブネットから新規デジタルアセットを作成する

  1. サブネットを右クリックして、 Create Digital Asset を選択します。

    または、サブネットが選択されている状態で、メインメニューから Assets ▸ New Digital Asset From Selection を選択します。

    するとHoudiniがダイアログを開き、そこでアセットの名前を設定したり、そのアセットの保存先を決めることができます。

  2. Asset Labelには、Houdiniのユーザインターフェースに表示するユーザに分かりやすい名前、例えばThree Light Rigのような名前を設定します。

  3. Tab Submenuには、ユーザが⇥ Tabメニューを開いた時にこのノード(実際には、このノードの最初の ツール )が存在するサブメニューを指定します。

  4. Internal Nameには、他のノードと区別するための固有な内部名(例えば、sanjay::threelightrig::1.0)を設定します。

    このInternal Nameグループを展開すれば、ビルダーインターフェースが表示され、内部名の個々のパーツをインタラクティブに設定することができ、 このInternal Nameグループを折り畳めば、内部名のテキストボックスだけを表示することができます。

    ラベルは後でも変更することができますが、アセットを作り直さない限り 内部名は変更することができません

    デフォルトのInternal Nameには、ノード名がHoudiniのノード名や他のベンダーのノード名と干渉しないようにネームスペースが含まれ、 同じベース名の異なるバージョンのノードを同時にインストールできるようにバージョンも含まれます。 詳細は以下を参照してください。

  5. Save Toには、アセット定義の保存先となるライブラリファイルのファイルパスを設定します。

    このSave Toグループを展開すれば、インターフェースが表示され、保存ディレクトリとファイル名を選択によってインタラクティブに構築することができ、 このSave Toグループを折り畳めば、ファイルパスのテキストボックスだけを表示することができます。

  6. Create をクリックします。

    Houdiniがその新しいアセットのType Propertiesウィンドウを開くので、そこでアセットのメタデータとパラメータUIに関する作業を行なうことができます。

既存のアセットの新しいバージョンを作成する

  1. アセットのインスタンスを右クリックして、 Digital Asset ▸ Increase Major Version または Increase Minor Version を選択します。

    Houdiniがその新しいアセットバージョンの新しい内部名を表示するダイアログを開きます。

  2. そのダイアログでは、必要に応じて新しいアセットの保存先となるライブラリファイルを編集することができます。

  3. Create をクリックします。

アセットをセットアップする

アセットを作成すると、Houdiniがその新しいノードタイプのType Propertiesウィンドウを開くので、そこでオプションを編集することができます。 (後で再びそのType Propertiesウィンドウを開くには、アセットのインスタンスを右クリックして、 Type Properties を選択すれば良いです。)

このウィンドウを使用して、新しいノードタイプのパラメータインターフェースをセットアップすることができます。

アセットの Help タブ内にWikiマークアップ言語を使用することで、そのアセットの用途とコントロールについてユーザに説明するためのドキュメントを記述することができます。

既存のアセットを複製することから新規アセットの作成を始める

  1. ネットワークエディタ内で、コピーしたいアセットのインスタンスを右クリックして、 Digital Asset ▸ Save Copy As… を選択します。

    HoudiniがCreate Assetダイアログを開きます。

  2. そのダイアログ内のオプションを使用して、新しいアセットの内部名、ラベル、さらには新しいアセットの保存先となるライブラリの親ディレクトリとファイル名を指定します。

Create Assetダイアログ用のデフォルトを設定する

Create Assetダイアログ内で、必要なオプションを設定し、そのダイアログの左下コーナーにある Save Defaults をクリックします。

以下のプリセットのカスタマイズ方法も参照してください。

Asset Label(アセットラベル)

  • デフォルトでは、 Asset Label を編集すると自動的に Internal Name はそのラベルに似た文字列(そのラベルを小文字に変換し、不正文字をアンダースコアに置換した文字列)に変更されます。 Internal Name を直接編集すると、 その同期化は無効になる ので、それ以降はラベルと内部名を別々に編集することができます。

    ラベルの隣りにあるSyncボタンは、ラベルを編集した時に内部名も変更されるかどうかを示します。 このボタンを有効にすると同期化され、無効にすると手動で編集することができます。

  • ラベルと内部名を別々に編集する場合、混乱を避けるためにアセットのラベルと内部名は似た文字列(例えば、Three Light Rig and threelightrig)にすることを強く推奨します。

Internal Name(内部名)

アセットの内部名は、Houdiniが内部でそのアセットを追跡するためのものです。 Houdiniセッション内では同じ内部名のアセットを複数持つことはできません。 アセットを(HIPファイル内に埋め込み(Embedded)された)ディスク上のアセットライブラリに保存しようとした時に、そこに既に同じ名前のアセットが存在した場合、その新しいアセットが既存のアセットを 上書き します。

Internal Name を直接編集したり、右三角マークをクリックしてセクションを開いてAuthor、Branch、Base Name、Versionの部分を個別に有効/編集することができます。

Namespace(ネームスペース)/Author(作成者)

内部名は必ず固有でなければなりません。 そして、単純な名前だと(既存または今後のファクトリーノード名、または、他のユーザやスタジオからのアセットの名前と)干渉が起こり得るので、ネームスペースバージョンを名前に加えるのが良いです。 あなたが作成したアセットには最低でもネームスペースを追加することを推奨します。

詳細は、ネームスペースを参照してください。

Create Assetダイアログでは、ネームスペースの頭の部分のラベルは一般的には他の人/スタジオが作成したアセットと区別が付くようにアセット作成者(あなたの名前、または、スタジオ名)を指定するでしょうから Author になっています。

$HOUDINI_AUTHOR環境変数が設定されている場合、

Author フィールドのドロップダウンリストには以下の内容が含まれます:

  • 現在のデフォルト。$HOUDINI_AUTHORが設定されている場合、それが初期デフォルトです。設定されていない場合、初期デフォルトは現行ユーザ名($USER)です。

  • 設定されているプリセット

  • 既にインストールされているノードの名前から見つかったネームスペース/作成者。

ネームスペースのBranch(分岐)

スタジオ内の役割の異なる人達に様々な開発フェーズのアセットを用意したい場合(例えば、アーティストは“完成”アセットを使用し、テクニカルディレクターは次期バージョンのアセットをベータテストする場合)、そのアセットの開発“ブランチ”を示せるようにネームスペースに追加で文字列を追加するのが良いでしょう。

これによって、同じ作成者で同じバージョンのアセットを“ブランチ”別に同時にインストールすることができます。 例えば、“dev”ブランチ(acme.dev::myasset::1.0)と“test”ブランチ(acme.test::myasset::1.0)をインストールすることができます。

Note

このブランチ部分はデフォルトでは追加されません。 Internal Name セクションを展開して Add Branch to Namespace チェックボックスを有効にすることで、ブランチ部分を追加することができます。

常にブランチを追加したいのであれば、このチェックボックスを有効にした状態で Save Defaults をクリックすることで、そのダイアログ内の現在のオプションをデフォルトとして保存することができます。

Create Assetダイアログでは、Houdiniはネームスペース内の 最後の 区切り文字(区切り文字は.(ピリオド)または:(コロン)の文字です)以降の文字列を“ブランチ”とみなします。 そのため、ネームスペースがfoo.bar.bazのアセットを例にすると、foo.barがAuthorで、bazがBranchとみなされます。 フルネームからネームスペースの部分と残りの部分を区別しやすくするためにデフォルトの.(ピリオド)を区切り文字として使用することを推奨します。 とはいえ、:::をブランチ区切り文字として使用する従来からの方針を採用しているスタジオもあります。 Internal Name フィールド内でフルネームを編集することで、この区切り文字を変更することができます。

Houdiniには、すぐに使用できるようにいくつかのブランチ名が用意されています。 それらのブランチ名を追加、編集、削除することができます(プリセットの構成)。

ブランチ名

推奨されている意味

dev

“開発中”の状態であり、他の人が使用できる準備が整っていません。

beta

テストの準備が整っていますが、バグが出る可能性があります。

test

最終テストの準備が整っています。

main

プロダクション用途。

Branch フィールドのドロップダウンリストには以下の項目が含まれています:

  • 現在のデフォルトのブランチ。

  • 構成されたプリセット

  • 既にインストールされているノードの名前から見つかったブランチ。

Tip

ブランチを使用している場合、ベースノードが同じ複数のブランチが同時にインストールされてしまいます。 これが原因でTabメニューに同じラベルのノードが複数表示されてしまって混乱を招いてしまいます。 Add Branch to Namepsace を有効にした場合、ノードが作成された時にそのノードのラベルにブランチ名が自動的に追加されるように Add Branch to Label も有効にすると良いでしょう。 例: Pairwise Delete (dev)。 これによって、Tabメニューではブランチ別にノードを区別することができるようになります。

Basename(ベース名)

ベース名はそのノードの機能を示した名前にすると良いでしょう。 ユーザに表示されるラベルからノードタイプが判断しやすくなるように、コア名は少なくともラベルに似せることを推奨します。

Version(バージョン)

アセット名にバージョンを追加することで、同じAuthorで同じCore Nameの別バージョンのアセットを持たせることができます。 これによって、以前の定義バージョンを使用している既存のインスタンスに影響を与えることなく、パラメータインターフェースなどが異なる機能が追加された新しいバージョンのアセットを作成することができます。

複数バージョンのアセットがインストールされている場合、デフォルトでは、Tabメニューには 最新(最も大きい番号の)バージョン が表示されます。 とはいえ、以前のバージョンのインスタンスは引き続きHIPファイル内に存在し、引き続き動作します。

Tip

任意のバージョンのアセットをセッションの“現行”バージョンとして手動で設定することができます( Assets ▸ Asset Manager ダイアログで、古いアセット定義を右クリックして Use This Definition を選択します)。

最新バージョン以外のノードも表示されるように、 Edit ▸ Preferences ▸ Shelves and Tab Menu でフィルタリング設定を Show All Operators に設定します。

アセット作成時にバージョン番号を追加しなくても、後でそのアセット名にバージョン番号を追加することで新しいバージョンのアセットを作成することができます。 例えば、acme::myassetacme::myasset::2.0に移行することができます。

詳細は、アセット名のバージョンアセットのバージョン管理システムを参照してください。

アセットをライブラリに保存する

Create Assetダイアログの Save To セクションでは、新しいアセットの保存先となるアセットライブラリファイルを指定することができます。

Note

複数のアセットを単一ライブラリファイルに保存することができます。 これは、大量のアセットを1つにまとめたり、起動時にアセットの読み込みを高速化するのに役立ちます。

その一方で、一般的には、各アセットを別々のファイルに分けた方が良いという考えがあります。 そうすることで、Houdiniパスにライブラリファイルのパスを追加/削除することで簡単に個々のアセットを追加/削除することができます。

You can edit the Save To の場所を直接編集したり、右三角マークをクリックしてセクションを開いて、Houdiniがその保存場所の生成に使用するロケーションファイル名パターンのプリセットを編集することができます。

保存場所の選択

Location メニューには、よく使用される以下の場所に加えて、Houdini Pathで見つかった他のhdaディレクトリやotlsディレクトリ、さらにはあなたが構成した保存場所のプリセットを含めることができます。

ラベル

ディレクトリパス

説明

User Preferences

$HOUDINI_USER_PREF_DIR/otls

個人ユーザ設定。 ここに保存したアセットは現行ユーザにのみ利用可能になります(歴史的な理由で、Houdiniはユーザプリファレンス内のhdaディレクトリではなくotlsディレクトリをデフォルトの保存先にしています。Houdiniは起動時にアセットを読み込む際にそれら両方のサブディレクトリ名を走査します)。

HIP File Directory

$HIP

現行HIPファイルと同じディレクトリ。 ここに保存したアセットは現行HIPファイルで利用可能になります。

Job Directory

$JOB/hda

$JOB環境変数を設定するか、または、 File ▸ Set Project を使用することで、現行プロジェクトまたは現行ショットの共有ファイルのディレクトリを指定することができます。 File ▸ New Project を使用すれば、様々なサブディレクトリが自動的にセットアップされたプロジェクトディレクトリを作成することができます。 詳細は、プロジェクト管理を参照してください。

Site Directory

$HSITE/hda

スタジオでは、スタジオ全体で共有されたファイルのリポジトリを指すように$HSITE環境変数を設定すると良いでしょう。

Embed in HIP File

Embedded

以下のアセットをHIPファイル内に埋め込む方法を参照してください。

Custom File Path

Custom

Save To テキストボックスで指定されたライブラリファイルに保存します。このパスを直接編集するか、または、ファイル選択ボタンをクリックしてファイル選択ダイアログを開くことができます。

LocationCustom File Path でない場合は、ライブラリファイル名の生成でHoudiniが使用する命名規則を選択することで、アセットの保存先を指定することができます。詳細は、以下のファイル名の命名規則を参照してください。

ファイル名の頭にネットワークカテゴリタイプ (例えば、soplopobject)を付けるように選択することもできます。同じ名前でカテゴリが異なるアセットとの干渉を回避できるようにこれを行なうことを推奨します。

Houdini Pathへの保存

Houdiniは起動時にHoudini Path上のhda/otlsサブディレクトリからアセットを自動的に検索します(Houdini Pathについてを参照)。

(歴史的な理由で、HoudiniはHOUDINIPATH/hdaHOUDINIPATH/otlsの両方からアセットを検索します。)

アセットを保存する時、通常ではHoudini Path上のhdaサブディレクトリにアセットを保存しておきたいことでしょう。 そうすることで、Houdiniは起動時に自動的にそこにあるアセットを見つけてインストールします。

  • アセットを保存する時、Houdiniはアセットを自動的に再スキャンするので、Houdini Path上のhda/otlsサブディレクトリにアセットを保存していれば、Houdiniが自動的にそれらのアセットをインストールします。

  • 保存場所がHoudini Path上に ない 場合、Houdiniはこのセッションで使用中のアセットをインストールします。しかし、次回Houdiniを起動すると、Houdini Path上にはそのアセットがないため、そのアセットを使用するためには手動で Assets ▸ Install Asset Library からそのアセットをインストールする必要があります。

アセットをHIPファイル内に埋め込む

保存場所をEmbeddedにすると、Houdiniはアセットを別ファイルとしてではなく現行HIPファイルの一部としてアセットを保存します。

これは場合によっては便利です:

  • アセットを試している段階で、まだディスクへの保存にコミット(確定)させたくない場合。

  • 自分のアセットのコピーがインストールされていない可能性がある他のユーザと作業中のHIPファイルを共有したい場合。

しかし一般的な用途では、埋め込みには以下の欠点があります:

  • そのアセットはそのHIPファイル内でしか利用できません。プロジェクトまたはユーザ間でアセットを共有することができません。

  • アセットをHIPファイルの一部として保存すると、そのHIPファイルのサイズが肥大化します。

特別な理由でアセットを埋め込む必要がない限り、通常ではアセットをファイルに保存してください。

ファイル名の命名スキーム

LocationCustom File Path に指定していない限り、Houdiniが File Naming Scheme メニューを使用して、選択したディレクトリに保存されるライブラリファイル名の構築方法を選択することができます。 Houdiniには以下の命名スキームの選択肢が用意されています:

ラベル

形式

説明

Standard

$NS--$TYPENAME-$VERSION

これは、単一アセットを含んだライブラリファイルに対して推奨される形式です。 この形式は、ネームスペース、ベース名、バージョン(例えば、acme--explodo-1.0.hda)を含みます。 これによって、想定されるファイル名の干渉が回避されます。

Type Name

$TYPENAME

この形式はベース名のみを使用します(例えば、explodo.hda). これは、アセットをネームスペース別(またはバージョン別)に分けるために他の規則を使用したい場合に役立ちます。 例えば、アセットを別々のディレクトリに保存したい場合です。

Node Name

$NODENAME

この形式は、アセットの生成元のノードの名前を使用します(例えば、subnet.hda)。

Custom

Custom

ここでは、独自にファイル名のパターン文字列を指定することができます。 Houdiniでは、このパターン内に変数を入れることができます。 例えば、パターン文字列を$NS @ $TYPENAME ($VERSION)に設定することで、acme @ explodo (1.0).hdaのようなファイル名を構築することができます。

カスタムパターンには、$NSまたは${NS}の形式で以下の変数を使用することができます:

変数

内容

$NS

ネームスペース(ブランチがあれば、それも含みます)。

$AUHTOR

ネームスペースの“作成者”部分(ブランチを含みません)。

$BRANCH

ネームスペースのブランチ部分(ブランチがある場合)。

$TYPENAME

フルアセット名のベース名部分。 例えば、フルアセット名がacme::explodo::1.0の場合、$TYPENAMEexplodoとなります。

$VERSION

フルアセット名のバージョン部分。

$NODENAME

アセットの生成元であるノードの名前。

Tip

パターン内には環境変数(例えば、$USER)を使用することもできます。 これは、ファイル名にスタジオ固有の情報を含めるのに役立ちます。

Create Assetダイアログのカスタマイズ

To...Do this

新規HoudiniセッションでのCreate Assetダイアログの初期オプションをカスタマイズする

Create Assetダイアログで、目的のダイアログオプションをセットアップしてから、そのダイアログの左下コーナーにある Save Defaults ボタンをクリックします。

Author、Branch、Save Toがプリセットされたドロップダウンメニューをカスタマイズする

  1. Create Assetダイアログ内の(右上コーナーにある) ギアメニューをクリックして、 Edit Author PresetsEdit Branch PresetsEdit Save Directory Presets のどれかを選択します。

  2. 開いたリストエディタダイアログを使用して、プリセットの追加、編集、順番変更、削除を行ないます。

    • プリセットを追加するには、リストの下にある Addボタンをクリックします。

    • プリセットを編集するには、リスト内でそのプリセットを選択してから、そのプリセットを再びクリックすると編集することができます。

      または

      プリセットを選択してEnterを押すと編集を開始することができます。

    • リスト内のプリセットの順番を変更するには、そのプリセットをドラッグアンドドロップします。

    • プリセットを削除するには、リスト内でそのプリセットを選択してから、リストの下にある Removeボタンをクリックします。

  3. リスト内の Accept をクリックして、新しいリストを保存します。

    プリセットリストを編集すると、その新しいリストが即座にディスクに保存されます(内容の変更を持続させるために Save Defaults をクリックする必要はありません)。

    しかし、リストを編集しても デフォルト値 は変わりません。 現在のAuthor、Branch、Save Toを新しいデフォルトとして設定するには、 Save Defaults をクリックします。

Tip

Save Toプリセットには環境変数を含めることができます。 Houdiniはhou.text.expandStringを使用して文字列を展開してファイルパスを取得します。

HOUDINI_PATH内の設定ファイル

設定ファイルを使用すれば、サイト全体またはスタジオ全体のプリセットを用意することができます。

Create Assetダイアログは$HOUDINI_USER_PREF_DIR/vhda.configに設定を保存します。 これは単純なJSONファイルです。Houdiniは起動時にその設定を読み込む時、$HOUDINI_PATH内の各ディレクトリ内のvhda.configファイルを検索し、それらのファイルをマージします。

Note

Houdiniでは、HOUDINI_PATH内の前の方のディレクトリが後の方のディレクトリを上書きします。 ユーザプリファレンスのディレクトリは通常ではHOUDINI_PATHの頭またはその近辺にありますが、パッケージはそれよりも前にあります。

HOUDINI_PATH内の設定ファイルでは“前の方の”値が“後の方の”値を上書きするので、ユーザプリファレンス内のプレーン値(例えば、デフォルトのAuthor文字列)は通常では(ユーザの設定ファイルをいじって特定のキーが入らないようにして上書きできないようにしない限り)HOUDINI_PATH内の後の方のサイト全体の値を上書きします。

しかし、 リスト値 に関しては、Create AssetダイアログはHOUDINI_PATH内の設定ファイルで見つかったすべてのリストを マージ します。 これによって、各ユーザ自身の設定ファイル内のプリセットに追加されるサイト全体/スタジオ全体のAuthor、Branch、Save Toのプリセットを指定することができます。

例えば、スタジオがHOUDINI_PATHに/mnt/server/houdini/sitewide/ディレクトリが入るようにHoudiniをセットアップしていて、サイト全体の設定をするのにそのディレクトを使用するとしましょう。

/mnt/server/houdini/sitewide/vhda.configに以下のようなJSONファイルを作成することができます:

{
    "users": ["acmeSF", "acmeNY"]
}

これは、AuthorプリセットのドロップダウンリストにacmeSFacmeNYを追加します(歴史的な理由で、Authorフィールドの設定キーの名前はusersとなっています)。

Tip

Create Assetダイアログは自動的にHOUDINIA_PATH内で見つかったすべてのhdaディレクトリをSave Toに追加するので、この場合だと/mnt/server/houdini/sitewide/hdaが自動的に候補の保存場所として表示されます。

デジタルアセット

はじめよう

  • デジタルアセットの紹介

    Houdiniでは、デジタルアセットと呼ばれる再利用可能なカスタムノードに作業を変更することができます。

アセットの作成

次のステップ