首页 > 代码库 > Recast Navigation 学习笔记(二)

Recast Navigation 学习笔记(二)

核心构建过程

http://www.critterai.org/projects/cainav/doc/html/e72bd1ee-04b0-4bbb-a21d-d8d7ecaa11af.htm

本文涵盖 NMGen 构建导航网格的核心处理过程。网格的生成处理有许多变种,但他们都包含这些步骤。

IncrementalBuilder 扩展实现了这些处理。

处理过程如下:

  1. 体素化:用源几何模型生成 "solid heightfield" 代表阻挡空间。
  2. 生成域:探测 "solid heightfield" 的上表面,把他划分成连续的空间段。
  3. 生成轮廓:探测这些区间的轮廓,把他们划分成 "simple polygons"。
  4. 生成多边形网格:将轮廓细分成凸多边形。
  5. 生成 Height Detail:三角化多边形网格并添加高度细节。

体素化:

  核心类:Heightfield

  体素化几何体是指用抽象的 heightfield 代表阻挡空间。然后这些阻挡会被剪裁掉。

  源几何体中的三角形通过 "conservative voxelization" 算法体素化。 "conservative voxelization" 算法能够将所有的三角面都包裹在它生成的体素模型中。

  体素化后,"solid heightfield" 的空间中会完全包含源几何所有的面。

    技术分享

 

Recast Navigation 学习笔记(二)