やりたいこと
Unity開発において、Canvasシステム上のUI要素が、その下に存在するゲームオブジェクトへの入力イベント(クリック)をうばってしまい、ゲームオブジェクトがクリックできなくなることがあります(特にUIが半透明な場合ユーザにストレスを与えます)。本記事では、この問題に対する標準的な解決を提示します。
解決策
UIの設定変更することでイベントを無視して下のオブジェクトにイベントを通すことができるようになります。この設定はUI/コードどちらから出も変更可能です。
UIでの対応
対応するUIのImageコンポーネントのRaycast TargetのチェックをはずことでUIはマウスイベントを無視するようになります。

コードでの対応
Image.raycastTargetをfalseにすることでUIはマウスイベントを無視するようになります。
以下、対象のUIにアタッチしたコードでraycastTarget をfalseにする例です。
GetComponent<Image>().raycastTarget = false;

コメント