This document is about: FUSION 2
SWITCH TO

Fusion Starter

Level 4

Fusion Starter

개요

Fusion Starter는 Fusion에 대해 테스트하고 학습하며, 친구 및 동료들과 멀티플레이어 게임을 즐길 수 있도록 설계된 입문 수준의 게임 샘플입니다.

Platformer Screenshot

이 프로젝트는 각각 다른 게임 개발 측면에 초점을 맞춘 일련의 소규모 독립형 예제들로 구성되어 있습니다. 각 예제는 자체 폴더와 네임스페이스를 가지고 있습니다. 현재 세 가지 예제가 제공됩니다:

Fusion Starter는 단순한 접근 방식과 이해하기 쉬운 코드를 염두에 두고 설계되었습니다. 모든 스크립트에는 이해를 돕기 위한 주석이 풍부하게 포함되어 있습니다. 따라서 초보자에게도 접근성이 좋으면서도 Fusion의 모범 사례를 존중합니다. 네트워크 상태가 나쁠 때에도 모든 것이 매끄럽게 유지되는지 테스트해 보십시오.

이 샘플은 호스트 모드 버전(Client/Server 토폴로지)과 공유 모드 버전 두 가지로 제공됩니다.

다운로드 - 호스트 모드

버전 릴리즈 일자 다운로드
2.0.2 Aug 21, 2024 Fusion Starter - Shared Mode 2.0.2 Build 631

다운로드 - 공유 모드

버전 출시 날짜 다운로드
2.0.2 2024년 8월 21일 Fusion Starter - 공유 모드 2.0.2 빌드 631

호스트 모드 vs 공유 모드

호스트 모드클라이언트/서버 토폴로지의 한 버전으로, 한 클라이언트가 서버 역할을 합니다. 이 설정에서는 서버가 모든 게임 객체에 대한 권한을 가지고 있습니다. 클라이언트는 입력 동작에 대한 즉각적인 반응을 제공하기 위해 클라이언트 측 예측과 서버 조정(롤백 및 재시뮬레이션 루프)을 사용하며, 서버 응답을 기다리지 않습니다.

공유 모드에서는 클라이언트가 자신이 제어하는 객체에 대한 권한을 가지고 있으며, 클라이언트 측 예측과 서버 조정이 필요 없습니다. 예측, 롤백 및 재시뮬레이션 루프가 없기 때문에 공유 모드는 초보자에게 더 접근성이 좋습니다. 플레이어가 다른 플레이어나 중립 객체와 상호작용할 때 RPC가 더 자주 발생합니다(클라이언트가 권한이 없는 객체의 속성 변경을 요청하는 경우 - 예: 피해 입히기, 동전 수집). 클라이언트가 객체에 대한 권한을 가지고 있기 때문에 공유 모드는 치팅에 더 취약하며, 캐주얼 게임에 더 적합합니다. 공유 모드는 모바일/웹 플랫폼 또는 매우 높은 플레이어 수(MMO 등)를 위한 시나리오에 권장됩니다. 공유 모드에서의 보안은 사용자 정의 서버 플러그인으로 강화할 수 있습니다.

Fusion의 다양한 모드 및 각 모드의 사용 시기에 대한 자세한 정보는 Fusion 소개 페이지를 참조하십시오.

💡참고: 호스트 모드는 클라이언트/호스트 연결을 위해 설계되었지만, 게임을 전용 서버에서 실행할 때 코드가 동일하게 유지됩니다. 이를 테스트하려면 UIGameMenu 스크립트에서 시작 인수를 변경하기만 하면 됩니다.

준비 가이드

이 샘플을 시작하기 전에 Fusion에 대한 기본적인 이해와 호스트 모드 기초 또는 공유 모드 기초 튜토리얼을 완료하는 것이 좋습니다.

요구 사항:

  • 유니티 2022.3
  • Fusion AppId: 샘플을 실행하려면 먼저 PhotonEngine 관리 화면에서 Fusion AppId를 생성한 후 Tools/Fusion/Realtime Settings 메뉴에서 접근할 수 있는 Realtime 설정의 App Id Fusion 필드에 붙여 넣으십시오. 이후 게임 시작하기 섹션의 지침을 따르세요.

프로젝트 구성

프로젝트는 세 개의 소규모 독립형 예제들로 구성되어 있습니다.

/00_MainMenu 메인 메뉴 씬
/01_ThirdPersonCharacter 3인칭 캐릭터 예제
/02_Platformer 플랫포머 예제
/03_Shooter 슈터 예제
/Common 모든 예제에 공통된 프리팹, 스크립트 및 그래픽 에셋

게임 시작하기

Fusion Starter 내의 각 예제는 자체 씬 파일을 통해 접근할 수 있으며, 직접 열어 플레이할 수 있습니다. 또는 /00_MainMenu/00_MainMenu에 위치한 MainMenu 씬에서 모든 예제를 시작할 수 있습니다.

Main Menu Scene

게임을 시작하면 플레이어가 닉네임 또는 세션 이름(룸 이름)을 입력할 수 있는 작은 게임 메뉴가 나타납니다. Start Game 버튼을 클릭하면 새 게임 세션이 시작되거나 이미 존재하는 게임에 플레이어가 연결됩니다.

Game Menu

