This document is about: FUSION 2
SWITCH TO

샘플 프로젝트

개요

고급 KCC는 KCC가 어떻게 작동하는지 이해하고 게임 개발 과정을 가속화할 수 있도록 예시, 테스트 환경 및 편리한 코드 조각으로 가득한 전용 유니티 프로젝트를 제공합니다.

Playground
플레이 그라운드 테스트
Playground
Navmesh AI 플레이 그라운드
Playground
장애물 플레이 그라운드
Playground
환경 플레이 그라운드

샘플 프로젝트는 다운로드 섹션에서 다운로드할 수 있습니다.

기능

  • 쇼케이스 씬.
  • 능력 예제 - 대시, 스프린트.
  • 상호 작용 예 - 텔레포트, 포털, 점프 패드, 무빙 플랫폼, ...
  • AI 예 - NPC, NavMesh.
  • 확장 예제 - 프로세서, 스테이지.
  • 씬 디버깅 - 프로파일링 장면, 입력 평활.
  • 플레이 그라운드 - 계단, 경사로, 복도, 틈새, 지형.
  • 템플릿 - 복사하여 붙여 넣거나 다시 쓸 수 있는 스크립트.
  • PC/모바일/VR/게임패드 지원.
  • Photon 메뉴 통합.

샘플 제어

  • Mouse - 보기
  • W,S,A,D - 이동
  • Shift - 뛰기
  • Space - 점프
  • Tab - 대시
  • +,- - 스피트 토글
  • Enter - 커서 잠금/잠금 해제
  • Ctrl + Shift + M - 앱 일시정지/재개
  • Q,E - 부드러움 테스트용 패털티 + 룩
  • F4 - 입력 발사 전환
  • F5 - 대상 프레임 율 전환
  • F6 - 품질 전환
  • F7 - 수직 동기화 전환
  • F9 - 레코더 전환 (플레이어 위치 / 카메라 / 입력 평활)
  • F12 - 현재 씬에서 연결 해제

프로젝트 구조

  • Assets - 기본 프로젝트 폴더
    • Example - 샘플 "게임"과 관련된 모든 리소스 포함
      • 00_Showcase - 쇼 케이스 씬
      • 01_PlayerMovement - Player 컨트롤러의 다양한 구현(기본, 고급, 전문가, 탑-다운, vr)을 포함합니다)
      • 02_Features - 스프린트, 대시, 가변 표면 속도 등의 플레이어 능력 포함
      • 03_Interactions - 플레이어가 상호 작용하는 객체의 구현 - 환경, 텔레포트, 플랫폼, ...
      • 04_AI - NavMesh를 사용한 간단한 NPC 구현 및 예제 이동 내용 포함
      • 05_Extensions - 사용자 지정 프로세서/스테이지로 KCC를 확장하는 방법을 보여주는 스크립트 예시 포함
      • 06_Debug - 성능 및 입력 평활도를 테스트하기 위한 씬이 포함되어 있습니다
      • A1_Playgrounds - 콜라이더 타입/각도 조합, 탈침투 등으로 KCC 동작 테스트 전용 씬
      • A2_Templates - 부분 구현을 통해 기존 KCC 데이터 구조체를 확장하기 위한 템플릿
      • Shared - 여러 예제에서 공유하는 데이터, 일반 설정, 스크립트 관리자, 유틸리티 포함
    • Photon - Photon SDK, 추가 기능, 패키지 등의 기본 폴더
      • FusionAddons
        • KCC - 고급 KCC 애드온
      • FusionMenu - Photon 메뉴 <=> Fusion 컨트롤러 포함
      • PhotonMenu - Photon 메뉴 패키지

권장하는 학습 방식

  1. Showcase 씬을 시도해 봅니다.
  2. 상호 작용 장면(03_Interactions 폴더)을 사용해 보십시오.
  3. 01_BasicMovement에서 기본 이동 구현을 확인합니다.
  4. 02_AdvancedMovement에서 고급 이동 구현을 확인합니다.
  5. 일부 작은 기능(02_Features 폴더)와 상호 작용(03_Interactions 폴더)의 구현을 확인합니다.

