我刚创建了一个3D景观生成器,并使一些单位与地形正确碰撞。
现在我遇到了一个问题:如果我想实现路径寻找算法,如何检测单位是否因高坡度而无法行走?
最好生成一个“斜率矩阵图”以及地形生成并使用它来计算从一个点到另一个点的路径?
非常感谢
答案 0 :(得分:0)
对于这种设置,我通常将地图划分为离散的单元格(即路径寻找节点),并且并行存储每个单元格的一组元数据。坡度是您想要存储的常见问题,但随着时间的推移,您很可能希望存储其他信息。例如,您可能希望地形类型影响移动速度,从而影响移动成本。我建议将来计划进一步的数据。
我建议设置它,以便为每个单元格提供相应元数据索引。最初它可能是每个单元格的一个元数据条目,但是一旦您使用它,您就可以压缩元数据并仅存储唯一条目。根据您的世界大小,您可能还想在空间上分解元数据(即根据需要加载和卸载它)。
在每个单元格上设置元数据和单个查找索引之后,您需要做的就是在路径查找时检索它。您可以使用它来包含/排除潜在邻居或修改成本。