| On this page | 
このチュートリアルについて ¶
Houdiniでは、HDAs(Houdini Digital Assets)によって複雑なシーンコンポーネント、ツール、さらには追加ファイルを、簡単にインストールと配布が可能なカスタムコントロールを持った特別なノードにパッケージ化することができます。
PDGでは、 
HDA Processor TOPノードを使用することで、HDAのパラメータを設定し、そのHDAのワークアイテム(タスク)を生成し、そのHDAをクックすることができます。
このチュートリアルでは、HDAをWedge化し、HDA プロセッサを使用して複数のクックメソッドでそれらのWedgeのジョブを実行し、保持したくないバージョンのHDAジオメトリを除外してから、最終出力ジオメトリの品質を下げます。
Tip
TOPとPDGに関してもっと学習したいのであれば、TOPの紹介を参照してください。
前提条件 ¶
- 
        
        TOPネットワークのセットアップの基本を理解していること。 
- 
        
        少しPDGワークフローの経験があること。 
Tip
FXワークフロー初心者向けチュートリアルを進めることでPDGの基本を学習することができます。
学習内容 ¶
- 
        
        HDAパラメータ設定の指定。 
- 
        
        HDAのバリエーションの作成。 
- 
        
        3つの異なるクックモードによるHDAのクック。 
- 
        
        PDG出力の視覚化。 
- 
        
        PDGサービスのセットアップ 
はじめる前に ¶
HDAファイルをコピーする ¶
始める前に、このチュートリアルで作業するHDAファイルをコピーしてください:
- 
        ファイルブラウザを開いて、Houdiniインストールディレクトリに移動します。 
- 
        そのインストールディレクトリから $HH\help\files\pdg_tutorials\intro_to_hdaprocessorフォルダに移動します。
- 
        \intro_to_hdaprocessorフォルダ内のhe_polyreduce.hdaとSideFX_spaceship.hdaのファイルをコピーします。
- 
        PDG 作業ディレクトリに移動し、 \PDG_TUTORIAL_FILESという名前の新しいフォルダを作成します。
- 
        その \PDG_TUTORIAL_FILESフォルダにそれらのHDAファイルをペーストします。
ステップ1 - HDAを見てみよう ¶
このチュートリアルの最初のステップでは、SideFX_spaceship.hdaをインストールして、その内容を知りましょう。
- 
        Houdiniを起動し、新しいセッションを開始します。 
- 
        Fileメニュー ▸ Import ▸ Houdini Digital Asset で SideFX_spaceship.hdaチュートリアルファイルを選択してから、 Install and Create をクリックします。HDAsのインストール方法は、デジタルアセットのインストールと管理を参照してください。 
- 
        このSpaceship HDAのパラメータディタで Controls タブ内のパラメータを見てください。   このチュートリアルの後半では、PDGからそれらのパラメータを参照します。 
- 
        Controls タブ内のパラメータのどれかの値を調整してみましょう。 ビューポート内のSpaceship HDAのジオメトリがどのように変化するのか注目してください。 このチュートリアルの後半では、色々なTOPノードを使用して、そのSpaceship HDAの設定を調整してから、その修正バージョンのジオメトリを出力します。 
ステップ2 - PDG出力の視覚化をセットアップする ¶
このチュートリアルのステップ2では、ビューポート内のSpaceship HDAの調整を確認できるように特別な 
File SOPノードをセットアップします。
- 
        新しくHoudiniセッションを開始します。 
- 
        新しいシーンを保存します。 - 
        
        シーンファイルの名前を hdaprocessorpt1tutorial.hipにします。
- 
        
        \PDG_TUTORIAL_FILESフォルダディレクトリに.hipを保存します。
 これが以降のチュートリアルの作業プロジェクトファイルとなります。 
- 
        
        
- 
        ネットワークエディタ で、Objectコンテキストにまだいなければ、そのコンテキストに移動します。 
- 
        新しくGeometry SOPノードを作成してから、その geo1ノードの中に入ります。
- 
        File SOPを作成します。 
