그래픽(스프라이트) 없이도 UI Raycast하기
글 작성자: 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을 설정할 수 있다.
반응형
'프로그래밍 > Unity' 카테고리의 다른 글
Unity TextMesh Pro Sprite : 이모티콘 및 아이콘을 런타임에 동적으로 생성 또는 변경하기 (2) | 2021.08.01 |
---|---|
Unity UGUI InputField의 한글 입력 문제 해결하기 (1) | 2020.12.15 |
Unity : Child를 Destroy 후 ChildCount를 참조할 때 문제상황 (1) | 2019.11.28 |
ML-Agents 공부 (3) 190818 (0) | 2019.08.18 |
ML-Agents 공부 (2) 190818 (0) | 2019.08.18 |
댓글
이 글 공유하기
다른 글
-
Unity TextMesh Pro Sprite : 이모티콘 및 아이콘을 런타임에 동적으로 생성 또는 변경하기
Unity TextMesh Pro Sprite : 이모티콘 및 아이콘을 런타임에 동적으로 생성 또는 변경하기
2021.08.01 -
Unity UGUI InputField의 한글 입력 문제 해결하기
Unity UGUI InputField의 한글 입력 문제 해결하기
2020.12.15 -
Unity : Child를 Destroy 후 ChildCount를 참조할 때 문제상황
Unity : Child를 Destroy 후 ChildCount를 참조할 때 문제상황
2019.11.28 -
ML-Agents 공부 (3) 190818
ML-Agents 공부 (3) 190818
2019.08.18