HoudiniEngineで入力数が異なる場合のRefine待機
HDA Actor複数出力時のProxyMeshリファインの挙動について ニッチな話ですが。

出力数によるProxyMeshのRefine挙動の違いについて
Packによる複数出力を行うとRefine済みのメッシュが作成される
HoudiniEngineでメッシュを作成した場合、単一の出力の場合はProxyMeshで作成され、Refineすることで最終出力同様の見た目が確認できる。
ただし、複数の出力の際はProxyMeshでは作成されずにRefineがすでにされた状態で出力される。
テスト用に以下のように単一の出力とPackした複数メッシュ出力を行るようなHDAを作成し、

単一の出力ではProxyMesh(Refineが表示されている状態)に対し、

Packして複数のスタティックメッシュを出力するとProxyMeshではない状態で出力される。

未RefineとRefine済みメッシュが出力される場合がある問題点
この挙動で問題になるのが「デリゲータで待機している場合」。
仮にRefineを待機している状態でリファインができないメッシュでリファインを待機してしまった場合、その後の処理に復帰することができなくなってしまう。



対策
PublicAPIにはリファインできるメッシュが存在しているかどうかの判定ができるノードがある。

これを使ってリファイン対象がある場合のみデリゲータの待機に入力するとどちらの場合でも対応できるようになる。

ユーザーが作成データを確認したい場合処理内でRefineを実行することがままあるのですが、その時にデリゲータで待機すると上記のように次の処理につながらないという問題が発生する場合があります。

fish_ball
プロシージャル魚類