This document is about: FUSION 2
SWITCH TO

빠른 시작

패키지 가져오기

패키지 가져오기 과정에서 발생하는 일반적인 문제를 해결하기 위해 다음 단계별 가이드를 따라주세요.

  1. 새로운 Unity 3D 프로젝트를 만듭니다. Unity 2022.3.20f1을 사용하는 것을 권장합니다.
  1. 패키지 관리자를 열고 BR200 패키지를 가져옵니다.
  1. 프로젝트 설정 덮어쓰기 경고가 뜨면 가져오기를 선택합니다.
  1. 패키지 종속성 경고가 뜨면 설치/업그레이드를 선택합니다.
  1. 이 샘플은 새로운 입력 시스템 패키지를 사용하므로 유니티 편집기를 재시작해야 합니다. 를 선택합니다.
  1. 유니티 편집기가 자동으로 재시작됩니다. 하지만 가져오기 과정이 계속되지 않으므로 2, 3, 4 단계를 반복해주세요. 이번에는 유니티 편집기를 다시 시작할 필요가 없습니다.
  2. 유니티 패키지 가져오기 (1단계)에서 다음을 선택합니다.
  1. 유니티 패키지 가져오기 (2단계)에서 가져오기를 선택합니다.
  1. 패키지가 가져와집니다.
  1. 가끔 유니티 콘솔에 렌더러 기능 누락 또는 'unsafe' 코드 허용과 같은 오류가 발생할 수 있습니다.
  1. 위 오류를 해결하려면 프로젝트 설정을 열고 'unsafe' 코드 허용을 껐다가 다시 켭니다.
  1. 모든 오류가 콘솔에서 사라지고 에셋 가져오기 과정이 계속됩니다.
  1. Photon Fusion Hub가 나타나면 Fusion 2 AppId를 입력합니다 - 자세한 내용은 프로젝트 설정에서 확인하세요.
  1. TPSBR/Scenes/Game 씬을 열고 플레이 모드로 들어갑니다. 장면에서 변경 사항을 저장하지 마세요.
  1. 가져오기 과정이 잘못 완료되어 라이브러리가 손상된 상태이면 콘솔에 예외가 발생하고 플레이어가 게임 뷰에서 무기를 다루지 못할 것입니다. 이를 수정해야 합니다.
  1. TPSBR/Prefabs 폴더(하위 폴더 포함)에서 모든 프리팹을 선택합니다. 이는 유니티가 모든 프리팹을 로드하도록 강제합니다.
  1. Tools/Fusion/Run Weaver를 선택합니다.
  1. Tools/Fusion/Rebuild Prefab Table을 선택합니다.
  1. TPSBR/Prefabs 폴더를 다시 가져옵니다.
  1. 유니티 편집기를 재시작하고 TPSBR/Scenes/Game 장면을 다시 시도해 보세요. 이제 콘솔에 런타임 오류/예외가 없으며 플레이어가 무기를 다루는 데 문제가 없어야 합니다.
  1. 위 과정이 도움이 되지 않으면 에디터를 닫고 라이브러리 폴더를 삭제해 보세요.

프로젝트 설정

샘플을 실행하려면 PhotonAppSettings 에셋에 Fusion 2 AppId를 지정해야 합니다.

먼저 Photon Engine 관리 화면에서 Fusion 2 AppId를 생성하고 이를 PhotonAppSettingsApp Id Fusion 필드에 붙여 넣습니다(Tools/Fusion/Realtime Settings 메뉴에서 접근하거나 Assets/Photon/Fusion/Resources/PhotonAppSettings.asset 파일을 직접 수정하여 가능합니다).

PhotonAppSettings

게임 시작하기

메뉴 시작

Assets/TPSBR/ScenesMenu 또는 Loader 씬을 열고 플레이 모드에 들어가 플레이 버튼을 누릅니다.

기존 게임에 참여하거나 게임 만들기 버튼을 눌러 새 게임을 만듭니다. 빠른 플레이 버튼은 유니티에서 제공하는 게임 서버 호스팅 플랫폼에서만 작동합니다.

게임 플레이 디버그 시작

직접 을 열어 게임을 플레이할 수 있습니다. 장면의 Standalone Manager GameObject가 시작된 게임 유형을 결정합니다. 원하는 구성으로 게임을 실행하려면 Standalone Manager 값을 변경할 수 있습니다.

Standalone Manager

