사용자 정의 NavGraph를 추가하여 사용자가 만든 NavMesh를 지형에 맞게 늘릴 수 있습니다. 이러한 NavGraph의 배치는 게임 레벨을 설계할 때 필요한 경우가 많습니다. 이 경우 NavData 생성 프로세스(일반적으로 레벨에 대한 NavMesh를 생성한 후에 수행하는 사후 처리 단계) 중에 NavGraph를 만들 수 있습니다. 그러나 런타임 시 동적으로 NavGraph를 만들고 생성할 수도 있습니다. 예를 들어 게임의 NPC가 임의의 장소로 이동할 수 있는 사다리를 사용할 수 있도록 하려는 경우 이 접근 방법을 사용해야 할 수 있습니다.
NavGraphBlobBuilder 오브젝트를 사용하여 다음과 같이 NavGraph를 작성할 수 있습니다.
여러 NavGraph를 같은 NavData 오브젝트에 추가할 수 있습니다. 그러나 NavMesh가 이미 포함되어 있는 NavData 오브젝트 또는 데이터베이스에 이미 추가된 NavData 오브젝트에는 NavGraph를 추가할 수 없습니다.
데이터 생성 프로세스의 일부로 NavGraph를 만들려는 경우 데이터 생성 시스템에서 자동으로 만든 NavData 오브젝트에 대한 작업과 동일한 방식으로 새 NavData 오브젝트를 패키징해야 합니다.
런타임 시 동적으로 NavGraph를 만들려면 사전 생성된 데이터가 포함된 NavData 오브젝트에 대한 작업과 동일한 방식으로 NavData 오브젝트를 데이터베이스에 추가하기만 하면 됩니다.
NavData::AddToDatabaseImmediate() 또는 NavData::AddToDatabaseAsync()를 호출합니다.
데이터 생성 프로세스의 사후 처리 단계 중에 NavGraph를 만드는 방법을 보여 주는 코드 예제는 Tutorial_Generation_postProcess.cpp 파일을 참조하십시오.
NavGraph를 즉시 만들고 추가하는 방법을 보여 주는 코드 예제는 Tutorial_NavTag.cpp 파일을 참조하십시오.