查看: 1548|回复: 5

碰撞检测交互失败……求帮助

[复制链接]

该用户从未签到

发表于 2012-3-22 19:48:30 | 显示全部楼层 |阅读模式
我在OSG中使用bullet物理引擎,但是在我交互选中对象之后我拖拽对象会与别的对象相交,并不会发生实时的碰撞检测,请问这是怎么回事?我是碰撞检测和bullet的新手,求帮助啊!!!

该用户从未签到

发表于 2012-3-22 22:33:27 | 显示全部楼层
本帖最后由 fenma3422 于 2012-3-22 22:34 编辑

你拖曳对象改变的是位置,对于物理引擎最推荐的方法是使用力和速度来控制位置而不是直接改变位置。你这个需要自己去判断,或使用碰撞报告功能来判断是否与系统中其他物体发生了碰撞,如果发生请自己去判断更改位置。

该用户从未签到

 楼主| 发表于 2012-3-25 10:01:22 | 显示全部楼层
fenma3422 发表于 2012-3-22 22:33
你拖曳对象改变的是位置,对于物理引擎最推荐的方法是使用力和速度来控制位置而不是直接改变位置。你这个需 ...

您好……首先感谢您的热心指导……
当中我有一点不明白的地方……还请您多指教……
1.所谓的碰撞报告功能怎样理解??因为我刚开始接触osgBullet,有些东西不是很了解,还请明指
2.我自己检测应该可以做到,但是怎样在检测到后更改模型的位置呢?
期待您的指教就……衷心感谢

该用户从未签到

发表于 2012-3-25 21:31:04 | 显示全部楼层
Bullet User Manual 第22页,目前我没有用到这个,而且也不知道效果怎么样。不过如果要我检测碰撞发生的话,肯定会根据那个22页写的那个方法做的。之前有看到,所以有点印象。希望对你有帮助。

模型的位置很容易得到。btRigidBody的对象有个方法可以得到Motion,然后通过Motion可以得到btTransfrom,知道了btTransform,很轻易的就可以知道位置啦。osgbCollision中提供了方法了。

该用户从未签到

 楼主| 发表于 2012-3-27 08:26:23 | 显示全部楼层
daiday 发表于 2012-3-25 21:31
Bullet User Manual 第22页,目前我没有用到这个,而且也不知道效果怎么样。不过如果要我检测碰撞发生的话, ...

您好……能给我留一个您的联系方式么……QQ之类的……想跟你讨论一下……如果方便的话……非常感谢……

该用户从未签到

 楼主| 发表于 2012-3-27 16:06:29 | 显示全部楼层
daiday 发表于 2012-3-25 21:31
Bullet User Manual 第22页,目前我没有用到这个,而且也不知道效果怎么样。不过如果要我检测碰撞发生的话, ...

collision.cpp (9.36 KB, 下载次数: 75)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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