Houdini 19.5 デジタルアセット

アセットのユーザインターフェースを編集

On this page

概要

デジタルアセットを作成してしまえば、Type Propertiesウィンドウを使用して、その新しいノードのパラメータインターフェースを編集することができます。 アセット内のノードのパラメータをアセットのユーザインターフェースに プロモート させることができます。 オブジェクトのアセットにレンダープロパティを追加することで、レンダリングの方法を制御することもできます。

アセットのインスタンスを右クリックして、 Type Properties を選択し、 Parameters タブをクリックします。

アセットのインターフェースを編集した時は、そのノードの変更を確認するのにType Propertiesウィンドウの Apply または Accept をクリックする必要があることを忘れないで下さい。

パラメータの作成とプロモート

To...Do this

パラメータをプロモートする

ネットワークエディタで、アセット内に入り、プロモートしたいパラメータのノードを選択します。パラメータエディタペインでパラメータを探します。そして、以下のどれかを行ないます:

  • パラメータエディタからパラメータをType Propertiesウィンドウのパラメータリストにドラッグします。

    複数コンポーネントを持つパラメータ(例えば、X,Y,Zの位置パラメータやR,G,Bのカラーパラメータ)に関しては、 パラメータラベル をドラッグすることですべてのコンポーネントをプロモートすることができ、 コンポーネントのテキストボックスをドラッグすることで単一コンポーネントをプロモートすることができます。

または
  • パラメータを右クリックして、 Export Parameter to Type Properties を選択します。

ノードのパラメータすべてをプロモートする

ネットワークエディタで、アセット内に入り、プロモートしたいパラメータのノードを選択します。そして、そのノードをType Propertiesウィンドウのパラメータリストにドラッグします。

ネストしたデジタルアセットをそのリストにドラッグすると、Houdiniはネストしたアセットからパラメータをそのままの構成でプロモートします。

非表示・ドラッグ不可のパラメータをプロモートする

Type Propertiesウィンドウの Parameters タブで、 Create ParametersFrom Nodes サブタブをクリックします。これは、全体のシーン内のすべてのノードの すべてのパラメータ のツリービューを表示します。 そのツリービューを使用して、欲しいノードとパラメータを探し、それを Existing Parameters のパラメータリストにドラッグします。

ゼロからパラメータを新しく作成する

Type Propertiesウィンドウの Parameters タブで、 Create ParametersBy Type サブタブをクリックします。作成したいパラメータのタイプを Existing parameters のパラメータリストにドラッグします。

アセット内のノードのパラメータの値をチャンネル参照したり、それをスクリプトに使用することができます。

メニューパラメータを作成する

  1. 整数、文字列、ファイル、ノードパスのパラメータを作成/プロモートします。

  2. Existing Parameters でパラメータを選択します。

  3. Parameter Description で、 Menu サブタブをクリックします。

  4. Use Menu を有効にして、その隣にあるポップアップメニューからメニュータイプを選択します。

  5. Menu Items をクリックして、値/ラベルのペアの静的なリストをセットアップするか、 Menu Script をクリックして、動的にペアを生成するスクリプトを記述します。詳細は、メニュータブのヘルプを参照してください。

アセット内のノードのパラメータの値をチャンネル参照したり、それをスクリプトに使用することができます。

パラメータの整理

To...Do this

パラメータをグループにまとめる

  1. Type Propertiesウィンドウの Parameters タブで、 Create ParametersBy Type サブタブをクリックします。

  2. Folderを Existing Parameters のパラメータリストにドラッグします。

  3. そのフォルダを選択すると、 Parameter Description のコントロールでタイプ、ラベルなどを編集することができます。 タイプ はフォルダをタブ、折り畳み可能な見出し、ボックス化されたグループや他の見た目にすることができます。

  4. 既存パラメータを、その新しいフォルダにドラッグします。

Separatorをパラメータリストにドラッグして、パラメータのグループ間に分割線を作成することもできます。

一連のパラメータを左右に並べて、レイアウトのスペースを節約する

  1. 最初のパラメータを選択して、 Horizontally join to next parameter を有効にします。

  2. “横”に並んだパラメータのラベルを隠したい場合は、そのパラメータの Label オプションのチェックを外します。

