[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;

何か間違い等がありましたらコメント等で
ご指摘頂けるとありがたいです。

 

広告





コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です