- 
        このFile SOPのパラメータエディタで、 Geometry File パラメータフィールド内をクリックしてから、以下のエクスプレッションを入力します: `@pdg_output` Note この @pdg_outputアトリビュートは必ず バッククォート で閉じてください。 Geometry File パラメータは 文字列 パラメータなので、これでエクスプレッションをエスケープさせる必要があります。 詳細は、エクスプレッション内でアトリビュートを使用する方法を参照してください。  @pdg_outputは、現在選択されているPDGワークアイテムの出力ジオメトリをビューポートに表示するようにHoudiniに命令します。このチュートリアルの後半では、TOPネットワーク内のワークアイテムをクリックすることで、ビューポート内でSpaceship HDAジオメトリのバリエーションを視覚化することができるようになります。 
- 
        チュートリアルシーンを保存します。 
ステップ3 - HDAバリエーションのプロパティを定義する ¶
このチュートリアルのステップ3では、3個の 
Wedge TOPノードを使用して、バリエーション生成させる(HDA上のコントロールに関連付けられた)PDG アトリビュートと作成するバリエーションの数を定義することで、
SideFX_spaceship.hdaファイルの一連の バリエーション をセットアップします。
これらのWedge TOPノードが作成するWedgeは、このチュートリアルのステップ4で複数バージョンのSpaceship HDAを生成して比較することができます。
- 
        ネットワークエディタ でtasksコンテキストに移動してから、TOP Networkノードを作成し、その topnet1ネットワークの中に入ります。
- 
        Wedge TOPノードを作成し、名前を smoothnessに変更します。Wedge はTOPs⇥ Tabメニューの Data カテゴリにあります。   このWedge TOPノードのパラメータから、そのWedgeに適用する smoothnessの度合いと生成するWedgeの数を指定します。
- 
        この smoothnessTOPノードを選択してから、以下のパラメータを設定します:- 
        
        Wedge Count を 2 に設定します。 これは、生成するバリエーションまたは Wedge の数を決めます。 
- 
        
        Wedge Attributes を 1 に設定します。 これは、可変させるアトリビュートの数を決めます。 
- 
        
        Wedge Attributes マルチパラメータで、以下の設定を行ないます: - 
        
        Attribute Name パラメータフィールドに smoothnessとタイプします。これによって、Wedgeで smoothnessアトリビュートを可変させることができます。このアトリビュートは、Spaceship HDA上の Smoothness コントロールに直接関連付けられます。 
- 
        
        Attribute Type パラメータドロップダウンメニューから Integer を選択します。 このアトリビュートタイプは、 smoothness値を常に 整数 にします。
- 
        
        Wedge Type パラメータドロップダウンメニューから Range を選択して、 Start/End パラメータをそれぞれ 0 と 1 のデフォルト値のままにします。 これは、このTOPノードがWedgeの smoothnessアトリビュートで二進範囲(0か1)を使用するように指示します。この0と1の値は、Spaceship HDAの Smoothness コントロール値の最小値( 0 )と最大値( 1 )を反映することになります。 
 
- 
        
        
- 
        
        他のすべてのパラメータはデフォルト値のままにします。 
   
- 
        
        
- 
        この smoothnessTOPノードをクックします。この smoothnessTOPノード上には、2個のWedgeを表現した2個のワークアイテムが表示され、それらのワークアイテムがクックされます。  この smoothnessTOPノードは、2つのWedgeバージョンのSpaceship HDAを生成します。 その1つが 0smoothness値(滑らかさ0%)で、もう1つが 1smoothness値(滑らかさ100%)です。  Task Graph Table内のsmoothnessノードのワークアイテム Tip このノードの右下にあるTask Graph Tableアイコンをクリックするか、または、Tasksツールバーから Tasks > Task Graph Table を選択することで、PDG Task Graph Table を開くことができます。   
- 
        2つ目のWedge TOPノードを作成し、名前を bodylengthに変更してから、その 入力 をsmoothnessWedge TOPノードの 出力 に接続します。Wedge はTOPs⇥ Tabメニューの Data カテゴリにあります。   このWedge TOPノードのパラメータには、Wedgeに適用する bodylength値と生成するWedgeの数を指定します。
- 
        この bodylengthTOPノードを選択してから、以下のパラメータを設定します:- 
        
        Wedge Count を 10 に設定します。 これは、生成するバリエーションまたは Wedge の数を決めます。 
