This document is about: FUSION 1
SWITCH TO

수정중인 페이지 입니다.

멀티-피어 모드

개요

멀티-피어 모드를 사용하면 단일 유니티 에디터 인스턴스 내에서 Fusion 시뮬레이션, 물리 씬, 네트워크 연결 및 씬과 관련된 여러 완전히 독립적인 게임 인스턴스를 인스턴스화할 수 있습니다.

멀티-피어 모드는 상단 유니티 에디터 메뉴에서 Fusion > NetworkProjectConfig를 선택한 다음 Peer ModeMultiple로 설정하여 활성화할 수 있습니다.

add fusion stats
NetworkProjectConfig에서 멀티-피어 모드 선택하기.

이는 주로 빌드를 만들거나 두 개의 유니티 에디터를 실행할 필요 없이 신속하게 테스트할 수 있도록 하기 위함입니다.

NetworkRunner 가시성

NetworkRunner 가시성은 멀티-피어 모드에만 적용됩니다. 기본적으로 모든 피어가 표시됩니다. 씬이 로드되거나 객체가 생성되면 해당 씬이 NetworkRunner의 가시성 시스템에 등록됩니다. 이 시스템은 렌더러, 오디오 소스 및 특정 피어에 대한 가시성을 구성하는 기타 컴포넌트를 자동으로 찾습니다.

NetworkRunner.IsVisible

멀티-피어 모드에서 실행할 경우 NetworkRunner.IsVisible은 등록된 모든 렌더링/오디오 컴포넌트를 활성화 및 비활성화합니다. 이렇게 하면 코드 실행에 영향을 주지 않고 러너를 숨기고 표시할 수 있습니다.

NetworkRunner.IsVisible 속성을 설정하여 코드를 통해 가시성을 제어할 수 있습니다.

러너 가시성 제어

Runner Visibility Controls 창에는 러너를 표시하거나 숨길 수 있는 도구와 사용자 입력을 수집할 러너를 제어할 수 있는 도구가 있습니다. 또한 활성 실행자에 대해 새 FusionStats 오버레이를 만들기 위한 빠른 접근 버튼도 있습니다.

러너 이름이 있는 버튼을 선택하면 씬에서 연결된 러너에 대해 핑이 수행됩니다.

이 창은 Fusion > Windows > Runner Visibility Controls 메뉴를 사용하여 열 수 있습니다.

runner visibility controls
러너 가시성 제어.

RunnerVisibilityNodes 컴포넌트

이 컴포넌트는 Components 필드에 나열된 각 컴포넌트에 대해 RunnerVisibilityNode 컴포넌트를 자동으로 추가합니다. 표시된 이러한 컴포넌트는 멀티-피어 모드에서 실행할 때 활성화된 인스턴스를 하나만 사용할 수 있습니다. 이는 AudioListenersEventSystems와 같이 유니티가 싱글톤이 되려는 컴포넌트에서 특히 중요합니다.

runner visibility nodes
러너 가시성 노드.
모든 러너들은 서로 완전히 독립되어 있어야 합니다. 따라서 시뮬레이션에 영향을 주는 정적 변수와 싱글톤은 피하는 것이 좋습니다. 반드시 필요한 것은 아니지만 여러 NetworkRunner 인스턴스를 실행할 때(멀티-피어 모드를 사용할 경우) Statics와 Singleton에 충돌이 발생합니다.

선호되는 러너

여러 NetworkRunners가 활성 상태일 때 표시할 러너 피어 유형의 우선순위를 선택합니다.

컴포넌트

컴포넌트는 현재 단일 인스턴스로만 플래그가 지정되었습니다. 하나의 피어를 제외한 모든 컴포넌트가 비활성화됩니다.

네트워크 조건

기본 제공 지연 시간 및 손실 시뮬레이션을 지원합니다. 이에 대한 설정은 Fusion > Network Project ConfigNetwork Conditions 섹션에서 확인할 수 있습니다. 이 기능은 로컬 지연 시간 및 손실이 거의 존재하지 않는 멀티-피어 모드에서 테스트할 때 유용할 수 있습니다. 네트워크 조건 옵션은 Fusion 디버그 DLL을 사용하는 경우에만 사용할 수 있습니다.

또는 Windows 사용자는 Clumsy라는 타사 유틸리티를 다운로드하여 로컬에서 지연 시간 및 손실을 시뮬레이션할 수 있습니다.

network conditions
인위적인 지연 시간 및 손실에 대한 네트워크 조건 설정

노트: Fuson 디버그 DLL을 사용할 때만 사용할 수 있습니다.

Back to top