HOME

Maneki Pipeline

ゲーム開発のためのプロシージャル

PublicAPIを使ってUnrealEngineのEUWからHoudiniEngineを利用する②

Unreal EngineのBlue Printを使ったツール作成機能、EditorUtilityWidgetからPublicAPIを使ってHDAを実行する。

現在、株式会社クリーク・アンド・リバー社/ COYOTE TECHNICAL ART TEAMの方々と一緒に、「Houdiniをパイプラインとして利用する仕組みを検証・開発」する「Feshdini」というプロジェクトを進めています。
本稿はそれに基づいて調べた内容の一部となります。


概要

前回の記事
PublicAPIを使ってUnrealEngineのEUWからHoudiniEngineを利用する①

HoudiniEngineをUnrealで利用したい場合、ユーザーライクなUE用のHDAツールを作成する場合はこの機能で呼び出して利用する形になると思う。

PublicAPIをEUWから呼び出せば必要な機能のみをまとめたUIを作成できる

本稿はこの呼び出しを行うための方法となる。
前回はEUW上から呼び出したHDAが動作するところまで来ることができた。
今回はより詳細な設定を行うために入力作成について触れる。

入力の作成

HDAのワールド入力/ ジオメトリ入力は①でも触れたが、入力用のインスタンスを作成して設定する。

空入力インスタンスを作成し、紐づける工程を踏むことで入力を設定できる

入力の構成例

以下のような構成で「コンテンツブラウザで選択したオブジェクトを入力にもつHDAを作成する」という処理が行える

コンテンツブラウザで選択したオブジェクトをHDAの入力に設定してHDA Actorを作成する構成
作成したタイミングで対象オブジェクトが紐づけられている

ProcessHDAノード入力を利用したHDA入力の作成

ProcessHDAにはアセットの作成前に入力を設定しておく方法もあり、そちらを使えば以下のような構成で利用できる。

ProcessHDAのノード入力でも同様のことができる

パラメータの設定

HDAのパラメータはmapを使って入力用のデータにまとめたものを入力することで設定できる。

PublicAPIのパラメータ入力を作成するためのノード群

ボタンに紐づけたパラメータ設定の構成例

以下のように作成したHDA Asset Wrapperを「Set ○○ Parameter Value」でパラメータの値を反映できる

ProcessHDAの出力されたHDAインスタンスをパラメータ作成ノードに紐づけてボタンから呼び出し
BPの処理でHDAのパラメータが変更できる

ProcessHDAノード入力を利用したパラメータ設定

また、process hdaには作成時にパラメータを反映できる入力もあり、後からの調整が必要無ければ以下のような構成で作成時のパラメータ設定を利用することも出来る。

ProcessHDAの入力を使えば作成時のみだが値を設定した状態でHDA Actorを作成することもできる
作成されたHDA Actorのパラメータに値が設定された状態で作成される

次回は引き続き、デリゲータについてまとめます。

fish_ball

プロシージャル魚類