- 
        
        Wedge Attributes を 1 に設定します。 これは、可変させるアトリビュートの数を決めます。 
- 
        
        Wedge Attributes マルチパラメータで、以下の設定を行ないます: - 
        
        Attribute Name パラメータフィールドに bodylengthとタイプします。これによって、Wedgeで bodylengthアトリビュートを可変させることができます。このアトリビュートは、Spaceship HDA上の Body Length コントロールに直接関連付けられます。 
- 
        
        Attribute Type パラメータドロップダウンメニューから Float を選択します。 これは、 bodylength値を浮動小数点値に指定します。
- 
        
        Wedge Type パラメータドロップダウンメニューから Range を選択します。 これによって、各Wedgeの bodylengthアトリビュートの値の範囲を設定することができます。
- 
        
        Start フィールドに 0.5 、 End フィールドに 2 を入力します。 これは、このノードが各Wedgeの bodylengthアトリビュートに対して Start と End のフィールド値の間で均一に分布した値を取得するように指示します。これらの値は、Spaceship HDAの Body Length コントロール値の最小値( 0.5 )と最大値( 2 )を反映することになります。 
 
- 
        
        
- 
        
        他のすべてのパラメータはデフォルト値のままにします。 
   
- 
        
        
- 
        bodylengthTOPノードをクックします。この bodylengthTOPノード上には、2個のsmoothnessWedgeそれぞれのbodylengthの10個のWedgeを表現した20個のワークアイテムが表示され、それらのワークアイテムがクックされます。  この bodylengthTOPノードは、Spaceship HDAに対して20個のWedge(10個はsmoothnessが有効で残り10個はsmoothnessが無効)を作成します。bodylengthアトリビュートの値のバリエーションは合計20種類になります。  Task Graph Table内のbodylengthノードのワークアイテム 
- 
        3つ目のWedge TOPノードを作成し、名前を wingslengthに変更してから、その 入力 をbodylengthWedge TOPノードの 出力 に接続します。Wedge はTOPs⇥ Tabメニューの Data カテゴリにあります。   このWedge TOPノードのパラメータには、Wedgeに適用する wingslength値と生成するWedgeの数を指定します。
- 
        この wingslengthTOPノードを選択してから、以下のパラメータを設定します:- 
        
        Wedge Count を 10 に設定します。 これは、生成するバリエーションまたは Wedge の数を決めます。 
- 
        
        Wedge Attributes を 1 に設定します。 これは、可変させるアトリビュートの数を決めます。 
- 
        
        Wedge Attributes マルチパラメータで、以下の設定を行ないます: - 
        
        Attribute Name パラメータフィールドに wingslengthとタイプします。これによって、Wedgeで wingslengthアトリビュートを可変させることができます。このアトリビュートは、Spaceship HDA上の Wings Length コントロールに直接関連付けられます。 
- 
        
        Attribute Type パラメータドロップダウンメニューから Float を選択します。 これは、 wingslength値を浮動小数点値に指定します。
- 
        
        Wedge Type パラメータドロップダウンメニューから Range を選択します。 これによって、各Wedgeの wingslengthアトリビュートの値の範囲を設定することができます。
- 
        
        Start フィールドに 0.5 、 End フィールドに 2 を入力します。 これは、このノードが wingslengthアトリビュートに対して Start と End のフィールド値の間の値を取得するように指示します。これらの値は、Spaceship HDAの Wings Length コントロール値の最小値( 0.5 )と最大値( 2 )を反映することになります。 
 
- 
        
        
- 
        
        他のすべてのパラメータはデフォルト値のままにします。 
   
- 
        
        
- 
        wingslengthTOPノードをクックします。この wingslengthTOPノード上には、2個のsmoothnessWedgeそれぞれのbodylengthの10個のWedgeそれぞれの10個のwingslengthを表現した200個のワークアイテムが表示され、それらのワークアイテムがクックされます。  この wingslengthTOPノードは、Spaceship HDAに対して200個のWedge(100個はsmoothnessが有効で残り100個はsmoothnessが無効)を作成します。bodylengthアトリビュートとwingslengthアトリビュートの値のバリエーションは合計200種類になります。  Task Graph Table内のwingslengthノードのワークアイテム 
