Visible과 Hidden만 알고 있었는데, HitTestInvisible(Not Hit-Testable), Not Hit-Testable(self), Collapsed 가 있어서 찾아보았다.
SetVisibility
에서 "Not Hit-Testable"은 Unreal Engine의 UI 시스템에서 위젯(Widget)이 마우스 클릭이나 터치 입력 등의 히트 테스트(Hit Test)를 처리하지 않도록 설정하는 옵션을 의미한다. 즉, UI는 화면에 보이지만, 사용자가 상호작용할 수 없도록 만드는 것이다.
Unreal Engine에서 SetVisibility
를 호출할 때, Visibility(가시성)에는 여러 상태가 있으며, 그 중 두 가지는 "Not Hit-Testable" 옵션을 포함한다.
SetVisibility
의 옵션들Visible:
Hidden:
Collapsed:
Hidden
과 달리 공간 자체가 사라져 레이아웃에서 공간을 차지하지 않는다.Hit Test Invisible (Not Hit-Testable):
Self Hit Test Invisible:
SetVisibility(EVisibility::HitTestInvisible)
의 사용 예Not Hit-Testable
옵션을 사용하는 경우는 주로 UI가 보이지만, 사용자가 직접 상호작용할 필요가 없을 때이다. 예를 들어:
장식용 UI:
투명한 UI 오버레이:
디버그 UI:
// 위젯의 가시성을 Not Hit-Testable로 설정 (보이지만 상호작용 불가)
MyWidget->SetVisibility(ESlateVisibility::HitTestInvisible);
이렇게 설정하면 위젯은 화면에 보이지만, 마우스 클릭이나 터치 이벤트가 위젯에 전달되지 않는다. 대신, 이 입력 이벤트는 다른 위젯으로 전달된다.