Version: Unity 6.0 (6000.0)
言語 : 日本語
複合コライダー
複合コライダーの作成

複合コライダーの概要

複合コライダー は、同じ Rigidbody ゲームオブジェクト上にあるコライダーのコレクションです。

複合コライダーは、まとまって 1 つの Rigidbody コライダーのように動作します。凹形状のために正確なコライダーが必要な場合や、メッシュコライダー ではシミュレーションの計算負荷が大きすぎるモデルには、複合コライダーが役立ちます。

複合コライダーの構造

複合コライダーは以下の要素で構成されます。

  • Rigidbody を持つ親ゲームオブジェクト
  • コライダーを含む空の子ゲームオブジェクト

複合コライダーは、ルートゲームオブジェクト上に 1 つの Rigidbody だけを持つ必要があります。

複合コライダーの作成方法の詳細については、複合コライダーを作成する を参照してください。

銃モデルでの複合コライダーの設定。5 つのコライダーがモデル形状の近似を構成しています。
銃モデルでの複合コライダーの設定。5 つのコライダーがモデル形状の近似を構成しています。

上の図では、銃モデル のゲームオブジェクトの親ゲームオブジェクトに Rigidbody がアタッチされています。複数の子ゲームオブジェクトはそれぞれにプリミティブなコライダーを持っています。親の Rigidbody が物理演算の力で動かされると、子コライダーは追従して動きます。プリミティブなコライダーは環境内の他のコライダーと衝突することがあります。親の Rigidbody はこれらの衝突に応じて動きを変更します。

この設定の方が、1 つの Rigidbody と複数のコライダーを含む 1 つのゲームオブジェクトよりも柔軟性が高まります。コライダーが属するゲームオブジェクトがコライダーごとに異なる場合は、各コライダーの Transform を個別に変更できます。ただし、コライダーを再配置するときの Rigidbody の動作を監視する必要があります。コライダーの位置とスケールを変更すると、Rigidbody の質量中心が変わることがあります。その結果、ランタイムに複数のフレームで継続的な変更があると、予期しない動作が発生することがあります。このような場合は、rigidbody.centerOfMass を使用して質量中心を手動で設定できます。

複合コライダーの仕組み

同じ Rigidbody に複数のコライダーをアタッチすると、物理演算システムではコレクション全体が 1 つの Rigidbody として扱われます。コライダータイプ (dynamic または kinematic) は、Rigidbody の設定によって定義されます。

複合コライダーが別のコライダーに触れると、Unity は複合コライダーに属するコライダー別に衝突を登録します。このため、ランタイムに必要な衝突ペアだけが得られるようにコライダーを配置するか、特定のコライダーによって生じる動作をコライダーラベルを使用して決定する必要があります。

複合コライダーの利点と制限

ほとんどの場合、複合コライダーは メッシュコライダー と同様のソリューションを提供します。複合コライダーの主な目的は、複雑な形状のアイテムの正確な衝突を発生させることです。複合コライダーの利点と制限を考える際には、複合コライダーをメッシュコライダーと比較することがよくあります。

複合コライダーの主な利点は以下のとおりです。

  • 複雑な凹形状の衝突を発生させることができます。メッシュコライダーの方が正確ですが、メッシュコライダーは凹面形状の正確な衝突には対応しません。
  • 場合によっては、複合コライダーの方がメッシュコライダーよりも計算負荷が小さいことがあります。これは、数個のコライダーのみで近似できる単純な形状や、あまり正確である必要のない形状の場合によくあります。例えば、メッシュコライダーは複雑な形状に正確に一致するために数百ものポリゴンを生成し、プリミティブなコライダーはそれよりもかなり少ない数のポリゴンで近似する場合があります。

ただし、複合コライダーにもいくつかの重要な制限があります。

  • 複合コライダーの方が、精度が低くなります。ほとんどの場合に、複合コライダーは単純な形状から作成されるため、アイテムの形状に近似することはできますが、完全には一致しません。
  • 複合コライダーの方が、作成にかかる時間が長くなります。複合コライダーでは、各コライダーを手動で配置する必要があるため、時間がかかります。
  • 場合によっては、複合コライダーの方がメッシュコライダーよりも計算負荷が大きいことがあります。これは、近似に多くのコライダーを必要とする非常に複雑な形状の場合によくあります。1 つのメッシュコライダーの方が、複数のプリミティブなコライダーよりも効率が高いがことあります。

コライダーをどのように設定するのかは、プロジェクトによって異なりますので、各設定をテストし、物理演算プロファイラーを使用して、コライダー設定の効率を把握する必要があります。

複合コライダー
複合コライダーの作成
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961