- 投稿日:2022-01-25T11:46:31+09:00
Houdini Engine for Unityでコライダーを出力する
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が有効化されています。