現在、スプライトを使った2Dオブジェクトにタッチ判定を持たせたいのですが、オブジェクトにアタッチしているスクリプトのOnPointerDwonイベントが呼ばれなくなってしまいました。
調べてみたところ、どうやら原因は重なっている別オブジェクトにタッチ判定がすわれてしまっているようでした。
が、どうしたらそのオブジェクトより先に判定をとれるようにすればよいのかがわかりません。
単純にカメラからの距離ではないようです。
今回の私の場合ですと、判定をとりたいオブジェクトはSprite Rendererを用いた2Dオブジェクトなのですが、重なっていて判定を吸ってしまうオブジェクトがCircle Collider2Dを持った3Dオブジェクトなのですが、その場合の優先度等はどうなるのでしょうか?
また、判定をとりたいオブジェクトも階層構造になっており
親
┠子1 : CircleCollider2D
┠子2 : Sprite Renderer(Order in Layer 0)
┗子3 : Sprite Renderer(Order in Layer 1)
のようになっているのですが、判定順は上にある1と考えてよいのでしょうか?
そしてこれらのオブジェクトたちが別々にコライダーを持っていた場合もすべて同じOrderになるのでしょうか?
どなたかご存じの方がいらっしゃいましたらEventSystemの仕組みについてご享受ください。
あなたの回答
tips
プレビュー