| On this page |
紹介 ¶
Unrealでは、Procedural Content Generation Framework(PCG)を使用することで、エンジン内でプロシージャルコンテンツを作成することができます。 詳細は、UnrealのPCGドキュメントを参照してください。
PCGプラグインは、Houdini Digital Asset(HDA)とその機能をUnrealのPCG Graphに統合します。 HoudiniのノードネットワークとHDAを使用することで、PCGノードの統合された機能を活用して、ツール、アセット、ランドスケープ、ジオメトリ、カーブ、スケルトンメッシュを作成し、Unreal内のアセットを強化することができます。
Houdini Digital Assetノード ¶
Houdini Digital Asset(HDA)ノードは、PCGのネットワークをHoudini Engine for Unrealプラグインの機能に接続するためのフレームワークです。 このノードを使用すると、Unreal内のHDAの全機能とPCGノードを組み合わせて、アセットを出力したり、データを渡したりすることができます。
HDAノードは、パラメータ、入力、出力の送受信を行うように設定されています。
PCGでのHDAノードの使い方 ¶
Houdini Asset Componentと同様に、HDA PCGノード上でパラメータやHDA入力を設定することができます。
単一の出力ピンには、すべての出力に関する情報が含まれています。
PCGでHDAノードを作成するには:
-
HDAをUnrealにインポートします。詳細は、HDAのインポートとエクスポートのワークフローをご参照ください。
-
PCG Gprah内でTABをクリックして、
Houdiniと入力します。 これによって、ノードオプションとして Houdini Digital Asset が表示されます。 このノードをPCG Graphに配置します。 -
HoudiniのPCG Detailsパネルで、 Houdini Asset パラメータを探します。
-
ドロップダウンメニューから、目的のHDAを選択します。
-
これでHoudiniセッションが作成され、そのHDAの入力、出力、パラメータが解析されます。
-
PCG内では、サポートされているHDAタイプを利用することができます。 詳細は、アセットを参照してください。
パラメータ ¶
パラメータピンに1つ以上のアトリビュートセットを割り当てることで、それらのパラメータを上書きすることができます。 アトリビュートセットは、プロパティやデータテーブルなどのビルトインPCGノードから作成することができます。
入力 ¶
メッシュやランドスケープなどのUnrealオブジェクトは、アトリビュートセットを使用してHDA入力に送信することができます。
objectアトリビュートは、使用されているオブジェクトを識別します。
HDA PCGノードのDetailsパネルで、追加の入力設定を行なうことができます。
HDAの入力ノードにアトリビュートまたはポイントデータが割り当てられていて、且つ、objectアトリビュートが含まれていない場合、
このプラグインは、RawデータをHoudiniにアップロードします。
これは、ランドスケープ全体ではなく、ランドスケープ上の特定のポイントをサンプリングしてHoudiniに送信したい場合に役立ちます。
Note
ポイントデータは、UnrealとHoudini間で座標をトランスフォームします。 汎用ベクトルアトリビュートは、それがポイント、ベクトル、任意のデータのどれなのか区別することができないので変換されません。
出力 ¶
Houdini Asset Componentと同様に、Houdiniから直接Unrealオブジェクトを作成することができます。 PCGは、ノード間でUnrealオブジェクトを渡さないため、これらのオブジェクトはコンテンツブラウザ内またはPCG Graph Actorが置かれているレベル内に作成されます。
HDA PCGノードは、PCGノード間でオブジェクトに関する情報を渡すことができます。
HDA PCGノードは、Unrealオブジェクトの代わりにRaw PCGデータを作成することができます。
例えば、HDAはHoudini Height Fieldをサンプリングして、ランドスケープ全体ではなくポイントのリストを返すことができます。
unreal_pcg_paramsを使用することで、パラメータやアトリビュートセットをエクスポートすることができます。
Houdini PCG ¶
When you are in the PCG graph and have created a Houdini Digital Asset (HDA) PCG node, an additional Houdini PCG tab appears. See Details Panel for the full list of HDA settings.
設定 |
説明 |
|---|---|
Houdini Asset |
Set the Houdini Asset from the dropdown for the HDA PCG node in the PCG Graph. |
Output Type |
Dropdown menu to select the output. Cook - When you cook an asset, it follows these steps
After cooking scene components such as meshes, they're attached to the HoudiniPCGActor. Actors are placed in the current level. Assets are created in the temperary Houdini directory located in Game/HoudiniEngine/Temp. Cook and Bake - First, cooks the PCG Node following the Cook description process. Then, bakes the cooked data which typically means copying the data from the Cook stage to its final output location. Scene components are replaced with actors in the level. Actors are placed using the final baked actor naming convention. Assets moved to the Baked folder. Note Baked actors and assets are deleted when regenerating the PCG graph or selecting Cleanup in the PCGComponent settings. To prevent this, select Clear PCG Link on the PCGComponent. |
Create Scene Component |
When on, scene components and actors will be created for HDA outputs in the current level. When off, only assets are created in the content folder. This is useful for creating assets which are then used to spawn other actors in the PCG Graph such as the Static Mesh Spawner node. |
Automatically Delete Temp Assets |
When on, automatically deletes assets stored in the Houdini Engine temporary folder in the Content folders. This folder can become full when using PCG, so turn it on to reduce disk space. |
Use PCG Cache |
To optimize PCG performance, Unreal uses an internal cache to store outputs generated by PCG nodes. If the inputs do not change, the cache assumes the outputs can be reused and speeds up the PCG graph generation. However, using the PCG cache is not desirable if the HDA PCG node depends on assets outside of Unreal. For example, if an HDA loads a Note This setting only affects the node applied, the rest of the graph’s nodes still uses the PCG cache. Tip When this setting is on and a node does not generate correctly. Use Force Generate to clear the cache. You can also use CTRL + |
サポートされている機能 ¶
一般的にHoudini Asset Componentで利用可能な機能は、以下に挙げているいくつかの制限を除き、HDA PCGノードと互換性があります。
ランドスケープ ¶
PCGにおけるランドスケープの作成は、Houdiniによって完全にサポートされています。 ランドスケープの修正については、いくつかの注意点がありますがサポートされています。
HDAが既存のUnrealランドスケープを修正する場合は、レベル内のPCGコンポーネントで“Ignore Landscape Tracking”を有効にしてください。 これによって、ランドスケープが修正された際にUnrealが依存関係ループを作成してしまうのを防ぐことができます。
現在のところ、Houdini Engine for Unrealプラグインは、既存のランドスケープレイヤの修正を完全にはサポートしていません。 既存レイヤへの修正は適用されますが、PCG Graphが再生成された際に元に戻されることはありません。 PCGでの推奨ワークフローは、HDA内でランドスケープ編集レイヤを作成することです。その理由は、作成されたレイヤがHDAのクリーンアップや再生成時に削除されるからです。
Session Sync ¶
Session Syncは、主に単純なPCG Graph内でPCG HDAを使用する場合に機能します。
PCGループを使用する際は、PCG内のループの反復毎に1個のHDA SOPがインスタンス化される点にご注意ください。 これは、Session Sync内のHDAへの編集がそのHDAが再度保存されるまでループの1回の反復にのみ影響することを意味します。
PCG Loops ¶
Session Syncで述べたように、ループの反復毎に1個のHDAがインスタンス化されます。 ロードできるHDAの数に制限はありませんが、何回も反復される可能性のある複雑なHDAについては注意が必要です。
ループを含んだPCG Graph内のすべてのHDAは、入力データを共有します。 例えば、3個のHDA PCGノードが同じランドスケープを入力として使用している場合、そのランドスケープはHoudiniに1回だけ送信されます。