アニメーション用のアセットをセットアップ

To...Do this

パラメータをチャンネルエディタに自動スコープさせる

  1. Existing Parameters でパラメータを選択します。

  2. Parameter Description のオプションで、 Channels サブタブをクリックします。

  3. そのチャンネルの隣にある Autoscopeアイコンを有効にします。

スクリプト化したコントロールと挙動を追加

To...Do this

パラメータが変わる度にスクリプトを実行する

Type Propertiesウィンドウの Existing Parameters でパラメータを選択し、 Parameter DescriptionParameter サブタブで、 Callback Script フィールドにスクリプトを入力します。

Callback Script フィールドの右側にあるポップアップメニューで、そのスクリプトがHScriptなのかPythonなのかを選択することができます。

詳細は、Parametersサブタブのヘルプを参照してください。 Pythonのパラメータコールバックスクリプトに関する情報は、HOMドキュメントを参照してください。

インスタンスが作成または破棄された時にスクリプトを実行する

Pythonのイベントハンドラーに関しては、HOMドキュメントを参照してください。

ハンドルとHUDスライダ

アセット内のノードからハンドルとHUDスライダをプロモートすることができるので、アセットを選択した時にそれらがビューポートに表示されます。 Type Propertiesウィンドウは開いたままにしなければなりません。

ハンドルにアセット内のノードのパラメータを駆動させたいならば、まず最初にアセットのパラメータをプロモートしなければなりません。それから、そのパラメータをハンドルにバインドすることができます。

Note

ハンドルとHUDスライダは、それらを右クリックして“Persistent”を有効にしない限りは、 Handlesツールを使用している時のみ表示されます。

To...Do this

アセット内からハンドルまたはHUDスライダをプロモートする

  1. アセット内に入り、プロモートしたいハンドル/スライダのノードを選択します。そのハンドルをビューポートで可視にします。

    HUDスライダに関しては、その位置と設定がプロモートする前にアセットで必要なものであることを確認します。

  2. ハンドルまたはスライダを右クリックして、 Export Handle To Digital Asset を選択します。

  3. Type Propertiesウィンドウで Apply または Accept をクリックします。

ハンドル/スライダを表示させるには、ノードを選択解除して再選択する必要がある場合があります。

アセットのパラメータにハンドルを作成する

  1. Type Propertiesウィンドウで、 Handles タブをクリックします。

  2. Create Handle をクリックして、ハンドルのタイプを選択します。

  3. Bindings の真下で、ユーザがハンドルの別の部分をドラッグした時にどのパラメータを変更するのか選択することができます。 Bindingsフィールドの隣にあるドロップダウンメニューをクリックすると、アセット上のすべてのパラメータから選択することができます。

opdef:を使用してアセット内部のファイルを指定する方法

Type PropertiesウィンドウExtra Files タブを使用することで、デジタルアセット内部にファイルを埋め込むことができます。

ファイルパスが指定可能なパラメータで以下の構文を使用することで、ファイルパスの代わりにアセット内のセクションの内容を指定することができます:

opdef:/Network_type/asset_name?section_name

この構文を使用することで、アセットで必要となるすべてのファイル(例えば、テクスチャ)をアセット自体の中で完結させることができます。

例:

opdef:/Object/my_asset?Texture.png

opdef:.?section(現行アセットからファイルを取得)とopdef:..?section(現行ノードの親からファイルを取得)のように使用することもできます。 例えば、アセット内の直下にFileノードが存在すれば、以下の構文を使用してそのアセットからジオメトリファイルを読み込むことができます:

opdef:..?test.bgeo

Note

相対opdef:はどの場所でも動作するわけではありません。 例えば、シェーダ内でtexture("opdef:/Shop/foo/texture.rat")を記述したとしても、コンパイルされたVEXには親ノードの概念がないのでopdef:..を使用することができません。

Tip

Houdiniファイル選択ダイアログを使用してアセットに埋め込まれているファイルをインタラクティブに選択することができます。 ファイル選択ダイアログの左側にあるopdef:ルートをクリックしてください。

デジタルアセット

はじめよう

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

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

アセットの作成

次のステップ