언리얼 엔진 (UE) 프로젝트에서 UI 작업을 하는 동안 텍스트나 위젯 등의 UI 엘리먼트가 화면 가장자리에 너무 가깝게 배치하지 않도록 하는 것이 중요합니다. UI 엘리먼트를 화면 가장자리 근처에 배치하는 경우 디바이스에 따라 왜곡이 발생할 수 있습니다. UI 항목의 위치를 필요에 따라 배치하기 위해 사용하는 툴이 바로 TV 세이프 존 디버깅(TV Safe Zone Debugging) 툴입니다. 이 문서를 숙지하여 UE 프로젝트에서 TV 세이프 존 디버깅 툴을 사용하는 방법을 파악하세요.
TV 세이프 존이란
TV 세이프 존(Safe Zone) 또는 안전 영역(Safe Area)은 대다수의 TV 시청자가 콘텐츠를 명확히 볼 수 있는 텔레비전 이미지 영역을 가리키는 텔레비전 프로덕션 용어입니다. 일반적으로 말하면, TV 프로그램의 가장 중요한 콘텐츠가 이 영역에 배치되어야 다양한 TV 수상기에서 볼 때 왜곡되어 보이지 않습니다.
TV 세이프 존 및 안전 영역에 대한 자세한 내용은 위키피디아 TV 안전 영역 페이지에서 읽어 보실 수 있습니다.
타이틀 세이프 존과 액션 세이프 존의 차이점
UE에는 타이틀 세이프 존과 액션 세이프 존이라는 두 가지 타입의 TV 세이프 존이 있습니다.
-
타이틀 세이프 존(Title Safe Zone) - UI나 텍스트 엘리먼트가 화면에서 잘리거나 왜곡되지 않도록 하는 용도입니다.
-
액션 세이프 존(Action Safe Zone) - 캐릭터나 적이 부분적으로 화면에서 벗어나 돌아다니도록 허용하는 용도입니다.
액션 세이프 존 바깥 영역은 오버스캔 디스플레이에서 잘리겠지만, 액션 세이프 존과 타이틀 세이프 존 사이 영역은 부분적으로 잘릴 수 있습니다. 해당 영역에는 다른 캐릭터나 적 등 어느 정도의 액션이 일어나게 해도 괜찮습니다. 액션 세이프 존은 다수의 플랫폼에서 타이틀 세이프 존과 크기가 같습니다.
TV 세이프 존 명령
이번 섹션에서는 TV 세이프 존에서 사용할 수 있는 명령과 UE 프로젝트에서 TV 세이프 존 디버깅 툴을 활성화하여 사용하는 두 가지 방법을 설명합니다.
UE 콘솔을 통해 다음 TV 세이프 존 명령을 사용합니다.
명령 이름 | 값 | 설명 |
---|---|---|
r.DebugSafeZone.Mode |
0 | 모든 오버레이를 비활성화합니다. |
r.DebugSafeZone.Mode |
1 | 타이틀 세이프 존을 활성화합니다. |
r.DebugSafeZone.Mode |
2 | 액션 세이프 존을 활성화합니다. |
r.DebugSafeZone.OverlayAlpha |
0~1 | 디버그 시각화 오버레이의 불투명도를 제어합니다. 디폴트는 0.3입니다. |
r.DebugSafeZone.TitleRatio |
0~1 | FDisplayMetrics에 반환되는 액션 세이프 존 여백을 제어합니다. 디폴트는 0.9입니다. |
r.DebugActionZone.ActionRatio |
0~1 | FDisplayMetrics에 반환되는 액션 세이프 존 여백을 제어합니다. 디폴트는 0.9입니다. |
TV 세이프 존 명령은 프로젝트 내 DefaultEngine.ini
파일의 [SystemSettings]
섹션 아래에도 배치할 수 있습니다.
[SystemSettings]
r.DebugSafeZone.Mode 1
r.DebugSafeZone.TitleRatio 0.9
r.DebugSafeZone.ActionRatio 0.9
타이틀 세이프 존 디버그 프리뷰 활성화하기
세이프 존의 비율을 올바르게 표시하려면 프로젝트를 반드시 Windowed Fullscreen 또는 Fullscreen 모드로 실행해야 합니다. 그렇게 하지 않으면 세이프 존이 올바르게 표시되지 않거나 예상보다 작게 표시될 것입니다.
이번 섹션에서는 디버그 프리뷰에서 세이프 존을 활성화하는 방법을 보여줍니다.
-
메인 툴바 에서 플레이 버튼 패널로 이동하고 드롭다운 메뉴를 클릭하여 엽니다. 플레이 모드(Play Modes) 메뉴에서 새 에디터 창(New Editor Window)(PIE) 을 선택합니다. 이렇게 하면 새 창에서 게임이 실행됩니다.
-
실행된 프로젝트 창을 전체화면 뷰로 확대합니다.
-
물결표(~) 를 눌러 언리얼 콘솔(Unreal Console) 을 열고, 다음 작업을 수행합니다.
r.DebugSafeZone.TitleRatio 0.9
를 입력하고 ENTER 를 눌러 적용합니다.r.DebugSafeZone.OverlayAlpha 0.4
를 입력하고 ENTER 를 눌러 적용합니다.r.DebugSafeZone.Mode 1
을 입력하고 ENTER 를 눌러 적용합니다.
-
이제 아래 이미지처럼 전체 플레이 창 주변에 배치된 약간 투명한 빨간색 테두리가 보일 것입니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
세이프 존 및 액션 존의 크기 조정하기
언리얼 콘솔에 다음 명령을 입력하여 세이프 존 또는 액션 존의 크기를 조정할 수 있습니다.
명령 이름 | 값 | 설명 |
---|---|---|
r.DebugSafeZone.TitleRatio |
범위 0~1 | FDisplayMetrics에 반환되는 세이프 존 여백을 제어합니다. 디폴트는 0.9입니다. |
r.DebugActionZone.ActionRatio |
범위 0~1 | FDisplayMetrics에 반환되는 액션 세이프 존 여백을 제어합니다. 디폴트는 0.9입니다. |
세이프 존과 액션 존을 동시에 활성화하는 것은 불가능합니다. 다른 존을 보려면 현재 보고 있는 존을 비활성화한 다음 해당 존을 활성화해야 합니다.
아래 이미지는 r.DebugActionZone.ActionRatio
명령을 사용하여 액션 존의 크기를 0.99 에서 0.1 까지 줄인 모습입니다.










