BLOGブログ

2024.04.17UE5その他

[UE5]HDA(Houdini Digital Assets)で DataTableに登録したアセットを配置する方法

執筆バージョン: Unreal Engine 5.3

こんにちは、3Dアーティストの天見です。
今回は DataTableに登録したアセットをHDA(Houdini Digital Assets)で使用する方法を紹介します。

 

※Houdini Engineについては下記の記事にて紹介しています

[UE4]Houdini Engineの紹介

Structureの作成

まず、 DataTableを作成するために必要な項目を変数として定義します。

  1. Content Browserを右クリック
  2. 「Blueprints」>「Structure」を選択します。

 

StructureのVariableを作成

 DataTableに含まれる各項目に対応するVariableを追加します。

  • Structureをダブルクリックしてウインドウを開き、
  • 「Add Variable」ボタンからVariableを追加します。

 

Variableの種類変更

  • asset:Soft Object Path(アセットを登録する変数)
  • scale: Float(アセットのスケールの変数)

 

Datatableの作成

  1. Content Browserを右クリック
  2. 「Miscellaneous」>「Data Table」を選択します。

表示されたStructureの選択ウインドウで、先ほど作成したStructureのファイル名を選択します。

 

DataTableにアセットを登録

今回は4種類のパン アセットを登録します。

  • 「Add」でRowを4つ追加し、各Rowに対してアセットを選択し、スケールを指定します。
  • スケールは基本的に1.0で統一し、大きいパンのみ0.5に調整します。

 

HDAをつくり DataTable読み込む

Houdini上でHDAを作成し、ObjectMergeノードを作り、Object1をHDAのパラメーターに追加します。

 

 

HDAをUnreal Engine上で使用

HDAをUnreal Engine上に配置し、先程作成したパラメーターに DataTableを読み込ませます。

 

DataTableの確認

  • 「Houdini Engine」>「Open Houdini Session Sync」を実行し、Houdiniが起動したら「Rebuild」を押してHoudini上にHDAのノードを表示します。
  • Object Mergeの情報を確認し、 DataTableから読み込んだ情報が正しく表示されていることを確認します。

 

スプレッドシートで確認

Object Mergeのスプレッドシートを見ると、 DataTableから読み込んだ情報を確認できます。

 DataTableは、Rowの数に応じて4つのポイントとして作成されます。

各ポイントのアトリビュートには、asset(アセットパス)とscale(大きさ)の情報が含まれています。

 

アトリビュートの整理

ポイントの原点移動、不要なアトリビュートの削除、 DataTableのアトリビュートのリネームを行います。

1.ポイントが縦にならんでいるので全て原点移動

 

2.いらないアトリビュートを削除

3.DataTableのアトリビュートをリネーム

asset のアトリビュートはunreal_instanceという名前に変更します。

 

整理したアトリビュートはこうなりました。

整理したポイントをScatterを使ってばらまきます。

 

HDAをUnrealEngine上で表示

ポイントの中のunreal_instanceといアトリビュートのパスを参照して、ポイントがアセットに置き換わりました。

Scatterの範囲はPlaneアクターを参照しているので、Planeのサイズを変えると追従します。

この方法で、HDAで DataTableに登録したアセットを使用することができます。

DataTableでのアセット管理は、電柱や家などの配置ツールに幅広く応用可能ですので、是非活用してみてください。