查看: 3803|回复: 12

如何osgBullet做碰撞检测?

[复制链接]

该用户从未签到

发表于 2010-5-19 16:02:40 | 显示全部楼层 |阅读模式
本帖最后由 Gooogle 于 2010-5-19 16:09 编辑

osgBullet我已经编译过了,其中包括osgBullet,bullet2.7.5,osgworks,现在就是我想做碰撞检测,但是看了其中的几个例子的代码,还是觉得写不出来。。。。比如说,我想那一个模型放在一个地形上,然后这时候怎么去获得这个模型的姿态角呢?然后在设置模型,达到与地形匹配的目的
有做过相关的高人,给指点一下吧。。。3Q。。有相关的资料也可以给推荐一下。。。

该用户从未签到

发表于 2010-5-19 16:11:17 | 显示全部楼层
我个人并没有深入研究过osgBullet,不过我想“获得这个模型的姿态角”并不是碰撞检测的范畴,这只需要计算MatrixTransform节点的角度值就可以了

该用户从未签到

 楼主| 发表于 2010-5-19 16:25:55 | 显示全部楼层
本帖最后由 Gooogle 于 2010-5-19 16:33 编辑
我个人并没有深入研究过osgBullet,不过我想“获得这个模型的姿态角”并不是碰撞检测的范畴,这只需要计算MatrixTransform节点的角度值就可以了
array 发表于 2010-5-19 16:11
Array老大,我是想这个模型要和地形匹配,模型在地形上运动时,实时的去计算,应该是先获得它的姿态角的各个值,然后在去设置这个模型的姿态,然后才显示出来模型与地形比较匹配,现在是,这个姿态角的各个值,怎么去计算呢?这个需要我自己去计算么?我现在的做法是,用模型的中心点,然后在那个位置坐一条射线,这个时候就能求出来与地形的交点,然后把模型放上去,当模型运动的时候,我把当前点和之前的一点delta-Z与delta-Y进行比求atan,然后设置一下模型的俯仰角。。但是倾侧角怎么求呢?

该用户从未签到

 楼主| 发表于 2010-5-19 16:38:37 | 显示全部楼层
现在这种情况,就是我的这个需求,没有必要用物理引擎么?还是?我是想做地形的匹配。。。其中肯定得有碰撞检测啊。。。求继续给予指点。。

该用户从未签到

发表于 2010-5-19 17:14:32 | 显示全部楼层
用物理引擎来完成碰撞检测,这个无可置疑。不过计算姿态角度显然是自己来完成的,读取MatrixTransform节点中记录的旋转值并转换为自己需要的信息就可以了

该用户从未签到

发表于 2010-7-8 10:34:10 | 显示全部楼层
获得和该渲染模型对应的物理模型btRigidBody, btRigidBody的方法getCenterOfMassPosition可以获得该刚体当前位置 (btVector3) ,方法getOrientation可以获得刚体的姿态(btQuaternion)。bullet里面的刚体的motionState的成员 btTransform可以对应osg中渲染模型的 PAT,也可以从那里面获得pos,rot。没有研究过osgBullet,以上是osg里面应用bullet的做法。仅供参考

该用户从未签到

发表于 2010-8-28 11:25:45 | 显示全部楼层
楼上的说的不错。用物理引擎做碰撞检测关键是要使得其与渲染引擎完美结合,物理世界中的物体的位置和姿态要实时的传给渲染引擎实现可视化。前几天用osg结合osgbullet、bullet做了个碰撞检测的漫游器,参考bullet中的例子,实现了上楼下楼等。

该用户从未签到

发表于 2010-8-28 18:32:18 | 显示全部楼层
PhysX中的做法是先获得Actor的4*4矩阵,然后在根据要求取出各元素,再应用到OSG模型中就可以了,我想物理引擎与OSG结合的思路都是这样吧,供参考

该用户从未签到

发表于 2011-3-20 16:23:52 | 显示全部楼层
回复 1# Gooogle

请教Osgbullet编译问题

该用户从未签到

发表于 2011-3-21 09:47:32 | 显示全部楼层
了解不少~

该用户从未签到

发表于 2012-6-25 15:18:00 | 显示全部楼层
FT271965687 发表于 2010-8-28 11:25
楼上的说的不错。用物理引擎做碰撞检测关键是要使得其与渲染引擎完美结合,物理世界中的物体的位置和姿态要 ...

请问能共享一份吗

该用户从未签到

发表于 2012-6-25 21:19:04 | 显示全部楼层
用这个跟自带的碰撞监测有啥区别吗? 我有空想做一个相关的东西
求教

该用户从未签到

发表于 2013-9-1 16:39:12 | 显示全部楼层
请问这个模型随着地形不同改变姿态角的功能做出来没?使用osgBullet做的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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