NavData 后期处理

通过 Gameware Navigation 数据生成系统的 API,可在生成结束时访问每个地块的 NavData,以进行需要对项目执行的任何自定义后期处理。

这种后期处理阶段的典型用途是为地形生成 NavGraph,然后以打包数据生成系统自动创建的 NavMesh 的相同方式在资产管线中进行打包。请参见创建 NavGraph

如果需要,还可以执行其他后期处理步骤,包括访问或查询刚刚创建的 NavData。

访问生成的 NavData

成功调用 Generator::Generate() 后,用于设置生成运行的 GeneratorInputOutput 对象还包含对生成的 NavData 的参考。

要为特定地块检索此数据,必须访问特定的 GeneratorSector。可通过以下两种方法实现:

当您有权访问地块时,可通过调用 GeneratorSector::GetNavData() 检索其 NavData。请注意,在以下情况下,该方法将返回 KY_NULL

请注意,此 NavData 尚未添加到任何数据库。如果想要对 NavMesh 运行查询,必须创建一个世界,通过调用 NavData::Initialize() 将 NavData 与该世界中的数据库相连接,然后通过调用 NavData::AddToDatabaseImmediate() 进行添加。

示例

有关显示如何使用后期处理创建 NavGraph 的代码示例,请参见 Tutorial_Generation_postProcess.cpp 文件。