Version: 2022.3
言語: 日本語
Unity での機能的レイヤーの作成
レイヤーとレイヤーマスク

レイヤーベースの衝突検出

レイヤーベースの衝突検出を導入しています。これにより、ゲームオブジェクトを特定のレイヤーに連結された別のゲームオブジェクトに衝突させることができます。

同じレイヤーのオブジェクト同士の衝突
同じレイヤーのオブジェクト同士の衝突

上の画像には、Scene ビューに 6つのゲームオブジェクト (3 つの平面と 3 の立方体) と、その右側のウィンドウにどのオブジェクトがどのレイヤーと衝突するかを設定する Layer Collision Matrix が表示されています。

例では、同じレイヤーに属する ゲームオブジェクト のみが衝突できるよう、Collision Matrix が設定されています。

  • Layer 1 は、Layer 1 にだけチェックしています
  • Layer 2 は、Layer 2 にだけチェックしています
  • Layer 3 は、Layer 3 にだけチェックしています

必要に応じて設定を変更します。例えば、Layer 1 を Layer 2 と 3 に衝突させ、Layer 1 と衝突させたくない場合は、Layer 1 の列の Layer 2Layer 3 の行をチェックし、Layer 1 のチェックボックスにはチェックしません。

レイヤーベースの衝突検出の設定

  1. ゲームオブジェクトが属しているレイヤーを選択するには、ゲームオブジェクトを選択し、Inspector ウィンドウに移動し、上方の Layer ドロップダウンでレイヤーを選択するか新しいレイヤーを追加します。各ゲームオブジェクトにこの手順を繰り返し、すべてのオブジェクトをレイヤーに割り当てます。
  2. Unityメニューバーで Edit > Project Settings の順に選択し、Physics カテゴリを選択して Physics ウィンドウを開きます。
  3. レイヤーにチェックを入れ、Collision Matrix で、どのレイヤーが他のレイヤーと相互作用するかを選択します。
Unity での機能的レイヤーの作成
レイヤーとレイヤーマスク