유니티 빌드시 터치 좌표? 컬라이더 문제.

조회수 2931회
    Ray ray;
    RaycastHit2D hit;

      void Update()
    {
        if (latestPanel != null)
        {
            if (Input.GetMouseButtonDown(0))
            {
                ray = Camera.main.ScreenPointToRay(Input.mousePosition);

                hit = Physics2D.Raycast(ray.origin, ray.direction);

                if (hit.collider == null || hit.collider.name != latestPanel.name)
                {
                    i++;
                    latestPanel.GetComponent<panelScript>().Close(i);
                    if (i == 2)
                    {
                        i = 1;
                    }
                }
                else
                {
                }
            }
        }

옵션창 같은 패널들을 띄웠을 때 창을 제외한 다른 부분을 클릭할 시 창을 끌 수 있도록 하려합니다.

유니티에선 이상없이 진행이되나 빌드 후 모바일에선 마치 컬라이더가 다른 부분에 있듯이 창을 눌러도 꺼지거나, 창이 아닌 부분을 눌러도 꺼지지않는 경우가 발생합니다.

아래 부분에서 펭귄모양과 그 창이 옵션창이고, 창 크기만큼의 컬라이더가 적용되어 있습니다.

해서 터치 시에 컬라이더가 있다면 창이 꺼지지 않고 컬라이더가 없다면(배경이라면) 창이 꺼지지 않습니다.

이미지

하지만 모바일에서 빌드 후에는 아래 빨간 부분을 클릭 시 무조건 꺼지는 상황이 발생합니다.

마치 오브젝트는 그대로이나 컬라이더 오프셋이 북동쪽으로 밀린듯이 말이죠.

모든 씬에서 같은 문제가 발생하는데 에디터에선 이상없이 잘 됩니다.

어떤 문제가 있는걸까요. 이미지

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)