ESlateVisibility 공용체의 Enumerator로
Visible,
Collapsed,
Hidden,
HitTestInvisible,
SelfHitTestInvisible 로 5가지가 있다.
각각의 차이점을 정리하자면,
* Visibile : 기본적으로 화면에 보이면서 마우스 클릭(터치) 등의 인터랙션 발생. 이 때, 해당 레이어 밖에서의 인터랙션은 통하지 않음. (예 : 인벤토리 패널, 우편함 패널 등 화면 전체를 가리는 레이어를 쓸 때)
* Collapsed : 화면에 보이지 않게 하면서 공간을 차지하지 않게 하고 싶을 때 사용 (보이지 않을 때 공간을 차지하면 어색한 위젯에 사용)
* Hidden : 화면에 보이지 않지만 공간은 차지하는 경우 (공간 차지해도 상관 없는 경우 사용)
* HitTestInvisible : 화면에는 보이지만 인터랙션은 발생하지 않게 할 때 사용
* SelfHitTestInvisible : 화면에 보이고 인터랙션도 가능한데, 해당 레이어 밖에서도 인터랙션을 사용하게 할 때 사용 (예 : HUD 패널)
cf) Visible은 기본적으로 UI 상에서 클릭/터치 이벤트가 발생하면 게임 스레드의 오버헤드가 증가 되어 엔진의 효율이 크게 떨어진다. 따라서, 버튼/체크박스 같은 인터랙션이 필요한 UI가 아니라면 HitTestInvisible 이나 SelfHitTestInvisible 로 Visibility를 세팅하는 것이 좋다.
또한, Collapsed는 레이아웃 공간을 차지하지 않아 숨겨진 후에 Prepass 계산을 무시하기 때문에 Hidden보다 성능이 우수하다고 할 수 있다.
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=swat91&logNo=221303506665
'Unreal Engine > UMG' 카테고리의 다른 글
[Unreal Engine 4 UMG] UMG에서 게임패드 사용 (0) | 2022.05.07 |
---|