|
楼主 |
发表于 2013-12-3 16:21:43
|
显示全部楼层
我想实现提出的这种效果,又使用多边形求交器,碰撞检测总是失败,代码如下
- osg::Polytope poly;
- poly.setToBoundingBox(osg::BoundingBox(end.x()-g_dMinLen, end.x()+g_dMinLen, end.y()-g_dMinLen, end.y()+g_dMinLen, end.z()-g_dMinLen, end.z()+g_dMinLen));//end是碰撞点,g_dMinLen是几何体边长的一半
- osgUtil::PolytopeIntersector* pI = new osgUtil::PolytopeIntersector(poly);
- osgUtil::IntersectionVisitor iv(pI);
- pSub->accept(iv);//pSub是三维场景,包括房屋、地形等
- osg::Vec3d intersection;
- if (pI->containsIntersections())
- {
- return Intersect(pSub, eye, flag, dist);//不执行此函数
- }
复制代码
大神帮忙看看,是否我的思路就错了?还是代码中有问题?谢谢! |
|