Unityで特定のレイヤーに当たるRaycastを行う方法


まず、Raycastを行うためには以下の手順を実行します。

  1. Rayの発射元となる位置と方向を指定します。例えば、カメラの位置から画面上のクリック位置に向かってRayを飛ばす場合、以下のようなコードを使用します。
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
  1. Raycastの結果を格納するための変数を用意します。
RaycastHit hit;
  1. Raycastを実行し、結果を取得します。この際、第二引数にRaycastの最大距離を指定することもできます。
if (Physics.Raycast(ray, out hit, maxDistance))
{
    // 当たったオブジェクトに対する処理を記述します
}
  1. 特定のレイヤーに当たったかどうかを判定します。Raycastの結果はhit.colliderを通じて取得できますので、以下のようにレイヤーを比較します。
if (hit.collider.gameObject.layer == LayerMask.NameToLayer("対象のレイヤー名"))
{
    // 特定のレイヤーに当たった場合の処理を記述します
}

これで特定のレイヤーに当たるRaycastを行うことができます。必要に応じて、上記のコードを使って衝突したオブジェクトに対して追加の操作や処理を行うことができます。

以上が、Unityで特定のレイヤーに当たるRaycastを行う方法の基本的な手順です。必要に応じて、プロジェクトやシーンに合わせてカスタマイズしてください。