This document is about: QUANTUM 2
SWITCH TO

구조체 & 내용

이 프로젝트는 2개의 부분으로 나뉘어져 있습니다:

  • 코어 (Framework) 및
  • 게임플레이 템플릿

템플릿 구조

초기 개발 단계에서는 코어를 변경할 필요가 없습니다. 코어 스크립트는 부분 구현을 통해 상속 및/또는 확장할 수 있습니다. 그러나 프로젝트 사양의 핵심을 변경해야 할 경우 사전에 FPS 팀과 논의하는 것이 좋습니다.

다음 섹션에서 [YOUR_PROJECT]는 프로젝트 이름의 사용자 지정 폴더를 나타냅니다. 이러한 스크립트는 옵션으로 표시되지만 SDK 업그레이드를 단순화하려면 스크립트와 에셋을 템플릿에서 분리하는 것이 좋습니다.

Quantum 솔루션

fps template folder structure in the quantum solution
Quantum 솔루션의 FPS 템플릿 폴더 구조.
  • BotSDK에는 Quantum Bot SDK용 스크립트가 포함되어 있습니다.
  • Core에는 Quantum SDK의 핵심 스크립트가 포함되어 있습니다.
  • Framework에는 템플릿의 핵심 스크립트가 포함되어 있습니다.
  • FPS에는 FPS 템플릿에 대한 프로젝트별 스크립트가 포함되어 있습니다.
  • [YOUR_PROJECT] 이곳이 새 스크립트를 만드는 폴더입니다. (선택사항)

유니티 프로젝트

fps template folder structure in the unity project
유니티 프로젝트에서의 FPS 템플릿 폴더 구조.
  • FPS에는 FPS 예제용 에셋이 포함되어 있습니다.
  • Photon은 Quantum SDK, Bot SDK, Framework 코어 스크립트, Photon Realtime SDK, Photon Chat SDK를 포함합니다.
  • [YOUR_PROJECT] 이 폴더는 에셋을 저장할 폴더입니다. (선택 사항)
  • Resources/DB/FPS에는 FPS 예제의 엔티티 프리팹, Quantum 관련 에셋 및 베이크 된 데이터가 포함되어 있습니다.
  • Resources/DB/[YOUR_PROJECT]는 엔티티 프리팹 및 Quantum 에셋을 저장하는 폴더입니다 (옵션)

템플릿 변경하기

개발을 진전시키는 세 가지 가능한 방법이 있습니다.

  1. 필요에 따라 FPS 예제 에셋을 수정하고, 이후 단계에서 프로젝트를 선택적으로 정리해야 합니다. 변경 사항과 새 기능을 예제 파일로 병합하는 것은 변경 사항에 따라 어렵습니다.
  2. FPS 예제 자산을 FPS에서 [YOUR_PROJECT] 폴더로 이동한 다음 변경합니다. 이후 단계에서는 FPS 폴더를 쉽게 삭제하여 모든 예제 에셋을 정리할 수 있습니다. 변경 사항에 따라 변경 사항과 새 기능을 병합하기가 어렵습니다.
  3. [YOUR_PROJECT] 폴더에 FPS 예제 에셋을 선택적으로 복제한 다음 변경합니다. 이후 단계에서는 FPS 폴더를 쉽게 삭제하여 모든 예제 에셋을 정리할 수 있습니다. 변경 사항과 새로운 기능을 병합 + 추적하는 것은 쉬우며, 프로젝트 에셋에 필요할 때마다 반영할 수 있습니다.

변경 3. 템플릿 코어 스크립트와 FPS 예제 파일 모두에서 원하는 만큼 새 기능과 수정 사항을 추적할 수 있으므로 권장됩니다. 또한 릴리즈 전에 프로젝트를 정리하는 데 추가 시간이 필요 없습니다.

템플릿 내용

FPS 템플릿은 씬 로드, 엔티티 설정 및 게임 플레이를 구현하는 권장 방법을 제공합니다.

