핵심 정리
text
클릭 불필요 이미지:
- Raycast Target 해제구조 이해
- Graphic Raycaster는 UGUI에서 포인터 입력이 어떤 그래픽 위에 놓였는지 검사하는 관문입니다. 즉, 비용 문제와 클릭 오작동 문제가 한 지점에서 만납니다.
- 장식용 이미지, 배경 패널, 읽기 전용 텍스트까지 모두
Raycast Target이 켜져 있으면 후보 수가 늘고, 의도치 않게 버튼 위를 덮어 클릭이 막히는 일도 생깁니다. - 따라서 단순 최적화 팁으로 보기보다 "어떤 UI가 실제 입력을 받아야 하는가"를 명확히 하는 설계 문제로 보는 편이 맞습니다.
- 팝업 dim 배경처럼 일부러 클릭을 막아야 하는 요소는 blocker로 남겨야 하지만, 장식 아이콘과 배경 텍스처는 가능한 한 검사 대상에서 빼는 것이 좋습니다.
체크포인트
| 상황 | 적합한 선택 |
|---|---|
| 장식용 아이콘, 배경 이미지 | Raycast Target 해제 |
| 버튼, 슬라이더 등 클릭 가능한 요소 | Raycast Target 유지 |
| 팝업 뒤를 클릭 차단해야 하는 dim | Raycast Target 유지 (blocker 역할) |
| 버튼이 안 눌리는 원인 파악 | 상위에 Raycast Target ON인 투명 요소 확인 |
| 질문 | 먼저 볼 것 | 이유 |
|---|---|---|
| 이 그래픽이 클릭을 실제로 받는가 | Raycast Target | 불필요한 후보를 바로 줄일 수 있음 |
| 클릭 막힘이 투명 UI 때문인가 | 상위 Image/Text의 Raycast 설정 | 안 보이는 blocker가 가장 흔한 원인 |
| 이 Canvas 전체가 입력을 받아야 하는가 | GraphicRaycaster 존재 여부 | 읽기 전용 Canvas면 raycaster 자체가 불필요할 수 있음 |
| 차단이 목적이냐, 입력이 목적이냐 | blocker 전용 dim 여부 | dim은 남겨야 하지만 장식은 빼야 함 |
주의할 점
Raycast Target을 무조건 끄는 것도 답이 아닙니다. "이 그래픽이 입력 흐름에 참여해야 하는가"로 판단하세요.
text
// ❌ 모든 Image에 Raycast Target ON → 버튼이 안 눌리는 버그
Image (배경 패널) Raycast Target ✓ ← 버튼 위를 덮어 클릭 가로막음
Image (아이콘 장식) Raycast Target ✓ ← 불필요한 입력 후보 증가
Button Raycast Target ✓
// ✅ 입력 참여 여부 기준으로 구분
Image (배경 패널) Raycast Target ✗ ← 클릭 불필요 → 해제
Image (아이콘 장식) Raycast Target ✗ ← 클릭 불필요 → 해제
Button Raycast Target ✓ ← 클릭 대상 → 유지
Image (dim blocker) Raycast Target ✓ ← 팝업 뒤 차단 목적 → 유지버튼이 안 눌릴 때 버튼 자체만 보지 말고, 같은 Canvas 안의 투명 풀스크린 이미지나 텍스트가 위를 덮고 있지 않은지 먼저 확인하세요.
text
// ❌ alpha 0에 가까운 풀스크린 Image가 클릭을 가로막음
PopupRoot
FullscreenImage (alpha 0, Raycast Target ✓)
ConfirmButton
// ConfirmButton이 멀쩡해 보여도 클릭이 안 들어감
// ✅ blocker가 목적이 아니면 Raycast Target 해제
FullscreenImage (alpha 0, Raycast Target ✗)참고 링크
2 sources