- 
        wingslengthTOPノード内のどれかのワークアイテムドットをクリックします。smoothnessとbodylengthのノード上のワークアイテムとwingslengthノード上のそれらに関係するタスクの間にラインが表示されていることに注目してください。 このラインとそれを結ぶドットのハイライトは、ワークアイテム間の依存関係を示しています。ノード間のワークアイテムの依存関係接続 Tip ワークアイテムドットを クリックしてから[と]のキーを使用することで、そのノード上のワークアイテムを前後に進めることができます。 
 
- 
        チュートリアルシーンを保存します。 
ステップ4 - HDAジオメトリバリアントを作成する ¶
このチュートリアルのステップ4では、一連の 
HDA Processor TOPノードを使用して、Wedge TOPノード入力の設定から
SideFX_spaceship.hdaファイルのジオメトリのバリエーションを生成します。
この工程は、色々なバージョンのHDAを生成して視覚的にそれらを比較したいといった場面で役立ちます。
各HDA Processorノードは、異なるクックメソッド(通常のクック、バッチクック、サービスクック)を使ってSpaceship HDAジオメトリのバリエーションを出力します。 クックメソッドを変えることで、このチュートリアル外であなた自身のHDAベースのTOPネットワークの長いクック時間を短くすることができます。
- 
        HDA Processor TOPノードを作成して、名前を regular_cookに変更してから、その 入力 をwingslengthWedge TOPノードの 出力 に接続します。HDA Processor はTOPs⇥ Tabメニューの Geometry カテゴリにあります。   このHDA Processor TOPノード上のパラメータでは、取り込むHDAファイルとそのHDAが参照するWedge TOPノードのアトリビュートを指定します。 
- 
        regular_cookTOPノードを選択してから、以下のパラメータを設定します:- 
        
        Generation タブの HDA File パラメータの隣にあるファイル選択ボタンをクリックします。 - 
        
        表示された Choose File ブラウザウィンドウで、 $HIPディレクトリ内のSideFX__spaceship.hdaファイルを選択して Accept をクリックします。これは、このノードがどのHDAファイルを入力アセットとして使用するのかを指示します。 これによって以下の処理が行なわれます: - 
        
        このノードがそのHDAファイルからオペレータを自動的に検知して、そのHDA TypeとそのHDAが持つ出力を自動的に設定します。   
- 
        
        実際にHDAをインスタンス化した時と同じように、そのHDAのすべてのパラメータがこのノード上に作成されます。   
 
- 
        
        
 
- 
        
        
- 
        
        Work Items > Cache Mode パラメータドロップダウンメニューから Write Files を選択します。 これは、このノードが常にキャッシュファイルを上書きするように指示します。 このチュートリアルでは、Wedgeノード上のどれかのパラメータ値が変更された場合にクック時に常に新しいキャッシュファイルを書き出したいです。 そうしなかった場合、ビューポート内でSpaceshipのバリエーションの変更が何も 反映されません 。 
- 
        
        HDA Parameters タブ > Controls タブで @アトリビュート参照を使用して、 Smoothness 、 Body Length 、 Wings Length のパラメータがWedgeノード上のそれらに該当するアトリビュートを見るように設定します。- 
        
        Smoothness パラメータフィールドで、 @smoothnessとタイプします。
- 
        
        Body Length パラメータフィールドで、 @bodylengthとタイプします。
- 
        
        Wings Length パラメータフィールドで、 @wingslengthとタイプします。  
 これらのパラメータの値がWedgeノード上のアトリビュート設定で決まるようになりました。 Note @アトリビュート参照を使ってこのようなタイプのリレーションシップを作成することを、 Pull形式 Wedgingと呼びます。 別のタイプのTOPs Wedgingテクニックについてもっと学びたいのであれば、Pull vs. Pushを参照してください。
- 
        
        
- 
        
        他のすべてのパラメータはデフォルト値のままにします。 Tip このチュートリアル外のあなた自身のセットアップでは、HDA Processor TOPノードの挙動に対してトラブル対応する必要が出てくる場合があります。 このトラブル対応の工程で役に立つ機能として、以下の設定をすることをお勧めします: - 
        HDA Processor TOPノードの Generation タブの Asset Outputs > Save Debug .hip Fileパラメータを有効にすることで、クック時にデバッグHIPファイルが出力されるように設定することができます。   
