글 작성자: Doublsb

보이지 않는 특정 영역을 Raycast하고 싶을 때가 있다.

 

이 경우 이전에는 새 게임오브젝트에 이미지를 만들고, 유니티 기본 그래픽으로 들어 있는 'UIMask'를 사용해 Raycast를 처리하였으나, 비효율적이라는 것을 깨달았다.

 

- 보이지 않는 이미지이나 사실은 조금은 불투명한 이미지가 깔린다. (UIMask)

- 어쨌든 이미지를 그리는 것이므로 배칭을 먹는다.

- 이런 오브젝트가 많아질 수록 UI 최적화에 문제가 생길 수 있다.

 

해결 방법은 아래의 게시글에서 찾았다.

https://answers.unity.com/questions/1091618/ui-panel-without-image-component-as-raycast-target.html

 

UI panel without Image component as Raycast target? It is possible? - Unity Answers

 

answers.unity.com

slippdouglas라는 유저분이 Graphic을 상속받지만, drawing 자체는 하지 않는 스크립트를 올려 두었다.

이를 사용하면 배칭을 소모하지 않으면서, 지정 영역에 대해 간편하게 Raycast Target을 설정할 수 있다.

반응형