Posted at

【Unity】UIと重なったオブジェクトをタップする


UIと重なったオブジェクトをタップする

モバイルアプリで、オブジェクトのタップをRayCastで検知する実装の場合

オブジェクトと重なったUIの操作とオブジェクトのタップの両方を

処理してしまう場合があります。


EventSystem .IsPointerOverGameObjectを使う

そんな時は、EventSystem .IsPointerOverGameObjectを使用すると良いらしいです。

if (Input.GetMouseButtonDown(0)) {

// UIの上なら、タップとみなさない
if (EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId)){
return;
}
}


知っていれば、すぐに使える機能。

だけど、知っていなければ使えない。

知るためには、とにかくコードを書いて、いろんな状況に出くわして

そして調べていかなければならない。

知識を深めるために、今はとにかく

いろんなコードを書いてみようと思いました。