查看: 1065|回复: 1

osg拾取想问题

[复制链接]

该用户从未签到

发表于 2016-11-25 10:25:01 | 显示全部楼层 |阅读模式
在场景中,我使用的是名字拾取的方式:  m_pView->computeIntersections(x, y, intersections)

当场景中有大量对象的时候,拾取时会crash:
Debug Assertion Failed!
Expression:vector iterator not incrementable
该问题貌似是在做射线求交时,场景中模型太多引起的。

有没有办法让osg::Node不参与Pick?
用osg::MatrixTransform* pMatTrans1;
   osg::MatrixTransform* pMatTrans2;
   osg::Node *pNode;
   pMatTrans1->addChild(pNode);
   pMatTrans2->addChild(pNode);
用上述代码在Pick的时候是一个对象还是两个对象呢?

该用户从未签到

发表于 2016-11-26 16:01:33 | 显示全部楼层
显然是两个对象,pMatTrans1和pMatTrans2的位置不一样,下面的node拾取状态肯定也不一样。参与不参与pick可以设置nodemask来过滤。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表