通常 uGUI の 画像を Y で反転するとクリックしても反応しない
そのための方法として、以前描画する 頂点座標を拡張コンポーネントで変更する方法を記述した
がもっと簡単にできたので紹介する
それは GraphicRaycaster
の Ignore Reversed Graphics
を false にすることでした
これにより 反転していてもクリックできることが確認できます
コード
気になるので GraphicRaycaster
のコードを見てみました
すると ignoreReversedGraphics
が true の場合は向きを見て前面を向いているかのチェックをしていました
false にするとこのチェックが入らなくなるので背面を向いていても問題なくクリック判定されたということでした
これを見ると、タップ時には反転したオブジェクトも取得されているので false にしていても特に問題ないのではと思いました
if (ignoreReversedGraphics) { if (currentEventCamera == null) { // If we dont have a camera we know that we should always be facing forward var dir = go.transform.rotation * Vector3.forward; appendGraphic = Vector3.Dot(Vector3.forward, dir) > 0; } else { // If we have a camera compare the direction against the cameras forward. var cameraForward = currentEventCamera.transform.rotation * Vector3.forward * currentEventCamera.nearClipPlane; appendGraphic = Vector3.Dot(go.transform.position - currentEventCamera.transform.position - cameraForward, go.transform.forward) >= 0; } }