私はタイルベースのゲームを持っています。タイルの子オブジェクトとしてタワーを配置します。レイキャスティングを使ってタイルではなくタワーでマウスクリックを検出できるようにしたい。タイルとタワーの両方に2dのボックスコライダーがあります。私はタイルのクリックを検出できますが、レイキャストはタワーのものを検出しません。どうすればこの問題を解決できますか?ありがとう。ユニティ:レイキャストがチャイルドオブジェクトのコライダーに当たらない
if (Input.GetMouseButtonDown(0))
{
Ray ray = camera.ScreenPointToRay(Input.mousePosition);
ray.origin = camera.transform.position;
RaycastHit2D hit = Physics2D.Raycast(camera.transform.position, -Vector2.up, 50, 8);
if (hit.collider != null && !EventSystem.current.IsPointerOverGameObject())
{
Debug.Log(hit.collider.transform.tag);
//Transform objectHit = hit.transform;
}
}
}
私はタイルをマスク(ここでは層8)私は何を取得:
はここにレイキャスティングのために私のコードです。塔(タイルのようなもの)にも2dボックスのコライダーが付いていますが、光線が塔に当たらないようです。
あなたは上のクリックを検出したい子オブジェクトのですか? – Programmer
レイヤー9上にある@Programmer –