- 
        Local Scheduler TOPノードを選択して、 Temp Directory > Location パラメータを Working Directory に設定することで、ローカルドライブ上のデバッグHIPファイルを見つけやすくすることができます。 
 
- 
        
 
- 
        
        
- 
        regular_cookTOPノードをクックします。この regular_cookTOPノード上には、Spaceship HDAバリアントを表現した200個のワークアイテムが表示され、それらのワークアイテムがクックされます。regular_cookTOPノードは、ワークアイテム毎にプロセスを起動してから、各タスクを個々にクックします。regular_cookTOPノードは、HDA Processor TOPノードの( 一番 遅い )デフォルトのクックメソッドを使用します。 通常では、このクックメソッドだとプロセスの起動時間が実際のノードのクック時間よりも長いです。  クックが完了したregular_cookノード この regular_cookTOPノードは、Spaceship HDAのジオメトリから200種類のバリエーション(100種類はsmoothnessが有効で残り100種類はsmoothnessが無効)を生成して出力します。bodylengthアトリビュートとwingslengthアトリビュートの値のバリエーションは合計200種類になります。
- 
        regular_cookTOPノード内のワークアイテムドットのどれかをクリックします。ネットワークエディタには、 smoothness、bodylength、wingslengthのノード上のワークアイテムとregular_cookノード上のそれらに関係するタスクの間にラインが表示されていることに注目してください。 このラインとそれを結ぶドットのハイライトは、ワークアイテム間の依存関係を示しています。ビューポートでは、そのバリエーションのSpaceship HDAが表示されていることに注目してください。 これは、このチュートリアルのステップ2でセットアップしたFile SOPノード( Geometry File パラメータに @pdg_outputを設定)とregular_cookノードの Control パラメータで使用した@アトリビュート参照の組み合わせによって視覚化することができています。ノード間のワークアイテムの依存関係接続とビューポート内でのHDAバリエーション Tip - 
        
        ワークアイテムドットを クリックしてから[と]のキーを使用することで、そのノード上のワークアイテムを前後に進めることができます。 
- 
        
        ワークアイテムをダブルクリックして表示されるワークアイテム詳細ウィンドウ内の Output リンクをクリックすることで、個々の regular_cookワークアイテムの結果をGPlayでビューイングすることができます。
 
- 
        
        
- 
        regular_cookTOPノード内のワークアイテムドットのどれかをクリックすることで、それらの値を調べることができます。 smoothness、bodylength、wingslengthのアトリビュートがワークアイテム毎にどのように変化しているのか見てください。 これらのアトリビュート値は、ビューポート内のSpaceship HDAのバリエーションの形状、長さ、滑らかさに寄与しています。  
- 
        チュートリアルシーンを保存します。 これで1つ目のHDA Processor TOPノードを作成してその挙動を理解しました。 次は、2個のHDA Processor TOPノードを作成して、他の高速なメソッドを試します。 
- 
        regular_cookTOPノードを選択して、⌃ Ctrl + cを押してから⌃ Ctrl + vを押します。新しく複製されたHDA Processor TOPノードが regular_cook1という名前で ネットワークエディタ に追加され、 その 入力 は既にwingslengthTOPノードの 出力 に接続されています。- 
        
        regular_cook1TOPノードを選択して、名前をbatch_cookに変更します。  
 このHDA Processor TOPノードでは、 バッチ クックメソッドを使用するようにします。 
- 
        
        
- 
        batch_cookTOPノードを選択して、以下のパラメータを設定します:- 
        
        Generation タブの Work Items > Batch Mode ドロップダウンメニューから All Items in One Batch を選択します。   これは、このノードがすべてのSpaceship HDAジオメトリのバリエーションを 1ジョブ でクックするように指示します。 個々のプロセスを起動するオーバーヘッドが1ジョブによる実際のタスクのクック時間と比にならないほど長い場合、これによってクック時間が大幅に短くなります。 Tip このチュートリアル外のあなた自身のセットアップでは、以下の設定をすることをお勧めします: - 
        
        クックが速攻で終わる小さなタスクが膨大にある場合は、HDA Processorのワークアイテムはバッチ化(一括処理)してください。 