내비게이션을 위해:

  • W, S, A, D 키를 사용하여 이동합니다.
  • Shift 키를 사용하여 달리고, Space 키를 사용하여 점프합니다.
  • 마우스를 사용하여 주위를 둘러봅니다.
  • 왼쪽 마우스 버튼을 사용하여 무기를 발사합니다 (슈터 예제에서만 가능).
  • Esc 키를 눌러 플레이 중 게임 메뉴를 엽니다.

1 - 3인칭 캐릭터

Third Person Character

3인칭 캐릭터 샘플은 유니티에서 제공하는 Starter Assets - Third Person을 멀티플레이어 환경으로 변환한 것입니다. 플레이어는 3인칭 캐릭터로 스폰 되어 프로토타입 환경에서 걷고 달릴 수 있습니다. 이 예제에서는 기본 CharacterController 컴포넌트 대신 간단한 KCC 애드온을 사용하여 플레이어의 움직임을 제어합니다. Simple/Advanced KCC 애드온은 Fusion에 특화된 키네마틱 캐릭터 컨트롤러(KCC) 솔루션으로, 네트워크 조건이 가장 어려운 상황에서도 부드러운 움직임과 회전을 제공하며, 단일 CPU 서버 코어에서 수십 명 또는 수백 명의 캐릭터를 처리할 수 있을 정도로 매우 최적화되어 있습니다.

다음 단계

캐릭터 애니메이션에 대해 더 알고 싶다면, 애니메이션 기술 샘플로 이동하십시오. 캐릭터 움직임에 대한 통찰력을 얻으려면 Simple KCC 샘플 또는 Advanced KCC 샘플을 탐색해 보십시오. 3인칭 캐릭터 컨트롤 및 틱 기반 애니메이션은 우리의 가장 큰 샘플인 BR200에도 포함되어 있습니다. 그러나 이 샘플은 고급/전문가 수준으로 간주되므로 Fusion에 익숙해진 후 도전하는 것이 좋습니다.

2 - 플랫포머

Platformer

플랫포머 예제는 3인칭 캐릭터 예제와 유사한 기반 위에 구축되었으며, 게임 객체와의 상호작용(예: 동전, 떨어지는 플랫폼), RPC 사용(예: 플레이어 머리 위의 이름표) 및 플레이어가 10개의 동전을 모으고 상단 깃발에 도달하기 위해 경쟁하는 간단한 게임 루프를 추가합니다. 각 라운드 후, 모든 플레이어는 시작 지점으로 다시 시작됩니다.

다음 단계

유사한 플랫포머 기본 사항을 다루면서 고급 KCC 애드온으로 발전하고, 이동 능력을 구현하며, 완전한 게임 루프를 특징으로 하는 포괄적인 Multi Climb 튜토리얼 시리즈를 확인해 보십시오. 캐릭터 움직임 및 움직임 영향 요소(점프 패드, 힘 필드, 표면 등)에 대한 최종 가이드를 제공하는 간단한 KCC 샘플Advanced KCC 샘플을 탐색하십시오. 2D 플랫포머의 경우, Razor Madness 샘플을 확인해 보십시오.

3 - 슈터

Shooter

슈터 예제는 간단한 1인칭 슈터를 보여줍니다. 플레이어들은 날아다니는 닭을 쏘면서 최고의 사냥꾼이 되기 위해 경쟁합니다. 플레이어가 플랫폼에서 떨어지거나 다른 플레이어에 의해 죽을 때 닭 카운터가 초기화됩니다. 이 예제(호스트 모드에서는)는 Fusion의 지연 보상을 사용하여 네트워크 상태가 나쁠 때에도 닭과 다른 플레이어를 정확하게 명중할 수 있도록 합니다. 공유 모드에서는 클라이언트가 로컬에서 자신의 히트 여부를 결정하고 다른 클라이언트에게 자신에게 피해를 적용하도록 알립니다(Health.cs 스크립트의 RPC_TakeHit 확인).

다음 단계

슈터는 가장 인기 있는 멀티플레이어 장르이므로, 슈터 게임 개발 여정을 시작할 수 있는 많은 리소스를 제공합니다. 발사체 기초 기술 샘플은 Fusion에서 투사체를 네트워크화하는 다양한 방법과 특정 접근 방식의 장단점을 배우는 데 필수적입니다. 간단한 FPS는 이 예제의 자연스러운 발전이며, 완전한 게임 루프, 탄약 처리, 다양한 무기, 픽업, 플레이어 통계 및 리더보드, Fusion 메뉴와의 통합을 제공합니다. 발사체 고급는 유도 투사체, 리코쳇 투사체, 수류탄, 스프레이 투사체 등 모든 종류의 투사체에 대한 솔루션을 제공하며, 멀티플레이어 슈터를 구축할 때 발생하는 보다 고급 현실 세계의 문제들을 해결합니다. 우리의 가장 큰 샘플인 BR200는 대규모 플레이어 수와 틱 정확 애니메이션, 서브 틱 정확 사격과 같은 고급 기술에 중점을 둡니다.

서드파티 에셋

Fusion Starter 샘플은 여러 훌륭한 서드파티 에셋을 기반으로 구축되었습니다:

에셋을 다운로드하고 사용하기 전에 UCL 라이선스 조건을 주의 깊게 읽어보십시오.

Back to top