수정중인 페이지 입니다.

FusionStats

개요

Fusion Stats는 네트워킹 원격 측정을 모니터링하기 위한 UI 컴포넌트 집합으로 구성됩니다. FusionStats 컴포넌트는 원격 측정 UI 요소의 계층을 생성, 초기화 및 제어하기 위한 기본 컴포넌트입니다.

Fusion Stats는 빌드에서 통계를 화면 오버레이로 보거나 3D 공간의 객체에 부착할 수 있는 기본 UnityEngine.UI 컴포넌트를 사용합니다.

메인 화면으로

기본 사용법

씬에 FusionStats 추가

  • 유니티 편집기 메뉴 실행: Fusion > GameObject > Add Fusion Stats; 또는
  • 계층에서 우측 마우스 클릭, 또는 계층에서 GameObject에서 Fusion > Add Fusion Stats 선택.

Add Fusion Stats
GameObject에 Fusion Stats 추가.

  • GameObject를 선택한 경우: FusionStats는 기본적으로 StatsCanvasType.GameObject으로 설정됩니다. 해당 객체에 연결된 3D 공간에서 렌더링 됩니다.
  • GameObject를 선택하지 않은 경우: FusionStats는 기본적으로 StatsCanvasType.Overlay로 설정되며, 화면 공간에 통계가 렌더링 됩니다.

또한 이 메뉴 옵션을 사용하면 FusionStatsBillboard 컴포넌트가 객체에 자동으로 추가됩니다. FusionStatsBillboard 컴포넌트는 FusionStats.CanvasTypeGameObject로 설정될 때 GameObject를 카메라 쪽으로 자동으로 회전시킵니다.

메인 화면으로

런타임 기능

시뮬레이션이 실행되는 동안 몇 가지 추가 기능을 사용할 수 있습니다. 이 섹션에서는 런타임에 FusionGraph에서 찾을 수 있는 다양한 "숨겨진" 기능을 제공합니다.

뷰 옵션

FusionGraph의 제목을 클릭하면 해당 그래프에 대한 보기 옵션 드롭 다운 목록이 나타납니다(두 개 이상 사용 가능한 경우).

Selecting alternate graph methods.
선택적 그래프 메소드 선택

메인 화면으로

평균 옵션

런타임에 FusionGraph의 값 필드를 클릭하면 현재 데이터 소스에 대해 사용 가능한 모든 평균 옵션이 사이클 됩니다.

  • 초당 평균
  • 틱당 평균
  • 샘플당 평균

Selecting alternate averaging options.
선택적 평균 옵션 선택

메인 화면으로

NetworkRunner 이름의 통계 패널 맨 위를 클릭하면 계층의 FusionStats 컴포넌트가 핑됩니다. 현재 GameObject가 선택되지 않은 경우, 이 작업은 인스펙터에서 FusionStats 컴포넌트도 선택합니다.

Pinging FusionStats game object.
게임 객체 FusionStats 핑

메인 화면으로

FusionStats 컴포넌트

FusionStats는 모든 Fusion Stats의 기본 루트 컴포넌트입니다. 하위 캔버스 및 UI 컴포넌트를 생성하고 런타임에 이러한 원격 측정 컴포넌트를 NetworkRunnerNetworkObject 데이터 소스에 연결하는 작업을 관리합니다.

다시 그리기 간격

UI 업데이트가 이 값당 두 번 이상 발생하지 않도록 제한합니다. 이 값을 늘리면 성능이 향상됩니다.

메인 화면으로

레이아웃 섹션

레이아웃 컨트롤 - 일반적으로 FusionStats 캔버스의 레이아웃에 영향을 미칩니다.

캔버스 타입

2개의 캔버스 모드가 있습니다:

  • GameObject는 3d 공간에서 캔버스를 렌더링 합니다.
  • Overlay는 스크린 공간에서 캔버스를 렌더링 합니다.

메인 화면으로

GameObject 사각형 / Overlay 사각형

이 두 개의 편집 가능한 사각형은 UI.Canvas 통계의 렌더링 위치를 정의하며, 특정한 면 또는 캔버스의 코너에 그래프가 렌더링하도록 합니다.

CanvasTypeGameObject로 설정하면 GameObjectRect 가 사용되며 통계가 연결된 객체의 중심에서 오프셋 할 수 있습니다.

CanvasTypeOverlay로 설정하면 OverlayRect가 사용되며, 화면에서 통계를 렌더링 할 위치를 지정합니다. FusionGraph 컴포넌트는 필요에 따라 Rect 영역을 채우도록 확장됩니다.

Rect는 시뮬레이션된 캔버스 영역을 클릭하고 끌어서 인스펙터에서 그릴 수 있으며, 노란색 핸들을 잡고 모서리를 끌어서 수정할 수 있습니다.

모서리를 끌려면 Rect 드로어를 확장해야 합니다.

Collapsed GameObject Rect
오른쪽 상단 모서리에 정렬된 접힌 정규화된 Rect 드로어

GameObject Rect
확장 정규화된 Rect 드로어, 오른쪽 상단 모서리에 정렬