참조 예제에는 씬 세트가 함께 제공됩니다. 이러한 샘플 씬은 다양한 카테고리로 나뉩니다.

  • 게임 씬은 모든 게임(시작, 메뉴 및 게임 플레이)에서 볼 수 있는 핵심 씬입니다.
  • UI 씬은 게임 메뉴, 게임 오버레이(예: HUD) 및 로드 관련 씬(페이딩 및 애니메이션)입니다.
  • 테스트 씬은 게임 플레이의 특정 측면(이동, 상호작용 및 촬영)을 테스트하기 위해 세분화된 씬입니다.
  • 씬 프로파일링은 게임의 성능을 테스트하고 평가하기 위해 만들어집니다.

모든 씬은 Assets/FPS/Scenes에서 확인할 수 있습니다.

게임 씬

모든 게임 씬들은 독립형 오프라인 모드(메뉴 로드 없이 직접 실행)에서 플레이할 수 있습니다.

  • Startup: 로드 시간이 가장 빠른 초기 씬입니다. 스플래시 화면을 표시하고 게임을 읽을 수 있습니다(하위 시스템 초기화, 플레이어 로그인 등).
  • Menu: 기본 메뉴 씬
  • Deathmatch: 간단한 데스매치 기능이 있는 기본 게임 씬

UI 씬

UI 씬은 항상 메뉴/게임플레이 씬 뒤에 추가 로드됩니다.

fps template scene flow diagram
FPS 템플릿 씬 흐름 그림
  • MenuUI: 메뉴 씬의 UI가 있는 씬.
  • GameplayUI: 게임 씬의 UI를 가지고 있는 씬.
  • FadeLoading: 메뉴와 게임 플레이를 전환할 때 컬러 페이더가 활성화된 씬
  • AnimationLoading: 메뉴 전환과 게임 플레이 사이에 이미지 애니메이션이 활성화된 씬입니다.

테스팅 씬

PLAYGROUND 접두사가 있는 모든 씬은 게임 플레이 테스트를 위한 씬입니다.

  • PLAYGROUND_Movement: 이동 동작(미끄러지기, 계단, 표면, 이동 플랫폼 등)을 테스트하기 위한 씬.
  • PLAYGROUND_Interactions)_: 상호 작용을 테스트하는 씬(버튼, 도어, 힐 영역 등).
  • PLAYGROUND_Shooting:무기와 발사 테스트용 씬.

프로파일링 씬

접두사가 PROFILING 인 씬은 특정 상황에서 게임을 스트레스 테스트하고 에뮬 레이팅 하는 것을 목적으로 합니다.

  • PROFILING_Simple: 저성능 모바일 장치를 프로파일링.
  • PROFILING_Medium: 더 많은 플레이어와 엔티티를 프로파일링.
  • PROFILING_Heavy: 많은 수의 플레이어와 엔티티를 프로파일링.

엔티티

참조 예제에는 여러 유형의 엔티티가 포함되며, 각각 고유한 동작과 독립적인 설정이 있습니다. 이러한 예제 엔티티에 대한 EntityPrototypes은 Assets/Resources/DB/FPS/Prefabs에서 찾을 수 있습니다.

포함되어 있는 엔티티 예제는 다음과 같습니다:

  • 1명의 플레이 가능한 캐릭터 (사람)
  • 1마리의 NPC (거미)
  • 3개의 유일한 무기와 발사체
  • 4개의 유일한 능력: 대시, 장치, 수류탄, 텔레포트
  • 4개의 장착: 체력, 방어, 무기, 갑옷
  • 상호작용할 수 있는 버튼/토글
  • 텔레포터
  • 지뢰
  • 제어할 수 있는 회전 포탑
  • 움직이는 객체
  • 파괴할 수 있는 객체
  • 물리 방해물
  • 피해 영역
  • 치유 영역
  • 킬링 플로어
  • 폭발
  • 스폰 지점
  • 스폰 영역
  • 웨이포인트
  • 점프 패드
  • 공수 작전

게임플레이 기능

참조 예제에는 다음과 같은 게임 기능이 포함됩니다:

  • 1 게임플레이 모드: 데쓰매치
  • 5 AI 난이도:
    • 아주 쉬움
    • 쉬움
    • 보통
    • 어려움
    • 악몽
  • 5 개 속성:
    • 피해
    • 치료
    • 속도
    • 방어력
    • 치명타
  • 다음과 같은 다양한 게임 메커니즘
    • 자동 재 로드
    • 자동 사격
Back to top