この記事でのバージョン
Unity 2020.1.0f1
はじめに
UIを作っていて、ボタンの当たり判定を見た目より大きくしたいなんて事はよくあります。
しかし、uGUIのボタン(というよりRaycast Target)は当たり判定==画像となっているため、
当たり判定だけを大きくするには一工夫必要でした。
しかしUnity2020.1からはRaycastPaddingというRaycastの判定だけを広げる設定が追加され、
簡単に当たり判定だけを変えられるようになったので、今回はそれを使ってみようという感じの記事。
イメージとしては以下のような感じ。
なお、記事中では以下のアセットを使っています。
Clean & Minimalist GUI Pack | 2D GUI | Unity Asset Store |
RaycastPadding
早速ですが、RaycastPaddingはRaycast Targetが付いているImageやText等で設定が出来ます。
なお、マイナスにするほど範囲が広がる感じです。
実際にButtonのImageのRaycastPaddingを広げたのが以下の物で、
画像外の場所でもタッチ出来ているのが分かるかと思います。
ただし、RaycastPaddingを変更してもScene上では変化しない(確認できない)点には注意が必要です。
ちなみにプログラムから変更する場合はVector4で設定します。
image.raycastPadding = new Vector4(-100, -100, -100, -100);
参考