On this page |
Houdini Engine for Unrealでは、コリジョンをセットアップする方法が複数あります。
複雑なコリジョン、凸型コリジョン、単純なコリジョンを生成したり、独自のカスタムコリジョンを作成することができます。
これらのコリジョンを作成するには、そのジオメトリまたはパーツを Group SOPノードに割り当てる必要があります。コライダーは、 Group SOP ノードパラメータの Group Name に基づいて生成されます。
Note
オリジナルのスタティックメッシュを使用してコリジョンを生成する場合、Unreal Engineに表示するコリジョンとスタティックメッシュの両方に、 レンダリングされる ジオメトリ用の接頭辞アトリビュートを使用する 必要があります 。
Group Nameの詳しい説明とアトリビュートに関しては、コリジョンタイプを参照してください。
アセットからコリジョンを生成する ¶
これは、コリジョンアトリビュート、単一のグループ、既存のアセットを使用してコリジョンを生成する基本のメソッドです。
-
ノードネットワークで、アセットのジオメトリレベルに移動します。
-
Group SOPノードを作成します。
-
オブジェクトの 出力 を、Group SOPノードの 入力 に接続します。
-
Group SOP ノードを選択して、 パラメータエディタ を開きます。
-
Group Name で、
rendered_collision_geo_ucx
と入力します。 -
Base Group カテゴリで、 Enable をオンにします。
-
Ouput SOPノードを作成します。
-
Group SOP ノードの 出力 を、 Output SOP ノードの 入力 に接続します。
-
HDAを作成して、Unrealプロジェクトにインポートします。
複数ジオメトリからのコリジョン ¶
このメソッドは、単一アセットの複数のジオメトリからコリジョンを生成します。
これは、ドアフレームやフェンスなど、プレイヤーが一度も衝突をせずに通り抜ける領域で使用すると便利です。
複数のジオメトリの場合は、Group Nameで、コリジョンアトリビュートの後に連続する接尾辞を含めるようにしてください。
例えば、1番目のコリジョンはcollision_geo_simple_1
、2番目のコリジョンはcollision_geo_simple_2
といった具合です。
Warning
カスタムコリジョンにはrendered_collision_geo
アトリビュートを 使用しないでください 。
使用すると、カスタムコリジョンではなく、元のアセットに基づくコリジョンが作成されます。
-
ノードネットワークで、アセットのジオメトリレベルに移動します。
-
Group SOPノードを作成します。
-
1番目のコリジョンジオメトリの 出力 を、Group SOPノードの 入力 に接続します。
-
Group SOP ノードを選択して、 パラメータエディタ を開きます。
-
Group Name で、
collision_geo_simple_1
と入力します。 -
Base Group カテゴリで、 Enable をオンにします。
-
残りのコリジョンジオメトリで、手順2-6を繰り返します。
-
コリジョンアトリビュート接頭辞の後の末尾の数値を必ず変更してください。例えば、1番目のコリジョンは
collision_geo_simple_1
、2番目のコリジョンはcollision_geo_simple_2
といった具合です。
-
-
Merge SOPノードを作成します。
-
複数のコリジョンとオリジナルアセットの 出力 を、 Merge SOP ノードの 入力 に接続します。
-
Ouput SOPノードを作成します。
-
Group SOP ノードの 出力 を、 Output SOP ノードの 入力 に接続します。
-
HDAを作成して、Unrealプロジェクトにインポートします。
LODからのコリジョン ¶
HDAに複数のLODがある場合、コリジョンにいずれかのLODレベルを使用することができます。LODコリジョンは、複雑なコリジョンを使用します。
unreal_uproperty_LODForCollision
をDetailアトリビュートとして使用し、その値をコリジョンに必要なLODレベルに設定する必要があります。
-
ノードネットワークで、アセットのジオメトリレベルに移動します。
-
Group SOPノードを作成します。
-
LOD0ジオメトリの 出力 をGroup SOPノードの 入力 に接続します。
-
Group SOP ノードを選択して、 パラメータエディタ を開きます。
-
Group Name で、
lod_0
と入力します。 -
Base Group カテゴリで、 Enable をオンにします。
-
残りのLODで、手順2-6を繰り返します。
-
コリジョンアトリビュート接頭辞の後の末尾の数値を必ず変更してください。例えば、LOD0は
lod_0
、LOD1はlod_1
といった具合です。
-
-
Merge SOPノードを作成します。
-
すべてのLODの 出力 を、 Merge SOP ノードの 入力 に接続します。
-
Attribute Wrangle SOPノードを作成します。
-
Attribute Wrangle SOP ノードを選択して、 パラメータエディタ を開きます。
-
VEXpression で、
i@unreal_uproperty_LODForCollision = 1;
と入力します。 -
Ouput SOPノードを作成します。
-
Group SOP ノードの 出力 を、 Output SOP ノードの 入力 に接続します。
-
HDAを作成して、Unrealプロジェクトにインポートします。