[Unity Tips]画面上の座標からレイ(線分)を使用したオブジェクトとの衝突判定
Unity Tipsです。
コードはC#となります。
画面上の座標からレイ(線分)を使用した
オブジェクトとの衝突判定を行います。
画面上に表示されたオブジェクトをマウスで
選択したりする時に使います。
// レイの接触オブジェクト精製 ※線分の衝突情報(結果が入る)
RaycastHit hit = new RaycastHit();
// レイオブジェクト ※画面上から飛ばす線分 Vector3(X座標,Y座標,0固定)
// Input.mousePosition ← マウス位置ならこれ
Ray ray = Camera.main.ScreenPointToRay(new Vector3(100f, 200f, 0f));
// 衝突判定(レイ発生位置,レイの方向,接触オブジェクト,レイの長さ)
Physics.Raycast(ray.origin, ray.direction, out hit, length);
// レイがヒットしたゲームオブジェクトを取得
GameObject obj = hit.collider.gameObject;
何か間違い等がありましたらコメント等で
ご指摘頂けるとありがたいです。