4
人们将如何为3D世界生成导航网格?
我正在尝试找到此问题的解决方案。我正在尝试以一种锁定为x,y地板坐标的顶点网格的形式构建导航网格,并以3D空间的正方形的形状。但是我在尝试找出解决方法时遇到了问题。 我尝试查看Recast库。这是一种非常健壮的方法,但是随着较大的地图和开放空间,它显然会变慢。我也不知道它们如何通过高度图为世界空间生成顶点和边缘。 我的下一个想法是做虚幻引擎3曾经做过的事情。 https://udn.epicgames.com/Three/NavigationMeshReference.html 使用光线投射生成网格。我不知道如何停止射线广播。 所以...我的下一个选择是包装盒,可能是包装盒。创建一个细分的体积,其大小为2的幂。将框与网格对齐,然后向下射矩形棱镜作为射线。如果它落在作为地面一部分的几何图形上,并且矩形未相交,则在此处保留正方形。并继续向下直到达到音量范围。为了检查是否需要链接边,我想我可以检查一下两对顶点之间的坡度是否在可行走坡度之内,如果为真,请合并它们。 我的主要问题是...这似乎不是最佳选择。不用考虑,多层过程的估计过程为O(N ^ 3)。哪个会变得很讨厌。 最后一点是用于自动创建这些正方形的矩形组。我不太确定该怎么做。虚幻实现通过斜率将它们分开。但是,我试图保持网格格式。因此,这并非完全必要。问题仍然在于创建较大的矩形图块以将路径查找过程拆分为每个图块的基础。磁贴不能太大也不能太小。 所以问题是... 生成此网状导航网格的有效方法是什么?制作图块的好方法是什么?