- 
        
        クックに時間がかかるタスクだとプロセスの起動コストは問題にならないので、HDA Processorのワークアイテムはバッチ化 しないでください 。 
 
- 
        
        
- 
        
        他のすべてのパラメータはデフォルト値のままにします。 
 
- 
        
        
- 
        batch_cookTOPノードをクックします。この batch_cookTOPノード上には、Spaceship HDAバリエーションを表現した200個のワークアイテムが表示され、それらのワークアイテムがクックされます。batch_cookTOPノードは単一プロセスを起動して、すべてのワークアイテムを同時にクックします。 たいていの場合だと、このクックメソッドの方がregular_cookで使用したクックメソッドよりも高速です。 このチュートリアルに関しては、これら2つのクックモードだと明らかにバッチクックメソッドの方が高速です。regular_cookとbatch_cookのクック速度の比較 この batch_cookTOPノードは、Spaceship HDAのジオメトリから200種類のバリエーション(100種類はsmoothnessが有効で残り100種類はsmoothnessが無効)を生成して出力します。bodylengthアトリビュートとwingslengthアトリビュートの値のバリエーションは合計200種類になります。  クックが完了したbatch_cookノード 
- 
        チュートリアルシーンを保存します。 これで2つ目のHDA Processor TOPノードを作成してその挙動を理解しました。 次は、もう1つHDA Processor TOPノードを作成して、 最も高速 なメソッドを試します。 
- 
        regular_cookTOPノードを選択して、⌃ Ctrl + cを押してから⌃ Ctrl + vを押します。新しく複製されたHDA Processor TOPノードが regular_cook1という名前で ネットワークエディタ に追加され、 その 入力 は既にwingslengthTOPノードの 出力 に接続されています。- 
        
        regular_cook1TOPノードを選択して、名前をservice_cookに変更します。  
 このHDA Processor TOPノードでは、 サービス クックメソッドを使用するようにします。 
- 
        
        
- 
        service_cookTOPノードを選択して、以下のパラメータを設定します:- 
        
        Job Options タブの Use HDA Processor Service パラメータを有効にします。 
- 
        
        Connection Timeout (ms) フィールド内をクリックして、 10000 (10秒)を入力します。 これは、ジョブが10秒以内に 完了しなかった 場合にそのジョブを失敗にするようにプロセッササービスに指示します。 これは、(ネットワーク障害などの)障害が発生した場合にジョブが無期限に処理を継続 しない ようにするための安全対策です。   
- 
        
        他のすべてのパラメータはデフォルト値のままにします。 
 
- 
        
        
- 
        ネットワークエディタ のTasksメニューバーで、 Tasks > PDG Service Menu を選択します。 PDG Service Menu に関する情報は、PDG Service Managerを参照してください。 
- 
        PDG Service Menu で Add Service をクリックします。   
- 
        表示された Register PDG Service ウィンドウで、以下の設定を行ないます: - 
        
        Service Type を HDA Processor Service に設定します。 
- 
        
        Scheduler Type をデフォルトの Local Scheduler 設定のままにします。 
- 
        
        Pool Size フィールド内をクリックしてから、 10 と入力します。 これは、PDG Service ManagerがHDA Processor Serviceのプールに対して10個のインスタンスを作成するように指示します。 
- 
        
        Register をクリックします。 
   これで、あなたが使用する新しいサービスが利用可能になりました。 
- 
        
        
- 
        PDG Service Menu で Start をクリックします。   HDA Processor Serviceがサービスプール内に10個のインスタンスを起動します。 あなたのシステムの実行中プロセスリストには、現行Houdiniセッション下でそれら10個すべてのHDA Processor Serviceインスタンスが(複数の hython.exeプロセスとして)リストされているのが分かります。  
