Houdini 20.0 Unreal メッシュ

アセットにコリジョンをセットアップする

On this page

Houdini Engine for Unrealでは、コリジョンをセットアップする方法が複数あります。

複雑なコリジョン、凸型コリジョン、単純なコリジョンを生成したり、独自のカスタムコリジョンを作成することができます。

これらのコリジョンを作成するには、そのジオメトリまたはパーツを Group SOPノードに割り当てる必要があります。コライダーは、 Group SOP ノードパラメータの Group Name に基づいて生成されます。

Note

オリジナルのスタティックメッシュを使用してコリジョンを生成する場合、Unreal Engineに表示するコリジョンとスタティックメッシュの両方に、 レンダリングされる ジオメトリ用の接頭辞アトリビュートを使用する 必要があります

Group Nameの詳しい説明とアトリビュートに関しては、コリジョンタイプを参照してください。

アセットからコリジョンを生成する

これは、コリジョンアトリビュート、単一のグループ、既存のアセットを使用してコリジョンを生成する基本のメソッドです。

例: 既存のアセットを使用してコリジョンを作成するノードネットワークのサンプル
  1. ノードネットワークで、アセットのジオメトリレベルに移動します。

  2. Group SOPノードを作成します。

  3. オブジェクトの 出力 を、Group SOPノードの 入力 に接続します。

  4. Group SOP ノードを選択して、 パラメータエディタ を開きます。

  5. Group Name で、rendered_collision_geo_ucxと入力します。

  6. Base Group カテゴリで、 Enable をオンにします。

  7. Ouput SOPノードを作成します。

  8. Group SOP ノードの 出力 を、 Output SOP ノードの 入力 に接続します。

  9. HDAを作成して、Unrealプロジェクトにインポートします。

例: rendered_collision_geo_ucxアトリビュートを使用したUnreal Engineのコリジョン

複数ジオメトリからのコリジョン

例: 単一のコライダーと複数のコライダーを使用した、アーチ形のドアフレーム

このメソッドは、単一アセットの複数のジオメトリからコリジョンを生成します。

これは、ドアフレームやフェンスなど、プレイヤーが一度も衝突をせずに通り抜ける領域で使用すると便利です。

複数のジオメトリの場合は、Group Nameで、コリジョンアトリビュートの後に連続する接尾辞を含めるようにしてください。 例えば、1番目のコリジョンはcollision_geo_simple_1、2番目のコリジョンはcollision_geo_simple_2といった具合です。

Warning

カスタムコリジョンにはrendered_collision_geoアトリビュートを 使用しないでください 。 使用すると、カスタムコリジョンではなく、元のアセットに基づくコリジョンが作成されます。

例: アセットに複数のコライダーを作成するノードネットワーク
  1. ノードネットワークで、アセットのジオメトリレベルに移動します。

  2. Group SOPノードを作成します。

  3. 1番目のコリジョンジオメトリの 出力 を、Group SOPノードの 入力 に接続します。

  4. Group SOP ノードを選択して、 パラメータエディタ を開きます。

  5. Group Name で、collision_geo_simple_1と入力します。

  6. Base Group カテゴリで、 Enable をオンにします。

  7. 残りのコリジョンジオメトリで、手順2-6を繰り返します。

    • コリジョンアトリビュート接頭辞の後の末尾の数値を必ず変更してください。例えば、1番目のコリジョンはcollision_geo_simple_1、2番目のコリジョンはcollision_geo_simple_2といった具合です。

  8. Merge SOPノードを作成します。

  9. 複数のコリジョンとオリジナルアセットの 出力 を、 Merge SOP ノードの 入力 に接続します。

  10. Ouput SOPノードを作成します。

  11. Group SOP ノードの 出力 を、 Output SOP ノードの 入力 に接続します。

  12. HDAを作成して、Unrealプロジェクトにインポートします。

例: 複数のジオメトリを使用して単一オブジェクトのコリジョンを生成する

LODからのコリジョン

HDAに複数のLODがある場合、コリジョンにいずれかのLODレベルを使用することができます。LODコリジョンは、複雑なコリジョンを使用します。

unreal_uproperty_LODForCollisionをDetailアトリビュートとして使用し、その値をコリジョンに必要なLODレベルに設定する必要があります。

例: LODからコリジョンを作成するノードネットワーク
  1. ノードネットワークで、アセットのジオメトリレベルに移動します。

  2. Group SOPノードを作成します。

  3. LOD0ジオメトリの 出力Group SOPノードの 入力 に接続します。

  4. Group SOP ノードを選択して、 パラメータエディタ を開きます。

  5. Group Name で、lod_0と入力します。

  6. Base Group カテゴリで、 Enable をオンにします。

  7. 残りのLODで、手順2-6を繰り返します。

    • コリジョンアトリビュート接頭辞の後の末尾の数値を必ず変更してください。例えば、LOD0はlod_0、LOD1はlod_1といった具合です。

  8. Merge SOPノードを作成します。

  9. すべてのLODの 出力 を、 Merge SOP ノードの 入力 に接続します。

  10. Attribute Wrangle SOPノードを作成します。

  11. Attribute Wrangle SOP ノードを選択して、 パラメータエディタ を開きます。

  12. VEXpression で、i@unreal_uproperty_LODForCollision = 1;と入力します。

  13. Ouput SOPノードを作成します。

  14. Group SOP ノードの 出力 を、 Output SOP ノードの 入力 に接続します。

  15. HDAを作成して、Unrealプロジェクトにインポートします。

メッシュ