ゴマちゃんフロンティア

アザラシが大好きなエンジニアの開発日記です

【Unity】uGUIの要素が重なった場合に後ろのボタンを押す方法

time 2020/04/14

UnityのuGUIに関するちょっとしたお話です。
先に結論を書くと「UIを重ねた場合はRaycastTargetを疑え!」です。

開発中のゲームで、キャラクターの情報を表示するウィンドウを作成したときのこと。

キャラアイコンと体力ゲージと特殊ゲージと…よくある形式ですね。
で、「青色のゲージが溜まったらタップでスペシャルアタック!」なことがやりたかったわけです。

青枠の部分をボタンで作り、イベントを設定しています。
インスペクター上で見るとこんな感じ。

しかしこれだと順番的にボタンは後ろ側に配置されるので、下4つのUIが前にない部分しか押せません。
そんな場合は各UIの「RaycastTarget」のチェックを外し、クリック時の対象から外してあげましょう。

でもTextMeshProのTextにRaycastTargetがないよ?

TextMeshProのRaycastTargetは「ExtraSettings」の中にあります。ちょっと分かりにくいですね。

RaycastTargetを知っていればなんてことはない話ですが、程よく詰まってしまったので備忘として書いておきます。

down

コメントする