0 支持
29 閲覧

下の図は上から順に、Canvasではないオブジェクトを判定するプログラム

Canvasの重なっているオブジェクトの数を判定するプログラム

今判定しようとしているCanvas上のオブジェクト、になっています。

上だとRayがヒットせず、下だと数を判定するだけなので中のコンポーネントを

取得できずに困っています。何かいい方法ないでしょうか?

例えば

Image buf = hit.collider.gameObject.GetComponent<Image>();

を実行するためにCanvas上にあるオブジェクトにReycastを当てる方法などです。

閉鎖
初心者 (250 ポイント)
編集 | 29 閲覧

回答 1

+1 支持
ベストアンサー

そもそも論寄りですが、最終的に何がしたいか、というところからでしょうか。

……というのも、Canvas上のオブジェクトにRayを当てて判定する、
という手法を使わなければならないケースが少々考えにくいためです。

Canvas上のImageコンポーネントにマウスクリックの判定をしたい場合なら、
EventTriggerコンポーネントを用いることで実現可能です。

達人回答者 (6.2k ポイント)
選択
+1
なるほどこんな便利なものがあったとは、、
ほかの方法が思いつかなかったのでRayでやれないかなと試行錯誤してました。
ありがとうございました。

関連する質問

0 支持
2 回答
Machio 初心者 (190 ポイント) 2020 8/12 質問 | 216 閲覧
0 支持
0 回答
Enigmantohihi 初心者 (120 ポイント) 2 週間 質問 | 55 閲覧
0 支持
1 回答
0 支持
1 回答
0 支持
1 回答
suraimu1230 初心者 (250 ポイント) 1/20 質問 | 38 閲覧
2021-02-08 質問・回答をMarkdownで入力できるようにしました。
2020-09-03 新たなスパム対策を導入しました。

103 質問

107 回答

117 コメント

130 ユーザー