- 
        service_cookTOPノードをクックします。この service_cookTOPノード上には、Spaceship HDAバリエーションを表現した200個のワークアイテムが表示され、それらのワークアイテムがクックされます。service_cookは、10個の起動中のHDA Processor Serviceインスタンス(プロセス)を使用して、各ワークアイテムをクックします。 このチュートリアルの場合では、サービスクックメソッドが明らかに最も高速なクックモードです。 しかし、このチュートリアル外でクックに時間がかかるジョブを処理する必要がある場合では、おそらく通常のクックまたはバッチクックのメソッドを使った方が良いでしょう。regular_cookとbatch_cookとservice_cookのクック速度の比較 この service_cookTOPノードは、Spaceship HDAのジオメトリから200種類のバリエーション(100種類はsmoothnessが有効で残り100種類はsmoothnessが無効)を生成して出力します。bodylengthアトリビュートとwingslengthアトリビュートの値のバリエーションは合計200種類になります。  クックが完了したservice_cookノード 
- 
        PDG Service Menu でHDA Processor Serviceを停止してからウィンドウを閉じます。 
- 
        チュートリアルシーンを保存します。 
これで3つ目のHDA Processor TOPノードを作成してPDGサービスのセットアップ方法を理解しました。 次は、 不要な HDAジオメトリバリアントを除外します。
ステップ5 - 不要なHDAジオメトリバリアントを除外する ¶
このチュートリアルのステップ5では、 
Filter by Expression TOPノードを使用して、smoothnessが無効なバージョンのSpaceship HDAジオメトリを除外して、smoothnessが有効なバージョンのSpaceship HDAジオメトリだけを残します。
この工程は、あなた独自のプロダクションワークフローの出力から特定のHDAジオメトリバリアントを削除したい時に役立ちます。
- 
        Filter by Expression TOPノードを作成して、名前を smooth_onlyに変更してから、その 入力 をbatch_cookHDA Processor TOPノードの 出力 に接続します。Filter by Expression はTOPs⇥ Tabメニューの Data カテゴリにあります。   このFilter by Expression TOPノード上のパラメータは、 batch_cookから出力されたSpaceship HDAジオメトリバリアントから残すジオメトリと削除するジオメトリを決めます。
- 
        smooth_onlyTOPノードを選択してから、以下のパラメータを設定します:- 
        
        Filter Expression パラメータフィールド内をクリックして、以下のエクスプレッションをタイプします: @smoothness != 1 このエクスプレッションは、このノードが smoothness Wedgeアトリビュート値 1 以外のSpaceship HDAジオメトリバリアントを出力から削除するように指示します。   Note このチュートリアルに関しては、この @smoothness != 1エクスプレッションは、 Operation > Remove Matching Items が選択されてる場合は@smoothness = 0エクスプレッションと等価で、 Operation > Keep Matching Items が選択されている場合は@smoothness = 1エクスプレッションと等価です。
- 
        
        他のすべてのパラメータはデフォルト値のままにします。 
 
- 
        
        
- 
        smooth_onlyTOPノードをクックします。この smooth_onlyTOPノード上には、滑らかなSpaceship HDAバリアントを表現した100個のワークアイテムが表示され、それらのワークアイテムがクックされます。この smooth_onlyTOPノードは、 滑らかでない バージョンの100個のSpaceship HDAジオメトリバリアントを除外し、 滑らかな バージョンの100個のSpaceship HDAジオメトリバリアントを出力します。  クックが完了したsmooth_onlyノード 
- 
        smooth_onlyTOPノード内のどれかのワークアイテムドットをクリックします。smooth_onlyノード上のワークアイテムと上流ノード上のそれらに関係するタスクの間にラインが表示されていることに注目してください。 このラインとそれを結ぶドットのハイライトは、ワークアイテム間の依存関係を示しています。ノード間のワークアイテムの依存関係接続 smoothnessノード上の2つ目のワークアイテムは、bodylengthノード上の下段のワークアイテム、wingslengthノード上の下半分のワークアイテム、batch_cookノード上の下半分のワークアイテムにのみ繋がっていることに注目してください。 これらすべては、 smoothness Wedgeアトリビュート値が 1 のワークアイテムです。Tip ワークアイテムドットを クリックしてから[と]のキーを使用することで、そのノード上のワークアイテムを前後に進めることができます。 
- 
        チュートリアルシーンを保存します。 