GameObject Stats
캔버스의 오른쪽 상단 모서리에 따라 제한된 Stats

메인 화면으로

Fusion Graphs 레이아웃 섹션

레이아웃 컨트롤은 특히 FusionGraph 컴포넌트의 레이아웃(Fusion Stats 캔버스의 하단 섹션)에 영향을 미칩니다.

기본 레이아웃

모든 하위 FusionGraph 컴포넌트는 개별 설정이 자동으로 설정된 경우 이 Layout 설정을 사용합니다. 자동으로 설정하면 각 그래프의 현재 너비/높이를 기준으로 레이아웃이 선택됩니다.

메인 화면으로

텍스트 없음 오버랩

이 설정을 사용하면 그래프 UI에 Fusion Graph 레이아웃 옵션이 사용되지 않습니다. 텍스트가 그래프 셰이더(수직 원격 측정 막대)와 겹칩니다. 텍스트가 흐릿하게 표시되는 모든 사용 사례에 사용합니다. 일반적으로 이것은 VR과 같이 캔버스가 카메라를 향하도록 완벽하게 빌보드를 보게 되어 있지 않은 경우입니다.

메인 화면으로

그래프 칼럼 개수

그래프 칼럼 개수는FusionStats.GraphColumnCount를 사용하여 수동으로 설정할 수 있습니다. FusionStats.GraphColumnCount를 0으로 설정할 때, FusionStats.GraphMaxWidth 값은 캔버스의 폭이 값을 초과할 때 자동으로 새로운 칼럼을 생성하는데 사용됩니다.

메인 화면으로

그래프 최대 폭

FusionGraph 요소가 확장될 최대 너비입니다. 이 너비 이상으로 확장되면 필요에 따라 새 칼럼이 추가됩니다.

메인 화면으로

네트워크 객체 통계 섹션

루트 NetworkObject 컴포넌트와 관련된 옵션입니다. 이는 FusionStatsNetworkObject로 GameObject에 추가된 경우에만 유효

메인 화면으로

객체 상태 사용 가능

루트 NetworkObject 컴포넌트에 대한 UI 요소 사용 및 원격 측정 처리를 활성화

메인 화면으로

객체 타이틀 높이

GameObject 이름에 대한 레이블 영역 높이

메인 화면으로

객체 Ids 높이

NetworkObject ID 및 플레이어 권한을 표시하는 섹션의 높이

메인 화면으로

객체 미터 높이

수평 미터 바 섹션의 높이

메인 화면으로

데이터 섹션

사용할 데이터 소스 및 표시할 원격 측정 옵션

러너

모든 원격 측정 데이터에는 NetworkRunner 연결이 필요합니다. 네트워크 러너가 시작될 때 이 정보를 자동으로 찾을 수 있습니다.

메인 화면으로

연결하기

Multi-Peer 모드일 경우 둘 이상의 러너가 있을 수 있으므로, 어떤 러너 유형을 찾을지 제어할 수 있습니다(Multi-Peer 모드일 경우 둘 이상의 러너가 있을 수 있음). SimulationModes 플래그는 FusionStats.EnforceSingle와 함께 표시되며, 실행 중인 피어 수에 관계없이 이 FusionStats의 인스턴스가 하나만 존재하도록 합니다.

메인 화면으로

포함된 통계

각 원격 측정 항목은 렌더링 된 FusionGraph 집합에서 포함하거나 제외할 수 있습니다. 사용 가능한 원격 측정 데이터는 엔진의 세 가지 파트에서 제공되며 그에 따라 그룹화됩니다.

  • Net Stats: 왕복 시간(rtt) 및 수신/송신 데이터 총계와 같은 네트워크 전송 계층 통계.
  • Sim Stats: SimulationNetworkRunner 통계(예: 리시뮬레이션 수, 스냅샷 크기, 보간/예측 세부 사항).
  • Obj Stats: NetworkObject 특정 원격 측정(예: RPC 수 및 네트워크 상태 값에 사용되는 대역폭).

메인 화면으로

라이프 사이클 섹션

싱글톤 및 FusionStats GameObject 인스턴스의 자체 파괴에 영향을 미치는 옵션

자동 파괴

true일 경우 연관된 NetworkRunner의 연결이 끊어지면 FusionStats GameObject가 삭제됩니다.

메인 화면으로

Enforce Single

true일 경우 동일한 FusionStats.GUID를 가진 반복적인 NetworkStatsGameObject 인스턴스를 삭제합니다. 이것은 Multi-Peer 모드에서 각 피어마다 하나씩이 아니라 FusionStats 객체의 인스턴스가 하나만 존재해야 하는 경우에 유용합니다. 모니터링할 피어 유형을 제어하기 위한 FusionStats.ConnectTo와 함께 조합하여 사용합니다.

메인 화면으로

GUID

Multi-Peer 모드에서 동일한 Stats 개체의 여러 인스턴스를 식별하기 위해 FusionStats.EnforceSingle와 함께 사용합니다.

기술문서 TOP으로 돌아가기