다시 구성할 섹터 선택

지세에 다중 섹터가 있으면 런타임 시 이러한 섹터가 연결될 수 있도록 NavData 생성 시스템을 실행할 때마다 항상 모든 섹터에 대한 삼각형을 전달해야 합니다. 하지만 한 섹터에서만 형상이 변경될 경우 전체 표준에 대해 NavData를 다시 구성하지 않고 변경된 섹터와 그 주변 간에 변경된 섹터 및 겹침에 대해서만 NavData를 다시 구성할 수 있습니다.

마찬가지로, 협업 워크플로우 및 자산 버전 지정을 사용하는 프로덕션 환경에서는 특정 섹터가 겹치는 일부 NavData가 잠길 수 있습니다. 이 제약 조건이 지정된 섹터를 다시 구성해야 할 수 있습니다.

Gameware Navigation 데이터 생성 시스템은 이러한 시나리오를 완벽하게 지원합니다. NavData 생성 시스템의 API를 직접 사용할 경우 인접 섹터와 겹치는 형상만 고려하도록 다시 생성하고 다시 로드해야 하는 섹터를 손쉽게 구성할 수 있습니다. 이 프로세스에서 Generator는 섹터에 대한 삼각형을 제공하기 위해 마지막 생성이 실행되는 동안 만들어진 .ClientInput에서 직접 또는 GeneratorInputProducer를 호출하여 변경되지 않은 섹터에 대한 입력 데이터를 읽습니다.

다시 구성할 섹터 표시

GeneratorInputOutput에서 유지되는 목록에 있는 각 GeneratorSector의 경우 두 개의 플래그를 설정하여 다시 구성 프로세스를 제어할 수 있습니다.

일반 워크플로우

반복 다시 구성을 위한 일반 시나리오는 다음과 같습니다.

  1. 게임의 모든 섹터 목록이 정의됩니다.
  2. 이 목록은 모든 섹터에서 실행되는 전체 생성을 정의하는 GeneratorInputOutput 오브젝트를 만드는 데 사용됩니다. 이는 .GenIO 파일에 저장될 수 있으며 이러한 섹터와 연관된 여러 레벨을 책임 지는 모든 사람에게 공유됩니다.
  3. 특정 섹터를 담당하는 모든 사람은 이 .GenIO 파일을 GeneratorInputOutput으로 로드할 수 있으며 이전 섹션에서 설명한 대로 다시 구성하려는 섹터에 플래그를 지정할 수 있습니다.
  4. 다시 구성할 섹터에 플래그를 지정하고 연관된 NavData에 대해 쓰기 권한 및 모든 인접한 섹터의 입력 데이터에 대해 읽기 권한이 있으면 수정된 GeneratorInputOutput을 통해 생성이 실행될 수 있습니다.
  5. 겹치는 섹터의 데이터가 최신 버전이 되도록 모든 섹터에서 주기적인 전체 다시 구성이 수행됩니다. 자세한 내용은 다음 섹션을 참조하십시오. 이렇게 하려면 모든 입력 파일에 대한 읽기 액세스 권한 및 모든 출력 .NavData 파일에 대한 쓰기 액세스 권한이 필요합니다. 일반적으로 이러한 전체 다시 구성은 자동 야간 구성 프레임워크에서 쉽게 통합될 수 있습니다.

겹침 데이터 관리

개별 섹터를 다시 구성하는 기능은 주로 더 큰 지세의 정의된 섹터 내에서 작업하는 레벨 디자이너가 주변 섹터를 수정하지 않고도 항상 제어 대상 영역에 대한 NavData를 생성할 수 있도록 하기 위한 것입니다. 이를 통해 재생 테스트에서 항상 지세에 대한 최신 변경 사항을 반영할 수 있습니다.

하지만 이 시나리오에서는 다른 섹터와 겹치는 영역이 최신 상태가 아닐 수도 있습니다. 겹치는 영역에 대한 NavData는 겹치는 섹터 중 하나에 유지될 수 있으므로 동일 생성 실행에서 겹치는 모든 섹터에 대한 NavData를 생성할 경우에만 영역이 업데이트됩니다.

런타임 시 항상 봇이 섹터 경계를 적절히 교차할 수 있게 하려면 프로덕션 버전의 게임에서 NavData를 사용하기 전이나 섹터 경계가 관련된 재생 테스트를 수행하기 전에 단일 생성 실행에서 모든 섹터에 대한 NavData를 항상 함께 다시 구성해야 합니다.