이제 KCC와 어떻게 협력하고, KCC가 다른 객체(프로세서)와 어떻게 상호작용하는지, 그리고 플레이어의 행동을 어떻게 변화시키는지에 대한 기본적인 이해가 필요합니다.

  1. 콘텍스트에 대하여 더 학습하기 위해서는 아키텍쳐, 실행상호 작용에 관해 학습할 좋은 시점입니다.
  2. 03_ExpertMovement에서 일인칭 전문가 운동 구현 확인
  3. 03_ExpertMovement에서 삼인칭 전문가 운동 구현 확인

⚠️ 전문가 이동은 전체 렌더 예측, 맞춤형 입력 평활화 및 CPU, GPU 및 네트워크 스파이크와 관련된 에지 케이스를 다루는 기타 기능을 갖춘 가장 정교한 솔루션입니다.

  1. 샘플 프로젝트의 나머지 부분을 확인합니다.
  2. 더 많은 정보를 학습하기 위해서는 기능, 확장디버깅을 확인합니다.
  3. 프로젝트에 스크립트를 가져오거나 이 내용을 정리하고 게임을 만듭니다. 🚀

VR 지원

샘플 프로젝트는 Oculus 플랫폼에서 테스트됩니다(Oculus Link도 지원됨). 헤드셋에서 프로젝트를 실행하려면 다음 단계를 수행하십시오:

  1. VRMovement를 기본 씬으로 사용합니다. VR과 함께 작동하도록 구성된 유일한 씬입니다.
  2. Project Settings => XR Plug-in Management를 엽니다.
    • Initialize XR on Startup를 활성화합니다.
    • Oculus 공급자(또는 테스트할 다른 모든 공급자)를 활성화합니다.
  3. 플레이.

NVIDIA Reflex를 통한 시스템 지연 시간 테스트

적당한 하드웨어 장비로, 시스템 지연 테스트는 NVIDIA Reflex로 진행할 수 있습니다.

  1. GameplayUI 프리팹에서 NVIDIAReflex 게임 객체를 활성화합니다.
NVIDIA Reflex 지시자
NVIDIA Reflex 지시자
  1. KCC 샘플 빌드를 실행하고 전용 전체 화면 모드(F8 키)로 전환합니다.
  2. NVIDIA Reflex 지연 분석기 - 모니터링 사각형을 모니터에 설치 위치 및 크기:
    • 마우스 클릭 후 첫 번째 포워드 FixedUpdateNetwork()까지의 지연 시간을 측정하는 상위 도트(정규 동작)
    • 마우스 클릭부터 첫 번째 Render()까지의 지연 시간을 측정하기 위한 더 아래의 도트(렌더
  3. 마우스 왼쪽 버튼을 클릭하면 인디케이터가 깜박입니다.

🚀 최고의 게임 하드웨어와 결합하여 60Hz Fusion 시뮬레이션 범위의 평균 시스템 지연 시간은 약 12ms입니다. 렌더 예측을 사용하면 약 4ms까지 더 줄일 수 있습니다.

시스템 지연 비교
시스템 지연 비교

이동 분석

샘플은 프레임 단위로 이동을 분석하는 도구를 제공합니다.

⚠️ 파이썬 라이브러리가 필요하며, 디버깅 섹션에서 레코더에 대한 자세한 내용을 확인하시기 바랍니다.

  1. 게임을 시작합니다(편집기).
  2. 녹화 On/Off(F9 키)를 전환합니다.
  3. 프로젝트 루트 폴더에 새 .log 파일이 생성됩니다.
  4. Assets\Photon\FusionAddons\KCC\Utilities\RecordersCreateHTMLGraphs.py 스크립트를 루트 폴더에 복사하여 실행합니다.
  5. 그래프가 있는 새 .html 파일은 비슷한 파일 이름으로 만들어집니다.
  6. 그래프를 확인합니다.

타사 에셋

이 샘플은 타사 크리에이터들의 지원으로 가능해졌습니다. 프로젝트는 다음과 같은 에셋을 사용합니다:

Back to top