On this page

Houdini Engine for Unrealは、Unrealとのメッシュの入力および出力をサポートしています。

入力

UnrealからHoudiniにメッシュをインポートする方法が複数あります。以下の方法でジオメトリを使用することができます:

  • Geometry Inputを介して、コンテンツブラウザのアセットから

  • World Outliner Inputを使用して、そのレベルのアクターから

  • Landscape Inputを通して、ランドスケープから

  • Asset Inputを使用してHoudiniでHoudiniアセットを接続することで、別のHoudiniアセットから

ソケット、コライダー、LODスタティックメッシュを、グループやアトリビュートとしてHoudiniにインポートすることができます。 入力UIで Export チェックボックスをオンにします。

出力

メッシュ生成

Houdiniアセットには、オブジェクト、ジオメトリ、パーツが含まれています。 これらは、Unrealのジオメトリを複数のメッシュに分割する方法を制御します。

  • オブジェクト(OBJ) ノードは、Houdiniのトランスフォームノードです。他のOBJノードやジオメトリ(SOP)ノードを含むことができます。

  • ジオメトリ(SOP) ノードは、Houdiniのジオメトリコンテナノードです。ジオメトリを含むのではなく、パーツを含んでいます。

  • パーツ は、実際のメッシュ/ジオメトリ/アトリビュートデータを含んでいます。

パックプリミティブを使用することで、複数のメッシュを出力で分けることができます。 例えば、結合したジオメトリから複数のパーツを作成することができます。 詳細は、パックプリミティブを参照してください。

パックプリミティブは、独自のパーツとスタティックメッシュを作成します。 パックプリミティブを一度もコピーしていなければ、インスタンサーの代わりにスタティックメッシュが作成されます。 さらにメッシュが分割される可能性があるのは、コリジョングループまたはLODグループくらいです。

パックプリミティブを作成するには:

  1. ジオメトリの 出力 を、 Pack SOP入力 に接続します。

  2. この手順を繰り返し、各ジオメトリを個別の Pack SOP に接続します。

  3. Pack SOP出力 を、 Merge SOP入力 に接続します。

    • HDAをインポートすると、ジオメトリが単一のスタティックメッシュとして読み込まれます。これをベイクすると、個別のUnrealアクターになります。

スタティックメッシュが生成されると、そのLODが再グループ化されます。 衝突不可ジオメトリや非LODジオメトリには、別のスタティックメッシュが作成されます。 複雑なコリジョンジオメトリグループには、それぞれ追加のメッシュが作成されます。 アセット内のその他のグループは、パーツを別々のメッシュに分割しません。

アセットによって生成されたすべてのメッシュは、マテリアルと共に Houdini Outputs セクションにリストされます。

このセクションでは、呼応するスタティックメッシュに対してプラグインが生成するコライダー、LOD、ソケットのタイプや番号について詳しく説明しています。

マテリアルとアトリビュート

Houdini Engine for Unrealは、様々なアトリビュートを認識して、Unrealの同等のアトリビュートに変換します。

アトリビュート名

オーナー

タイプ

説明

N

point, vertex

float3

メッシュの法線を設定します。プラグインは法線を自動的に再計算します。 これを制御するには、プラグイン設定のStatic Mesh Build SettingsパートにあるRecompute Normals設定の値を変更します。

法線がある場合、Recompute Tangentsプラグイン設定を変更することで、接線も自動的に再計算することができます。

uv

point, vertex

float2

メッシュのUVセットを設定します。uv, uv2..uv8と名前を付けていきながら、最大8つのUVセットを使用できます。

Cd

任意

float3, float4

メッシュの頂点カラーを設定します。

unreal_lightmap_resolution

任意

int

メッシュのライトマップ解像度を設定します。

unreal_material

point, vertex

string

メッシュのフェースにUnrealマテリアルを設定します。このアトリビュートの値は、マテリアルを参照するように設定する必要があります。

メッシュによって使用される様々なマテリアルはすべて、DetailsパネルのHoudini Outputsセクションに表示されます。 詳細は、マテリアルを参照してください。

unreal_face_smoothing_mask

prim

int

メッシュスムージングマスクデータを設定します。

unreal_generated_mesh_name

任意

string

生成されたメッシュに使用する名前を設定します。

特別なグループを使用して、ソケットとコライダーをメッシュに追加することもできます。

Nanite設定

(UE5のみ)プラグインは、以下のアトリビュートを使用して、HDAの出力にあるメッシュのNanite設定を制御することができます:

アトリビュート名

オーナー

タイプ

説明

unreal_nanite_enabled

任意

int

生成されたメッシュでNaniteを有効にします。

unreal_nanite_position_precision

任意

int

Naniteメッシュに使用されるPosition Precisionアトリビュート

unreal_nanite_percent_triangles

任意

int

Naniteメッシュに維持する三角形の割合、デフォルトはゼロ(三角形なし)

これら3つのアトリビュートのいずれかがある場合、生成されたスタティックメッシュでNaniteが自動的に有効になります。 HoudiniのプロキシメッシュはNaniteをサポートしていないため、Refineされたメッシュのみに適用されます。

メッシュを分割する

最新バージョンのプラグインは、単一のHDA出力ノードで複数メッシュに対応しています。 古いバージョンのプラグインはこれに対応していないので、プラグインをアップグレードすると動作が異なる可能性があります。 UnrealでHDA Componentの“Split Mesh Support”のチェックを外すことで、この機能を無効にすることができます。 しかし、この機能を無効にするオプションは近い将来に削除される予定です。

コリジョングループ名またはLODグループ名に固有の識別子を追加することで、異なるメッシュを作成することができます。 例えば、rendered_collision_geo_Arendererd_collision_geo_Bは、2つのメッシュを作成します。 lod_1_Aグループは、LODを最初のメッシュに割り当てます。

この機能は、“Static Mesh Method”が“FMesh Description”に設定されていて、且つ、アンパックプリミティブを使用している場合にのみ利用可能です。

メッシュ