前提
ARを使いタップした場所へキューブを出現させるスマホ向けのアプリを作成しています。
(実機確認はAndroidにて行っております)
実現したいこと
画面上部に2つUIのボタン(キューブの全削除とスクショボタン)がおいてあります。
2つとも削除したり、スクショしたりと機能的には問題なく動いております。
発生している問題・エラーメッセージ
現状、画面のどこかをタップでキューブが出現する仕様になっているのですが、
UIのボタンを押したときも、キューブが生成されてしまいます。
該当のソースコード
出現させるコードの一部です。
C#
1if (raycastManager.Raycast(touch.position, hits, TrackableType.PlaneWithinPolygon)) 2 { 3 var hit = hits[0]; 4 var spawnPos = hit.pose.position; 5 var rot = Quaternion.LookRotation(hit.pose.forward, hit.pose.up); 6 var cubeObj= Instantiate(cube, spawnPos, rot); 7 cubeList.Add(cubeObj); 8 }
試したこと
調べてみたところ、イベントシステムを使ってUIを貫通させないようにするコードがでてきたので、
それも書いてあります。
C#
1if (EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId)) 2 { 3 return; 4 }
聞きたいこと
上記のEventSystem.currentを使ったコードは、
現在Uintyシーン上の出現させるためのスクリプトと、
各ボタンのスクリプトに書いてあるのですが、
これで正しいのでしょうか?
(シーン内のUIオブジェすべてではなく、1つのオブジェクトに書くだけでもいいのでしょうか?)
他に、UIをARRaycastが貫通しない方法はありますか?
また、原因としてはどんなことが考えられるでしょうか?

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。