猫とゲームエンジン

今日も猫に面倒みられながら生きてる

HoudiniEngineのTerrainワークフローを考えてみる⑦

インスタンシングをもう少し追ってみる

環境

Houdini Indie 20.0.688
Unreal Plugin 20.0.688
Unreal Engine 5.3.2

static mesh componentで生成

StaticMeshをunreal_instanceで作成するとHierarchical Instanced Static Meshで作成される

hierarchycalInstancedStaticMeshで作成される

個別にStaticMeshとして生成する方法もあり、unreal_split_attrというアトリビュートを設定することで分離することができる
ひとまとめにするグループをなんのアトリビュートで分類するかを指定するアトリビュートで、例えば位置で指定するとすべてが別々のStaticMeshとして生成してくれる

unreal_split_attrにPを指定して保存

static meshとして生成

コリジョンプリセットを変更

そのまま出すとコリジョンプリセットがBlockAllDynamicで出力される
そのため 生成したインスタンスにfoliageを生やそうとしても貫通してしまう(岩の上などに生えない)

出力されるStaticMeshの設定値を変更するには汎用的な設定値変更が可能なアトリビュートunreal_uproperty_○○ アトリビュートを設定する
○○には変更対象のパラメータ名が入り、今回の場合は s@unreal_uproperty_CollisionProfileName となる

unreal_upropertyで設定値を変更

コリジョンプリセットがBlockAllで出力できる

「uproperty」なので注意
あとfoliageもHoudiniEngineから作る場合、 i@unreal_foliage_attachment_type=1; を設定していないとstaticmeshに生えないので注意

foliageの設定