보이지 않는 특정 영역을 Raycast하고 싶을 때가 있다.
이 경우 이전에는 새 게임오브젝트에 이미지를 만들고, 유니티 기본 그래픽으로 들어 있는 'UIMask'를 사용해 Raycast를 처리하였으나, 비효율적이라는 것을 깨달았다.
- 보이지 않는 이미지이나 사실은 조금은 불투명한 이미지가 깔린다. (UIMask)
- 어쨌든 이미지를 그리는 것이므로 배칭을 먹는다.
- 이런 오브젝트가 많아질 수록 UI 최적화에 문제가 생길 수 있다.
해결 방법은 아래의 게시글에서 찾았다.
https://answers.unity.com/questions/1091618/ui-panel-without-image-component-as-raycast-target.html
slippdouglas라는 유저분이 Graphic을 상속받지만, drawing 자체는 하지 않는 스크립트를 올려 두었다.
이를 사용하면 배칭을 소모하지 않으면서, 지정 영역에 대해 간편하게 Raycast Target을 설정할 수 있다.