抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

自制NavMesh2D(四)

图源:https://www.pixiv.net/artworks/83559708在有了一个简单的NavMesh后,开始回到第一步,构建多边形。 根据sprite顶点生成由于是基于2D所制作的,所以我在这没有选择“光栅化”去获取边界,而是直接拿到sprite的顶点信息,甚至直接拿到三角形的信息,通过给其标记为寻路网格或者障碍物来控制多边形的合成(偷个懒)。 例如对于一个默认的长方形sp...

自制NavMesh2D(三)

图源:https://www.pixiv.net/artworks/85447522 对三角形进行A*寻路在获得具体路径之前,需要知道走过了哪些三角形,只有知道需要经过哪些三角形才能进行接下来的路径规划,而一般这步操作是由A*算法来进行的。 在常见情况下,A*往往是对二维网格进行操作。 那么如果要在不规则的三角形集合中进行A寻路,看上去似乎有很大不同,但其实本质是一样的,在(二)中,为...

自制NavMesh2D(二)

图源:https://www.pixiv.net/artworks/85217491 根据上面的学习,能够大致了解一个NavMesh2D的制作流程了,所以接下来就是上手实践。在此参考了Unity3D架构设计NavMesh寻路的设计。 根据顶点生成多边形由于所制作的为纯2D,是可以由sprite的顶点信息获取边缘信息的,所以在此我想先跳过光栅化的阶段,先行从多边形生成开始。 在此需要制定多...

自制NavMesh2D(一)

图源:https://www.pixiv.net/artworks/84705376 网格构建三角形剖分三角形剖分的方法有好几种例如Delaunay三角剖分算法 123451.除了端点,三角形的边不包含其他任何点。2.除了在点上的连接,没有任何一条边是相交的。3.所有的面都是三角形,且所有三角形的合集是所有点集合的凸包。 但是这个方法里的几种算法都只适合于凸多边形,而真实情况则是会出现...

NavMesh

NavMesh 生成 首先对地图进行栅格化(分成一个个小格),然后就可以根据栅格化的地图获取到内边缘 接下来对边缘进行简化首先找到两个点连线得到简化的边缘 然后找到距离该线最远的点,加入顶点集合中重复该过程,直到所有不在简化轮廓集合中的点距离简化的边缘距离都小于某阈值。 由于角色体型不同时,路径应该不同,在提取地图区域边缘时,向内多取一个角色体型半径生成特殊的寻路地图(即每种半径生成一个寻路...