uGUIボタン操作時Rayを飛ばさないようにする


はじめに

uGUIボタンを操作すると同時にRayも飛んでしまい、望んだ挙動ができなかったので調べました。
ARKitを使った実装ではよく使いそうなので備忘録として残します。

現象

サイズ変更するボタン・配置ボタンを押すと同時にRayが飛び、衝突した場所に椅子が移動してしまう。

解決方法

Rayを飛ばす行の前に以下のif文を追加するだけ。

if (EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId)) {
    return;
}

今回はiPhone画面タップの為、引数にInput.GetTouch(0).fingerIdを取ります。
PCでクリックの場合は引数は必要ありません。

これで解決です!