This document is about: QUANTUM 2
SWITCH TO

구성

이 페이지에는 게임을 구성하고 실행하는 데 필요한 데이터 구조가 나와 있습니다.

데이터 구조

다음 데이터 구조는 프레임워크의 기능에 필수입니다:

  • GameplayInfo: 시뮬레이션을 시작할 최종 데이터 모음, RuntimeConfig, RuntimePlayer, Map 의 참조 및 기타 추가 정보가 포함되어 있습니다.

  • GameSettings: 정적 프로젝트 구성 데이터를 포함하고 있는 ScriptableObject. extensible read-only 에셋입니다.

  • RuntimeSettings: 런타임 구성을 포함하는 정적 클래스입니다. 이 구성은 PlayerPrefs 지원 옵션인 GameSettings 기본값에서 초기화하거나 파생할 수 있습니다. 이 클래스는 확장할 수 있습니다.

  • TransientInfo: 씬 간의 데이터 공유를 위한 정적 클래스.

  • DeterministicConfig: 고 수준의 시뮬레이션, 입력 그리고 시간 구성을 포함하는 ScriptableObject. extensible read-only 에셋입니다.

  • SimulationConfig: 물리, 내비게이션과 기타 시뮬레이션 구성을 포함하고 있는 ScriptableObject.extensible read-only 에셋입니다.

  • RuntimeConfig: Map 에셋의 참조, SimulationConfig 에셋과 개발자가 정의한 기타 게임 플레이 관련 데이터를 포함. 주어진 시뮬레이션 내의 모든 플레이어들은 정확하게 동일한 RuntimeConfig를 갖고 있습니다.

  • RuntimePlayer: 플레이어별 데이터가 포함되어 있으며 각 플레이어마다 고유한 인스턴스가 있습니다.

GameplaySetup & PlayerSetup

GameplaySetup 그리고 PlayerSetup은 동적 구성 시나리오용 예제 들입니다. 두 개 모두 선택사항이며, 필요에 맞게 다시 작성되도록 되어 있습니다.

  • GameplaySetup (선택): 게임 플레이에 대한 정적 구성 데이터가 있는 데이터 구조 (봇 구성하기 위한 Map, GameplayController, PlayerSetup의 참조).
  • PlayerSetup (선택): 동적 플레이어 구성을 갖고 있는 데이터 구조 (액터, 무기, 능력의 참조).

구성 초기화

기본 구현에서는 메뉴 씬에서 발생하는 게임 구성 초기화를 위해 애플리케이션 시작 시 모든 데이터를 사용할 수 있을 것으로 예상합니다.

코드에서 동적 플레이어와 게임 플레이 구성을 할 경우 GameplayInfo 생성에 필요한 IGameplaySetupIPlayerSetup 인터페이스를 구현하는 커스텀 래퍼 스크립트가 하나 이상 필요합니다.

다음 다이어그램은 기본 또는 사용자 지정 데이터 구조를 사용하여 초기 구성에서 시뮬레이션까지의 데이터 흐름을 보여 줍니다.

fps template configuration flow
구성 흐름

지연된 구성

프로세스의 전체 또는 일부를 시뮬레이션 시작으로 연기하고 싶은 경우 TransientInfo를 선택합니다. 정보는 메뉴와 게임 씬 사이에서 데이터를 이동하는 데 사용할 수 있습니다.

fps template transient info
지연된 구성 초기화에 대한 임시 정보
Back to top