슬라이더를 드래그하면 세이프 존의 크기를 조정할 때 어떤 일이 일어나는지 확인할 수 있습니다.
세이프 존 및 액션 존 오버레이의 알파 조정하기
언리얼 콘솔에 다음 명령을 입력하여 세이프 존 및 액션 존의 오파시티를 늘리거나 줄일 수 있습니다.
명령 이름 | 값 | 설명 |
---|---|---|
r.DebugSafeZone.OverlayAlpha |
0~1 | 세이프 존 및 액션 존 오버레이의 오파시티를 제어합니다. 디폴트는 0.3입니다. |
아래 이미지에서는 r.DebugSafeZone.OverlayAlpha
값을 1.0~0.1로 설정했을 때 세이프 존 및 액션 존 오버레이의 오파시티에 어떤 변화가 일어나는지 확인할 수 있습니다.





슬라이더를 드래그하면 오버레이 알파의 오파시티를 조정할 때 어떤 일이 일어나는지 확인할 수 있습니다.
TV 세이프 존 문제 해결
이번 섹션에서는 TV 세이프 존 툴을 올바르게 사용하기 위해 알아야 할 몇 가지 정보를 살펴봅니다.
-
현재 세이프 존은 전체화면 크기에서 정의되어 있습니다(API가 콘솔 이외 용도로 설계되어 있지 않습니다). 따라서 비율을 바로 반환하지 않으므로 창 모드에서는 사용할 수 없습니다. 향후 변경될 수는 있지만, 현재로서는 Windowed Fullscreen 또는 Fullscreen 에서 실행해야 올바른 비율이 적용됩니다.
-
UI가 현재 런타임에 이러한 변경사항을 처리 가능할 것으로 예상되지 않습니다. 따라서 실행 중 콘솔을 통해 TitleRatio/ActionRatio를 변경하는 경우 게임 모드를 전환해야 변경사항을 확인할 수 있습니다. 예를 들면 프론트엔드에서 인게임 또는 인게임에서 프론트엔드로 전환하는 것, 'open FrontEndScene'을 다시 한번 수행하는 것 등이 있습니다.
-
PS4에서 이 툴 사용 시 첫 번째 명령인 r.DebugSafeZone.Mode 1 만 사용해야 합니다. 세이프 존 값은 PS4 OS 메뉴에서 선택할 수 있는 시스템 세팅에 의해 구동되기 때문입니다.