これで、保持したいバージョンのSpaceship HDAバリアントジオメトリのみが残り、そのジオメトリにさらに修正を加えることができるようになりました。
ステップ6 - 最終HDA出力の品質を下げる ¶
このチュートリアルの最終ステップでは、もう1つ 
HDA Processor TOPノードを使用して、 異なる 入力HDAアセットファイルから設定を取り込んで、それをSmooth Spaceship HDAジオメトリバリアントに適用します。
このHDA Processor TOPノードを使って、Smooth Spaceship HDAジオメトリバリアント内のポリゴン数を削減していきます。 この工程は、あなた独自のプロダクションワークフローでLODジオメトリを作成したい時に役立ちます。
- 
        HDA Processor TOPノードを作成し、名前を reduce_polygonsに変更してから、その 入力 をsmooth_onlyFilter by Expression TOPノードの 出力 に接続します。HDA Processor はTOPs⇥ Tabメニューの Geometry カテゴリにあります。   このHDA Processor TOPノード上のパラメータでは、取り込むHDAファイルとそれらのアトリビュートを使ってSmooth Spaceship HDAジオメトリバリアントを修正する方法を指定します。 
- 
        reduce_polygonsTOPノードを選択してから、以下のパラメータを設定します:- 
        
        Generation タブの HDA File パラメータの隣にあるファイル選択ボタンをクリックします。 - 
        
        表示された Choose File ブラウザウィンドウで、 $HIPディレクトリ内のhe_polyreduce.hdaファイルを選択してから Accept をクリックします。これは、このノードがどのHDAファイルを入力アセットとして使用するのかを指示します。 これによって以下の処理が行なわれます: - 
        
        このノードは Operator Type 、 HDA Type 、 Number of Outputs を自動的に検知して設定します。 
- 
        
        実際にHDAをインスタンス化した時と同じように、そのHDAのすべてのパラメータがこのノード上に作成されます。 
 
- 
        
        
 
- 
        
        
- 
        
        Batch Mode パラメータドロップダウンメニューから All Items in One Batch を選択します。 これは、このノードがそれらのタスクすべてを1ジョブでクックするように指示します。 
- 
        
        Asset Inputs > Create File Inputs を有効にします。 これは、このノードがSmooth Spaceship HDAジオメトリバリアントを入力として取り込むように指示します。 
   - 
        
        HDA Parameters タブの Percent To Keep を 50 に設定します。 これは、このノードが入力内のポリゴン数を50%削減するように指示します。   このアトリビュートは、そのPoly Reduce HDA上の Percent To Keep パラメータに直接関係付けられます。 
- 
        
        他のすべてのパラメータはデフォルト値のままにします。 
 
- 
        
        
- 
        reduce_polygonsTOPノードをクックします。この reduce_polygonsTOPノード上には、Smooth Spaceship HDAジオメトリバリアントを表現した100個のワークアイテムが表示され、それらのワークアイテムがクックされます。この reduce_polygonsTOPノードは、Smooth Spaceship HDAジオメトリバリアントのポリゴン数を50%削減して、そのポリゴン削減したバージョンのSpaceship HDAジオメトリバリアントをディスクに出力します。  クックが完了したreduce_polygonsノード 
- 
        reduce_polygonsTOPノード内のどれかのワークアイテムドットをクリックします。reduce_polygonsノード上のワークアイテムと上流ノード上のそれらに関係するタスクの間にラインが表示されていることに注目してください。 このラインとそれを結ぶドットのハイライトは、ワークアイテム間の依存関係を示しています。ビューポートにもポリゴン削減したバージョンのSpaceship HDAジオメトリバリアントが表示されます。 Smooth Spaceship HDAバリエーションのポリゴン削減ありなし Tip ワークアイテムドットを クリックしてから[と]のキーを使用することで、そのノード上のワークアイテムを前後に進めることができます。 
- 
        チュートリアルシーンを保存します。 
おめでとうございます!
HDA Processor PDGチュートリアルシリーズ パート1を完了しました。
この最終TOPネットワークを見たいのであれば、Houdiniサンプルファイルディレクトリ($HH\help\files\pdg_tutorials\intro_to_hdaprocessor)にあるhdaprocessor_part1_tutorial.hipを見てください。
PDGワークフローについて学習を継続したいのであれば、このHoudiniドキュメントの他の初心者向けチュートリアルシリーズを進めるのも良いし、 私どものウェブサイトの Pipeline|PDG ラーニングパスにアクセスするのも良いでしょう。