Houdini Engine for Unityでは、Houdini側でPrimitiveを特殊なグループに所属させることでコライダーを出力することができます。
詳細は公式ドキュメントを参照してください。
Houdini Engine for Unity: Meshes
プリミティブコライダー
プリミティブコライダーを出力するには、以下のグループ名を使用します。
collision_geo_simple_box
collision_geo_simple_sphere
collision_geo_simple_capsule
rendered_collision_geo_simple_box
rendered_collision_geo_simple_sphere
rendered_collision_geo_simple_capsule
グループ名の最後のbox
、sphere
、capsule
がそれぞれBox Collider、Sphere Collider、Capsule Colliderに対応しています。
グループ名の最初にrendered
がある場合はメッシュとコライダーの両方が出力されますが、rendered
がない場合はコライダーのみ出力されます。
例えば、Houdini側で以下のようなHDAを作り、group1
ノードでPrimitiveにグループを指定するとします。
グループ名がrendered_collision_geo_simple_sphere
の場合、Houdini Engine for Unityでは以下のようにメッシュにSphere Colliderがついた状態で出力されます。
グループ名がcollision_geo_simple_sphere
の場合、メッシュがなくSphere Colliderだけが出力されます。
Mesh Collider
Mesh Colliderを利用するには、以下のグループ名を使用します。
collision_geo
rendered_collision_geo
convex_collision_geo
rendered_convex_collision_geo
プリミティブコライダーと同じで、rendered
がある場合はメッシュにMesh Colliderがついた状態で出力され、rendered
がない場合はMesh Colliderのみ出力されます。
以下は先ほどと同じネットワークでグループ名をそれぞれrendered_collision_geo
とcollision_geo
にしたときのHoudini Engine for Unityの出力になります。
グループ名にconvex
がついている場合、Mesh ColliderのConvex
が有効化された状態になります。例えばグループ名をrendered_convex_collision_geo
とした場合、次のような出力になります。
Houdini側を以下のようにすると描画用のメッシュとコライダー用のメッシュを分けることができます。ここではHoudini側であらかじめ255ポリゴンにローポリ化したConvex用のメッシュを作成しています。
Trigger
以下のようにグループ名にtrigger
をつけるとコライダーコンポーネントのIs Trigger
を有効化した状態にすることができます。
collision_geo_simple_trigger_box
collision_geo_simple_trigger_sphere
collision_geo_simple_trigger_capsule
rendered_collision_geo_simple_trigger_box
rendererd_collision_geo_simple_trigger_sphere
rendererd_collision_geo_simple_trigger_capsule
convex_collision_geo_trigger
rendered_convex_collision_geo_trigger
例えば、最初のネットワークでグループにrendered_convex_collision_geo_trigger
を指定した場合、Houdini Engine for Unityの出力は次のようになり、Is Trigger
が有効化されています。