本页介绍了构建导航网格的第三阶段,即生成表示源几何体的可穿越表面(traversable surface area)的简单多边形(凸多边形和凹多边形)。轮廓仍然以体素空间为单位表示,但这是从体素空间回到向量空间的第一步。
源数据类:OpenHeightfield
构建器类:ContourSetBuilder
数据类:ContourSet 和 Contour
如果您需要了解此阶段执行的操作,请回顾处理过程概览。
搜索区域边缘(Region Edges)
从开放高度场结构转向轮廓结构时,最大的概念变化是从关注span的表面(surface)转变为关注span的边(edges)。
对于轮廓,我们关心span的边。 有两种类型的边:区域边和内部边(region and internal)。 区域边是其邻居位于另一个区域中的span的边。 内部边是其邻居在同一区域中的span的边。
为了便于可视化,接下来的几个示例仅处理 2D,稍后我们将回到 3D。
在此步骤中,我们希望将边分类为区域边或内部边。这些信息很容易找到。我们遍历所有span,对于每个span,我们检查所有轴邻居,如果轴邻居与当前span不在同一区域中,则该边将被标记为区域边。