生成 NavData

Gameware Navigation SDK 包含可以自动从地形网格生成 NavData 的工具。这些工具提供了若干不同的工作流,您可以选择其一来生成 NavData,以下各个部分将对此进行概要介绍。

这些不同的工作流是等效的,因为它们最终都使用相同的代码和库来生成 NavData,并且它们生成的 NavData 具有相同的特性。您可以选择最适合您的制作管线和您使用 Gameware Navigation 的期望方式的方法。

使用 Navigation Lab

单机版 Navigation Lab 提供了一种可视的交互工具,用于生成和可视化您的 NavData。

使用 Navigation Lab,您可以执行以下操作:

由于 Navigation Lab 可对生成的 NavData 提供即时反馈,因此建议您在初始评估期间使用这种 NavData 生成方法。有关逐步操作教程,请参见集成阶段 2:生成第一个 NavData

但是,由于通过 Navigation Lab 生成 NavData 需要人为干预,因此,随着您将 Gameware Navigation 更深入地集成到您的生产管线中,您可能会使用如下所述的某个其他工具而放弃该工具。

使用 NavGenLauncher 工具

NavGenLauncher 工具是一个命令行工具,用于直接从名为 .navgenproj 文件(该文件指定输入 .obj 文件和其他配置参数)的 XML 配置文件生成 NavData。

可以通过脚本使用 NavGenLauncher,也可以通过您自己的编辑器或自定义工具进行调用。例如,使用 Navigation Lab 生成 NavData 时,会透明地调用 NavGenLauncher 工具来执行实际生成。因此,NavGenLauncher 支持的功能与 Navigation Lab 相同,但它不通过直观界面提供输入,而是在命令行或输入配置文件中提供。

这种生成 NavData 的命令行方法可能适用于必须定期批量生成大型几何体数据集的生产管线,如通过每夜构建脚本。但是,由于 NavGenLauncher 工具是通用工具,主要使用 .obj 格式的输入几何体,并且不具有 NavData 生成框架的所有可能性,因此您可能希望创建自己的类似自定义工具来直接调用 NavData 生成 API。

有关如何使用 NavGenLauncher 以及您可以提供的输入文件的详细信息,请参见NavGenLauncher

直接使用 NavData 生成 API

预计大多数客户都希望直接使用 NavData 生成框架的 API。这种方法提供了上面列出的独立工具的所有可能性,而且:

大多数使用 Gameware Navigation 的项目很快会遇到以下问题:单机版 NavData 生成工具的简便性优势被管理大型几何体数据集的困难所掩盖。此时假定您会将 NavData 生成框架集成到自己的关卡编辑工具或自定义应用程序中。但是,这一步骤并非完全必要;您可以在生产循环的任意时间切换到该方法,而如果习惯使用独立工具,则完全可以不切换。

有关演示如何将 NavData 生成框架首次集成到您的游戏编辑器或自定义工具的教程,请参见集成阶段 6:使用 NavData 生成 API。有关说明其他用途或功能(例如 PointGraph 生成和迭代重建)的代码示例,请参见示例