KBEngine官方论坛

 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 配置 开服
查看: 1858|回复: 2

recastnavigation dtNavMeshQuery::findNearestPoly fail

[复制链接]

7

主题

14

帖子

98

积分

注册会员

Rank: 2

积分
98
发表于 2015-7-7 12:19:16 | 显示全部楼层 |阅读模式
我在使用recastnavigation lib来做服务端寻路时候,采用了kbegine优化后的.navmesh文件。在寻路的时候,有概率出现findNearestPoly得到一个无效的dtPolyRef(0),而这个点的数据,是由findRandomPointAroundCircle函数取得的,代码如下:
        dtStatus status = m_navQuery->findRandomPointAroundCircle(startRef, startPos, radius, &m_filter, frand, &ref, pt);
        Log::d("ref:%d,(%.2f,%.2f,%.2f)\n",ref,pt[0],pt[1],pt[2]);
        if (dtStatusSucceed(status))
        {
            Position3D pos;
            pos.x = pt[0];
            pos.y = pt[1];
            pos.z = pt[2];
            points.push_back(pos);
            successNum++;
        }
dtStatusSucceed为true,dtPolyRef为有效值,打印日志如下:ref:1,(1120.46,74.80,732.04)
可是用这个点去寻路时却得到一个无效的dtPolyRef,代码如下:
    float spos[3];
    dtVset(spos, start.x, start.y, start.z);

    float epos[3];
    dtVset(epos, end.x, end.y, end.z);

    dtPolyRef startRef;
    dtPolyRef endRef;
    m_navQuery->findNearestPoly(spos, extents, &m_filter, &startRef, 0);
    m_navQuery->findNearestPoly(epos, extents, &m_filter, &endRef, 0);

    if (!startRef || !endRef)
    {
        Log::e("NavMeshHandle::findStraightPath(): Could not find any nearby poly(start:%d,end:%d), id:%d\n", startRef, endRef, m_Id);
        return NAV_ERROR_NEAREST_POLY;

    }
Error: NavMeshHandle::findStraightPath(): Could not find any nearby poly(start:1,end:0), id:1101
Assert:Nav find path error.start(1258.60,38.60,544.30),end(1120.46,74.80,732.04).

明明是有效的点,可是在findNearestPoly却得到无效的dtPolyRef,很奇怪,有人遇到么,求大神援助。
注明:此.navmesh文件是由kbegine提供的critterAI插件方法导出的,导出过程没有产生错误。

回复

使用道具 举报

30

主题

7138

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
16457
QQ
发表于 2015-7-7 13:19:55 | 显示全部楼层
1: 你可以将错误描述提交到作者, issue
2:你可以更新最新的recastnavigation试试

https://github.com/memononen/recastnavigation
热爱游戏、热爱开源!
柯标
3603661@qq.com

柯标
3603661@qq.com
回复

使用道具 举报

0

主题

1

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2018-8-23 16:14:02 | 显示全部楼层
你好  请问 你这个问题之后怎么解决的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|KBEngine Forum

GMT+8, 2018-12-10 19:52 , Processed in 0.049477 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表