포트나이트 언리얼 에디터(UEFN) 는 프로젝트의 퍼포먼스를 파악하고 개선하는 데 필요한 툴을 제공합니다. 포트나이트가 여러 플랫폼에서 실행되므로 프로젝트에 대한 특정 메트릭을 알면 UEFN 경험 전반에서 원활한 퍼포먼스가 이루어지는 데 필요한 사항을 조정할 수 있습니다.
샘플링 세션 시작으로 이동하여 워크플로를 빠르게 살펴보거나 계속 읽어 공간 프로파일러(Spatial Profiler) 툴을 자세히 살펴보세요.
유용한 용어
공간 메트릭(Spatial Metric) 은 월드에서 3D 공간 위치를 사용하는 프로퍼티에 대해 측정됩니다. 특정 수의 공간 값으로 구성되고, 각각에는 측정에 해당하는 숫자가 있으며, 연결된 좌표는 월드 내에서 값이 측정된 공간 위치를 제공합니다.
공간 값(Spatial Value) 은 3D 위치에서 공간 메트릭의 구체적 측정입니다. 공간 값에는 3개의 좌표 값인 X, Y, Z 와 측정 결과 값이 있습니다. 공간 값은 공간 메트릭 샘플에서 집계됩니다.
공간 메트릭 샘플(Spatial Metric Sample) 은 정의된 기간의 구체적 공간 메트릭 측정입니다. 결과가 연결된 여러 공간 값이 측정되어 포함될 수 있습니다. 샘플에는 또한 모든 공간 값을 포괄하는 3D 바운드, 사용된 거리 정밀도 및 측정된 날짜 등 기타 관련 데이터가 포함됩니다.
공간 메트릭 프로퍼티(Spatial Metric Properties) 는 공간 메트릭 샘플에 포함된 모든 정보를 나타냅니다.
프로퍼티 | 정의 |
---|---|
메트릭 ID(Metric ID) | 메트릭의 타입과 직접적으로 연결된 고유한 메트릭 식별자를 정의합니다. |
최솟값(Min Value) | 기록된 공간 값 중의 최솟값입니다. |
최댓값(Max Value) | 기록된 공간 값 중의 최댓값입니다. |
한계치 값(Threshold Value) | 메트릭에서 예상되는 최댓값입니다. |
공간 정밀도(Spatial Precision) | 포함된 모든 값이 동일한 공간 값에 기여하도록 월드 유닛에서 사용되는 3D 셀 크기입니다. 대체로 가장 높은 값이 선택됩니다. |
유닛(Unit) | 기록된 값에서 사용하는 유닛으로, 예를 들어 시간은 밀리초, 거리는 미터가 있습니다. |
공간 프로파일러 는 공간 메트릭의 2D 히트맵을 제공하는 시각화 위젯입니다. 여기에서 공간 메트릭 샘플을 기록, 저장 및 로드할 수도 있습니다. 공간 메트릭 업데이트 함수에서 데이터를 수집하므로 데이터가 주기적으로 업데이트됩니다.
공간 프로파일러는 현재 7개의 공간 메트릭을 지원합니다.
메트릭 | 정의 | 유닛 |
---|---|---|
드로 콜 수(Draw Call Count) | 단일 프레임의 드로 콜 수를 트래킹합니다. | 드로 콜 |
프리미티브 수(Primitive Count) | 단일 프레임에서 렌더링되는 프리미티브 수를 트래킹합니다. 프리미티브는 오브젝트를 3D로 렌더링하는 데 사용되는 기본 드로잉 컴포넌트입니다. | 프리미티브 |
게임 업데이트 시간(Game Update Time) | 플랫폼의 게임 스레드를 추적하고, 단일 프레임 업데이트에 걸리는 시간을 측정합니다. | 마이크로초 |
렌더 시간(Render Time) | 플랫폼의 렌더 스레드를 추적하고, 단일 프레임 업데이트에 걸리는 시간을 측정합니다. | 마이크로초 |
프레임 시간(Frame Time) | 단일 프레임을 업데이트하는 데 소요된 시간을 트래킹합니다. 이 메트릭에는 게임 업데이트 시간과 렌더 시간 메트릭이 모두 포함됩니다. | 마이크로초 |
액터 수(Actor Count) | 스트리밍 이벤트를 고려하여 월드의 액터 수를 트래킹합니다. 이는 특히 월드 파티션 스트리밍이 활성화된 월드에서 유용합니다. 레벨에서 액터 수가 일관적이지 않으면 게임플레이에서 가장 중요한 영역을 하이라이트할 수 있습니다. 하지만 액터 수가 매우 높으면 작은 액터의 수가 과도하게 많아 경험에 잠재적인 과부하를 가할 수 있습니다. 게임 업데이트 시간과 함께 이 메트릭을 평가하여 게임 로직 복잡성을 평가하거나 렌더 시간과 함께 평가하여 렌더 복잡성을 평가하는 것이 좋습니다. |
액터 |
메모리 사용량(Memory Usage) | 플랫폼의 실행파일 메모리 사용량을 추적합니다. 이를 사용하여 경험이 실행되어야 하는 각 플랫폼의 메모리 요건을 평가할 수 있습니다. | 바이트 |
공간 프로파일러 UI
공간 프로파일러는 4개 영역으로 구분되는 도킹 가능한 독립형 위젯입니다.
-
컨트롤 툴바
-
메트릭 브라우저
-
히트맵 뷰
-
요약 섹션
컨트롤 툴바
이 영역에는 공간 프로파일러를 작동시키는 주요 상호작용 요소가 포함되어 있습니다. 이를 통해 공간 메트릭 샘플을 생성, 시각화 및 저장할 수 있습니다. 샘플을 사용하여 UEFN 경험을 개선시킬 수 있는 데이터를 확보할 수 있습니다.
컨트롤 툴바에 포함된 요소는 다음과 같습니다.
-
메트릭 선택 툴: 이 드롭다운에서는 UEFN 프로젝트에 대해 캡처할 메트릭을 선택할 수 있습니다. 선택한 모든 메트릭은 자동으로 메트릭 바에 추가되며, 선택 해제되면 제거됩니다. 메트릭 선택 툴에서는 유효한 UEFN 세션에 연결해야 공간 프로파일러에 사용 가능한 메트릭이 나열될 수 있습니다.
-
샘플링 시작: 이 버튼은 사용자가 선택한 메트릭 세트의 캡처를 시작합니다. 메트릭이 샘플링되려면 UEFN 세션에 연결되어야 합니다. 샘플링 도중 히트맵이 자동으로 뷰의 중심을 세션의 플레이어 폰 위치로 두고 캡처된 공간 값에 초점을 맞춥니다.
-
샘플링 중지: 이 버튼은 선택한 메트릭의 캡처를 중지합니다.
-
샘플 파일 열기: 이 버튼은 여러 메트릭을 포함할 수 있는 기존에 존재하는 샘플 파일을 엽니다. 열리면 로드된 모든 메트릭이 메트릭 브라우저로 로드되고 데이터를 평가할 수 있습니다.
-
파일에 샘플 저장: 이 버튼을 사용하여 활성 프로파일링 세션을 저장할 수 있습니다. 파일로 저장 대화 상자가 열리고 기본적으로 샘플 타임스탬프로 파일 이름을 제안합니다. 공간 프로파일러는 현재 샘플링 세션의 모든 메트릭을 대상 파일에 저장합니다.
-
UEFN 세션 선택툴: 세션에 둘 이상의 클라이언트를 연결할 수 있습니다. 세션 선택 툴을 사용하여 메트릭을 연결하고 실행할 세션을 선택할 수 있습니다. 공간 프로파일러는 세션을 시작할 때 자동으로 클라이언트에 연결하고, 해당 세션에 연결된 사용자의 이름으로 세션 선택 툴을 업데이트합니다.
-
세팅(Settings): 이 버튼을 누르면 공간 프로파일러 환경설정 세팅이 표시됩니다. 이를 사용하여 특정 위젯 엘리먼트의 비저빌리티를 전환할 수 있습니다.
메트릭 브라우저
이 영역에서는 샘플링을 위해 선택한 메트릭이나 저장된 파일에서 열린 메트릭을 탐색할 수 있습니다. 메트릭 브라우저는 추가된 각 메트릭에 대한 버튼을 생성합니다.
메트릭을 클릭하여 선택하면 메트릭의 데이터와 통계 뷰로 히트맵 뷰가 업데이트되고, 메트릭의 집계된 통계가 표시됩니다.
히트맵 뷰
히트맵 뷰는 샘플 내 모든 공간 값의 오버레이를 포함하여 선택한 메트릭의 히트맵을 보여줍니다. 각 공간 값은 샘플 데이터에 따라 컬러가 지정됩니다. 빠르게 각 메트릭의 컷오프 값을 설정하여 예상되는 값 범위를 정의할 수 있습니다.
상단에 있는 4개 버튼을 사용하여 히트맵과 상호작용하고 원하는 대로 커스터마이징할 수 있습니다.
-
세 줄 메뉴
-
옵션 표시(Show Options)
-
플레이어 포커스(Focus Player)
-
바운드 포커스(Focus Bounds)
히트맵 뷰에서 아무 위치나 더블클릭하면 에디터 카메라를 프로젝트 내의 해당 위치에 배치합니다. 세션이 시작되면 플레이어 폰이 더블클릭한 위치로 순간이동합니다.
세 줄 메뉴
이 버튼을 사용하여 두 섹션이 포함된 히트맵 시각화 옵션에 액세스할 수 있습니다.
-
히트 컬러(Heat Colors)
-
메트릭 옵션
-
알파 세팅
각 필드의 오른쪽에 있는 리셋 화살표 버튼을 클릭하여 섹션의 세팅을 리셋할 수 있습니다.
히트 컬러 는 색맹 사용자를 고려하여 읽을 수 있는 컬러 팔레트를 제공합니다. 키 컬러를 정의하고 히트맵 컬러 범위를 커스터마이징할 수 있습니다.
값 | 정의 |
---|---|
최소(Minimum) | 이 컬러는 히트맵 컬러 범위의 낮은 스펙트럼을 나타내고, 메트릭 샘플의 최솟값에 매핑됩니다. |
중간 포인트(Mid Point) | 이 컬러는 최소(Minimum)와 한계치(Threshold) 컬러 사이에 정의된 히트맵 컬러 범위의 중간을 나타냅니다. 한계치 값이 지정되지 않은 경우 샘플의 중간 공간 값으로 매핑됩니다. |
한계치(Threshold) | 이 컬러는 스펙트럼의 상단을 나타냅니다. 한계치 값이 정의되면 히트맵 컬러 범위는 이를 초과하는 값도 고려합니다. |
최대(Maximum) | 이 컬러는 최대 공간 값을 나타냅니다. 사용자가 표현된 메트릭의 한계치 값을 정의할 때만 표시됩니다. 한계치 값을 지정하면 히트맵은 흰색부터 최대에 대한 컬러 세트까지 한계치를 초과하는 범위를 추가합니다. |
바운드(Bounds) | 샘플 내의 모든 값을 포괄하는 바운딩 박스를 표시하는 데 사용되는 컬러입니다. 옵션 표시 메뉴에서 샘플 바운드 비저빌리티를 전환할 수 있습니다. |
메트릭 세팅(Metric Settings) 은 메트릭 시각화에 영향을 미치는 모든 세팅을 그룹화합니다.
-
한계치(Threshold): 한계치 값은 정상적인 게임플레이에서 예상되는 최댓값을 정의합니다.
-
표시 유닛(Display Unit): 지정하면 이 옵션은 메트릭에 선호되는 시각화 유닛을 정의합니다. 지정하지 않은 채로 두면 툴이 각 메트릭에 가장 잘 맞는 유닛을 선택합니다. 표시 유닛은 히트맵 뷰와 요약 뷰에서 사용되는 유닛에 영향을 미칩니다.
-
셀 메서드(Cell Method): 이 세팅은 툴이 각 셀의 바운더리에 해당하는 값 목록에서 각 2D 셀 값을 계산하는 데 사용하는 감소 메서드를 지정합니다. 사용할 수 있는 감소 메서드는 다음과 같습니다.
- 중간값(기본)
- 최솟값
- 최댓값
- 평균값
알파 세팅(Alpha Settings) 은 예상 범위 바깥의 공간 값을 표시합니다. 공간 값 밀도가 높은 메트릭 샘플을 살펴볼 때 이러한 옵션을 조정하면 메트릭을 더욱 세부적으로 읽을 수 있어 유용합니다.
-
최소 알파(Min Alpha): 공간 값에 제공된 시작 값입니다. 샘플의 모든 공간 값의 알파 값은 이 값에 따라 최솟값(최소 알파 사용)에서 최댓값 또는 한계치 값(최대 알파 사용)으로 증가합니다. 낮은 최소 알파 값을 사용하면 낮은 공간 값을 덜 표시하도록 하여 최대 또는 한계치 값에 더 가까운 공간 값이 하이라이트됩니다.
-
최대 알파(Max Alpha): 공간 값에 제공된 최대 시작 값입니다.
-
알파 익스포넌트(Alpha Exp): 샘플의 공간 값 범위에서 알파 값이 최소에서 최대로 얼마나 빠르게 이동하는지 나타내는 값입니다.
-
중간 포인트(Mid Point): 값 범위의 중간을 나타내기 위해 중간 포인트 컬러가 배치되어야 하는 샘플의 정규화된 값 범위의 값입니다. 기본적으로 이 값은 정규화된 값 범위의 중간에 위치하도록 0.5 가 되어야 합니다.
축
이 옵션은 히트맵 뷰의 톱다운 방향에 해당하는 좌측 하단의 3D 축 시각화를 전환합니다. 이 방향은 에디터가 아닌 클라이언트의 미니맵 뷰와 동등합니다.
그리드
2D 히트맵 그리드의 시각화를 전환하고, 가시 영역을 여러 개의 샘플 값 크기로 나눕니다.
히트맵 범례
이 옵션은 히트맵 뷰의 우측 하단에 있는 히트맵의 컬러 범위 범례 시각화를 켜고 끕니다.
바운드
이 옵션을 통해 샘플의 모든 공간 값을 구성하는 2D 바운딩 박스를 켜고 끌 수 있습니다.
플레이어 포커스
이 버튼은 연결된 세션의 플레이어 폰 주변으로 뷰의 중앙을 맞춥니다. 이 작업을 하려면 세션이 연결되어 있어야 합니다.
바운드 포커스
이 버튼은 2D 바운딩 박스 주변으로 히트맵 뷰의 중앙을 맞춥니다.
컨텍스트 메뉴
히트맵 뷰 영역을 우클릭하여 컨텍스트 메뉴에 액세스할 수 있습니다. 이 메뉴에는 다음 옵션이 있습니다.
-
순간이동(Teleport)
-
기본 뷰(Default View)
-
바운드 포커스(Focus Bounds)
-
포커스 위치 트래킹
순간이동
이 옵션을 사용하여 카메라 뷰와 플레이어 폰을 히트맵 뷰에서 우클릭한 위치로 가져올 수 있습니다. 세션이 연결되어 있어야 플레이어 폰을 순간이동시킬 수 있습니다. 연결된 세션이 없는 경우 히트맵 뷰에서 아무 위치나 더블클릭하면 에디터 카메라를 프로젝트 내의 해당 위치에 배치합니다.
기본 뷰
이 옵션은 히트맵 뷰 포커스와 줌 값을 기본 세팅으로 리셋합니다.
요약 섹션
요약 섹션에는 실시간으로 수집되는 데이터를 시각화하는 데 도움이 되는 히스토그램 이 포함되어 있습니다. 이를 통해 레벨의 진행과 히스토그램에 보이는 피크를 관련지을 수 있습니다.
세 줄 메뉴에서 값을 조정하면 히스토그램에 표시된 다양한 컷오프 포인트가 수정됩니다.
우측에는 선택한 메트릭 샘플의 통계 요약이 표시됩니다. 샘플의 공간 값에서 집계된 다음 통계를 보여줍니다.
통계 | 정의 |
---|---|
값 수(Number of Values) | 샘플에 포함된 공간 값의 총수입니다. |
한계치 초과(Above Threshold) | 한계치 값(정의된 경우)을 초과하는 공간 값의 수입니다. |
최솟값(Min Value) | 가장 작은 공간 값입니다. |
최댓값(Max Value) | 가장 큰 공간 값입니다. |
평균값(Average Value) | 평균 공간 값입니다. |
중간값(Median Value) | 중간 공간 값입니다. |
샘플링 세션 시작하기
이 섹션에서는 공간 프로파일러 툴을 사용하여 샘플링 세션을 시작하는 방법과 공간 메트릭 샘플을 저장하는 방법을 보여줍니다.
-
툴(Tools) > 공간 메트릭(Spatial Metrics) > 공간 프로파일러(Spatial Profiler) 로 이동합니다. 그러면 공간 프로파일러 위젯이 열립니다.
-
히트맵의 좌측 상단에 있는 세 줄 메뉴 를 클릭합니다.
-
이 메뉴에서 샘플링 파라미터를 설정합니다. 자세한 내용은 히트맵 뷰 섹션을 참조하세요.
-
세션 시작(Launch Session) 을 클릭하여 포트나이트 클라이언트를 통해 게임을 시작합니다.
-
(선택 사항) 클라이언트가 로드되고 게임 종료(End Game) 를 눌러 편집 모드(Edit Mode) 를 시작하면 더욱 빠르게 폰을 레벨에서 움직일 수 있습니다.
-
에디터로 돌아가 메트릭(Metrics) 드롭다운을 클릭하고 녹화 도중 측정할 메트릭을 선택합니다.
-
녹화 버튼을 누릅니다.
-
게임 세션에서 폰을 사용하여 의도한 대로 섬 곳곳을 돌아다니며 게임을 플레이합니다. 공간 프로파일러 히트맵이 그에 따라 업데이트됩니다.
-
중지 버튼을 눌러 샘플링 세션을 종료합니다.
-
공간 프로파일러 위젯의 저장 아이콘을 누르고, 프로젝트의 로컬 디렉터리 내부를 선택합니다. 프로파일러는 프로젝트에 저장된 샘플에 대한 읽기 액세스를 제공합니다. 샘플은 메트릭 타입과 타임스탬프로 정리됩니다.
-
열기 아이콘을 클릭하여 이전의 프로젝트 샘플 녹화에 액세스할 수 있습니다.