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の数を指定します。 -
この
smoothness
TOPノードを選択してから、以下のパラメータを設定します:-
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 )を反映することになります。
-
-
他のすべてのパラメータはデフォルト値のままにします。
-
-
この
smoothness
TOPノードをクックします。この
smoothness
TOPノード上には、2個のWedgeを表現した2個のワークアイテムが表示され、それらのワークアイテムがクックされます。この
smoothness
TOPノードは、2つのWedgeバージョンのSpaceship HDAを生成します。 その1つが 0smoothness
値(滑らかさ0%)で、もう1つが 1smoothness
値(滑らかさ100%)です。Tip
このノードの右下にあるTask Graph Tableアイコンをクリックするか、または、Tasksツールバーから Tasks > Task Graph Table を選択することで、PDG Task Graph Table を開くことができます。
-
2つ目のWedge TOPノードを作成し、名前を
bodylength
に変更してから、その 入力 をsmoothness
Wedge TOPノードの 出力 に接続します。Wedge はTOPs⇥ Tabメニューの Data カテゴリにあります。
このWedge TOPノードのパラメータには、Wedgeに適用する
bodylength
値と生成するWedgeの数を指定します。 -
この
bodylength
TOPノードを選択してから、以下のパラメータを設定します:-
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 )を反映することになります。
-
-
他のすべてのパラメータはデフォルト値のままにします。
-
-
bodylength
TOPノードをクックします。この
bodylength
TOPノード上には、2個のsmoothness
Wedgeそれぞれのbodylength
の10個のWedgeを表現した20個のワークアイテムが表示され、それらのワークアイテムがクックされます。この
bodylength
TOPノードは、Spaceship HDAに対して20個のWedge(10個はsmoothnessが有効で残り10個はsmoothnessが無効)を作成します。bodylength
アトリビュートの値のバリエーションは合計20種類になります。 -
3つ目のWedge TOPノードを作成し、名前を
wingslength
に変更してから、その 入力 をbodylength
Wedge TOPノードの 出力 に接続します。Wedge はTOPs⇥ Tabメニューの Data カテゴリにあります。
このWedge TOPノードのパラメータには、Wedgeに適用する
wingslength
値と生成するWedgeの数を指定します。 -
この
wingslength
TOPノードを選択してから、以下のパラメータを設定します:-
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 )を反映することになります。
-
-
他のすべてのパラメータはデフォルト値のままにします。
-
-
wingslength
TOPノードをクックします。この
wingslength
TOPノード上には、2個のsmoothness
Wedgeそれぞれのbodylength
の10個のWedgeそれぞれの10個のwingslength
を表現した200個のワークアイテムが表示され、それらのワークアイテムがクックされます。この
wingslength
TOPノードは、Spaceship HDAに対して200個のWedge(100個はsmoothnessが有効で残り100個はsmoothnessが無効)を作成します。bodylength
アトリビュートとwingslength
アトリビュートの値のバリエーションは合計200種類になります。 -
wingslength
TOPノード内のどれかのワークアイテムドットをクリックします。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
に変更してから、その 入力 をwingslength
Wedge TOPノードの 出力 に接続します。HDA Processor はTOPs⇥ Tabメニューの Geometry カテゴリにあります。
このHDA Processor TOPノード上のパラメータでは、取り込むHDAファイルとそのHDAが参照するWedge TOPノードのアトリビュートを指定します。
-
regular_cook
TOPノードを選択してから、以下のパラメータを設定します:-
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_cook
TOPノードをクックします。この
regular_cook
TOPノード上には、Spaceship HDAバリアントを表現した200個のワークアイテムが表示され、それらのワークアイテムがクックされます。regular_cook
TOPノードは、ワークアイテム毎にプロセスを起動してから、各タスクを個々にクックします。regular_cook
TOPノードは、HDA Processor TOPノードの( 一番 遅い )デフォルトのクックメソッドを使用します。 通常では、このクックメソッドだとプロセスの起動時間が実際のノードのクック時間よりも長いです。この
regular_cook
TOPノードは、Spaceship HDAのジオメトリから200種類のバリエーション(100種類はsmoothnessが有効で残り100種類はsmoothnessが無効)を生成して出力します。bodylength
アトリビュートとwingslength
アトリビュートの値のバリエーションは合計200種類になります。 -
regular_cook
TOPノード内のワークアイテムドットのどれかをクリックします。ネットワークエディタには、
smoothness
、bodylength
、wingslength
のノード上のワークアイテムとregular_cook
ノード上のそれらに関係するタスクの間にラインが表示されていることに注目してください。 このラインとそれを結ぶドットのハイライトは、ワークアイテム間の依存関係を示しています。ビューポートでは、そのバリエーションのSpaceship HDAが表示されていることに注目してください。 これは、このチュートリアルのステップ2でセットアップしたFile SOPノード( Geometry File パラメータに
@pdg_output
を設定)とregular_cook
ノードの Control パラメータで使用した@
アトリビュート参照の組み合わせによって視覚化することができています。Tip
-
ワークアイテムドットをクリックしてから[と]のキーを使用することで、そのノード上のワークアイテムを前後に進めることができます。
-
ワークアイテムをダブルクリックして表示されるワークアイテム詳細ウィンドウ内の Output リンクをクリックすることで、個々の
regular_cook
ワークアイテムの結果をGPlayでビューイングすることができます。
-
-
regular_cook
TOPノード内のワークアイテムドットのどれかをクリックすることで、それらの値を調べることができます。smoothness
、bodylength
、wingslength
のアトリビュートがワークアイテム毎にどのように変化しているのか見てください。 これらのアトリビュート値は、ビューポート内のSpaceship HDAのバリエーションの形状、長さ、滑らかさに寄与しています。 -
チュートリアルシーンを保存します。
これで1つ目のHDA Processor TOPノードを作成してその挙動を理解しました。 次は、2個のHDA Processor TOPノードを作成して、他の高速なメソッドを試します。
-
regular_cook
TOPノードを選択して、⌃ Ctrl + cを押してから⌃ Ctrl + vを押します。新しく複製されたHDA Processor TOPノードが
regular_cook1
という名前で ネットワークエディタ に追加され、 その 入力 は既にwingslength
TOPノードの 出力 に接続されています。-
regular_cook1
TOPノードを選択して、名前をbatch_cook
に変更します。
このHDA Processor TOPノードでは、 バッチ クックメソッドを使用するようにします。
-
-
batch_cook
TOPノードを選択して、以下のパラメータを設定します:-
Generation タブの Work Items > Batch Mode ドロップダウンメニューから All Items in One Batch を選択します。
これは、このノードがすべてのSpaceship HDAジオメトリのバリエーションを 1ジョブ でクックするように指示します。 個々のプロセスを起動するオーバーヘッドが1ジョブによる実際のタスクのクック時間と比にならないほど長い場合、これによってクック時間が大幅に短くなります。
Tip
このチュートリアル外のあなた自身のセットアップでは、以下の設定をすることをお勧めします:
-
クックが速攻で終わる小さなタスクが膨大にある場合は、HDA Processorのワークアイテムはバッチ化(一括処理)してください。
-
クックに時間がかかるタスクだとプロセスの起動コストは問題にならないので、HDA Processorのワークアイテムはバッチ化 しないでください 。
-
-
他のすべてのパラメータはデフォルト値のままにします。
-
-
batch_cook
TOPノードをクックします。この
batch_cook
TOPノード上には、Spaceship HDAバリエーションを表現した200個のワークアイテムが表示され、それらのワークアイテムがクックされます。batch_cook
TOPノードは単一プロセスを起動して、すべてのワークアイテムを同時にクックします。 たいていの場合だと、このクックメソッドの方がregular_cook
で使用したクックメソッドよりも高速です。 このチュートリアルに関しては、これら2つのクックモードだと明らかにバッチクックメソッドの方が高速です。この
batch_cook
TOPノードは、Spaceship HDAのジオメトリから200種類のバリエーション(100種類はsmoothnessが有効で残り100種類はsmoothnessが無効)を生成して出力します。bodylength
アトリビュートとwingslength
アトリビュートの値のバリエーションは合計200種類になります。 -
チュートリアルシーンを保存します。
これで2つ目のHDA Processor TOPノードを作成してその挙動を理解しました。 次は、もう1つHDA Processor TOPノードを作成して、 最も高速 なメソッドを試します。
-
regular_cook
TOPノードを選択して、⌃ Ctrl + cを押してから⌃ Ctrl + vを押します。新しく複製されたHDA Processor TOPノードが
regular_cook1
という名前で ネットワークエディタ に追加され、 その 入力 は既にwingslength
TOPノードの 出力 に接続されています。-
regular_cook1
TOPノードを選択して、名前をservice_cook
に変更します。
このHDA Processor TOPノードでは、 サービス クックメソッドを使用するようにします。
-
-
service_cook
TOPノードを選択して、以下のパラメータを設定します:-
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_cook
TOPノードをクックします。この
service_cook
TOPノード上には、Spaceship HDAバリエーションを表現した200個のワークアイテムが表示され、それらのワークアイテムがクックされます。service_cook
は、10個の起動中のHDA Processor Serviceインスタンス(プロセス)を使用して、各ワークアイテムをクックします。 このチュートリアルの場合では、サービスクックメソッドが明らかに最も高速なクックモードです。 しかし、このチュートリアル外でクックに時間がかかるジョブを処理する必要がある場合では、おそらく通常のクックまたはバッチクックのメソッドを使った方が良いでしょう。この
service_cook
TOPノードは、Spaceship HDAのジオメトリから200種類のバリエーション(100種類はsmoothnessが有効で残り100種類はsmoothnessが無効)を生成して出力します。bodylength
アトリビュートとwingslength
アトリビュートの値のバリエーションは合計200種類になります。 -
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_cook
HDA Processor TOPノードの 出力 に接続します。Filter by Expression はTOPs⇥ Tabメニューの Data カテゴリにあります。
このFilter by Expression TOPノード上のパラメータは、
batch_cook
から出力されたSpaceship HDAジオメトリバリアントから残すジオメトリと削除するジオメトリを決めます。 -
smooth_only
TOPノードを選択してから、以下のパラメータを設定します:-
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_only
TOPノードをクックします。この
smooth_only
TOPノード上には、滑らかなSpaceship HDAバリアントを表現した100個のワークアイテムが表示され、それらのワークアイテムがクックされます。この
smooth_only
TOPノードは、 滑らかでない バージョンの100個のSpaceship HDAジオメトリバリアントを除外し、 滑らかな バージョンの100個のSpaceship HDAジオメトリバリアントを出力します。 -
smooth_only
TOPノード内のどれかのワークアイテムドットをクリックします。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_only
Filter by Expression TOPノードの 出力 に接続します。HDA Processor はTOPs⇥ Tabメニューの Geometry カテゴリにあります。
このHDA Processor TOPノード上のパラメータでは、取り込むHDAファイルとそれらのアトリビュートを使ってSmooth Spaceship HDAジオメトリバリアントを修正する方法を指定します。
-
reduce_polygons
TOPノードを選択してから、以下のパラメータを設定します:-
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_polygons
TOPノードをクックします。この
reduce_polygons
TOPノード上には、Smooth Spaceship HDAジオメトリバリアントを表現した100個のワークアイテムが表示され、それらのワークアイテムがクックされます。この
reduce_polygons
TOPノードは、Smooth Spaceship HDAジオメトリバリアントのポリゴン数を50%削減して、そのポリゴン削減したバージョンのSpaceship HDAジオメトリバリアントをディスクに出力します。 -
reduce_polygons
TOPノード内のどれかのワークアイテムドットをクリックします。reduce_polygons
ノード上のワークアイテムと上流ノード上のそれらに関係するタスクの間にラインが表示されていることに注目してください。 このラインとそれを結ぶドットのハイライトは、ワークアイテム間の依存関係を示しています。ビューポートにもポリゴン削減したバージョンの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 ラーニングパスにアクセスするのも良いでしょう。