하나의 에디터에서 여러 플레이어와 함께 게임을 시작하려면 멀티 피어 모드 섹션을 확인하세요.

조작

동작
W,S,A,D 이동
SPACE 점프 / 제트팩으로 추진
1,2,3 무기 교체
4 수류탄 순환
Q 빠른 무기 교체
F 상호작용 / 무기 버리기 (홀드)
X 제트팩 토글
E 카메라 측면 토글
마우스 왼쪽 버튼 발사
마우스 오른쪽 버튼 조준
Enter 커서 잠금/잠금 해제
Ctrl + Enter 커서 잠금/잠금 해제(빌드)

서버 실행

BR200를 명령줄에서 헤드리스 서버 인스턴스로 시작할 수 있습니다.

명령줄 인수

인수 설명
-host 호스트 시작
-dedicatedServer 전용 서버 시작
-client 클라이언트 시작
-deathmatch 데스매치 게임 모드 시작 (서버/호스트 전용)
-elimination 제거 게임 모드 시작 (서버/호스트 전용)
-battleRoyale 배틀 로얄 게임 모드 시작 (서버/호스트 전용)
-region [STRING] 사용자 지정 Photon 지역 (선택 사항), eu/us/usw/...
-extraPeers [INT] 동일한 프로세스 내에서 시작된 추가 클라이언트
-serverName [STRING] 게임 목록에 표시되는 사용자 지정 서버 이름
-maxPlayers [INT] 게임에 참여할 수 있는 최대 플레이어 수
-sessionName [STRING] 사용자 지정 세션 식별자
-lobby [STRING] 사용자 지정 매치메이킹 로비 이름
-scene [STRING] 로드할 장면 (GenArea2|GenArea3|GenArea5|GenArea7)
-stripped 단일 프로세스가 처리하는 일괄 클라이언트 수를 극대화하기 위해 추가 런타임 최적화 활성화
-ip 서버가 바인딩 할 사용자 지정 IP 주소
-port 서버가 바인딩 할 사용자 지정 포트
-fps [INT] Application.targetFrameRate를 주어진 값으로 설정
-moderator 중재자 권한으로 게임 시작 (공개 빌드에서 게임 생성 및 중재 제어 가능)
-dataPath 사용자 지정 출력 디렉토리 경로
-recordSession 현재 세션의 로그 및 성능 통계 기록
-generateInput 랜덤 입력 생성, -stripped와 함께 사용
-multiplay Multiplay Manager (Unity 게임 서버 호스팅) 활성화
-backfill 백필 서비스 사용 (기존 경기 참여, 서버 전용)
-sqp 서버 쿼리 프로토콜 (SQP) 사용
-matchmaking Unity Matchmaker 사용
-queueName [STRING] 사용자 지정 매치메이커 큐 이름

로컬 헤드리스 서버 명령줄 인수 예:

BR200.exe -batchmode -nographics -dedicatedServer -logFile DeathmatchServer.txt -deathmatch -maxPlayers 60 -scene GenArea3

BR200.exe -batchmode -nographics -dedicatedServer -logFile BattleRoyaleServer.txt -battleRoyale -maxPlayers 200 -scene GenArea7

프로젝트 구조

에셋

경로 설명
3rdParty/ 타사 자산
Photon/ Fusion 라이브러리 및 애드온
TPSBR/ 샘플 관련 파일, 스크립트 및 파생 자산
Extras.zip 추가 프로파일링 도구

장면

장면 설명
Loader 초기 장면, 최소한의 구성 (빠른 로드), 명령줄 인수 확인, 메뉴 또는 특정 게임 플레이 장면으로 로드
Menu 기본 메뉴 장면
LoadingScene 메뉴와 게임 플레이 장면 간의 페이드 효과가 있는 로딩 화면이 있는 장면
Game 디버깅 및 기능 반복을 위한 작은 정적 테스트 장면
GameplayUI 별도의 게임 플레이 UI가 있는 장면, 추가적으로 로드됨
GenArea2 실행 시간에 생성된 20명 플레이어용 작은 맵
GenArea3 실행 시간에 생성된 60명 플레이어용 중간 맵
GenArea5 실행 시간에 생성된 120명 플레이어용 큰 맵
GenArea7 실행 시간에 생성된 200명 플레이어용 매우 큰 맵
GenArea2 - GenArea7 간의 차이점은 NetworkGame 객체에 설정된 레벨 생성 값에만 있습니다.
Back to top