查看: 2000|回复: 13

多面体碰撞检测的实现

[复制链接]

该用户从未签到

发表于 2011-1-6 12:02:22 | 显示全部楼层 |阅读模式
劳驾各位大侠 ,小弟想请教一下多面体碰撞检测具体是怎么实现的?或者说谁有这方面的例子。急求!帮帮忙啦!能给我发份吗?我的邮箱:297111701@qq.com

该用户从未签到

发表于 2011-1-6 12:21:55 | 显示全部楼层
简单的可以用IntersectionVisitor实现,
复杂一点的可以结合物理引擎来做

该用户从未签到

 楼主| 发表于 2011-1-6 15:39:48 | 显示全部楼层
array你好,能说的详细点吗,我是个新手,望你帮帮忙!谢谢!

该用户从未签到

发表于 2011-1-6 18:18:55 | 显示全部楼层
你不是用过osgBullet么,那个不行么?你能把要解决的问题具体说下么?

该用户从未签到

 楼主| 发表于 2011-1-7 09:48:41 | 显示全部楼层
老兄谢谢你!我是前段时间用过OSGbullet当时没有走通,现在就换成这个了 ,我做的是一个手模型与外界景物的碰撞,这个手模型的运动可通过外接设备的数据驱动。总体上就是这个样子,手的驱动数据已经实现,并且能很好的控制,就是碰撞这一直走不通,还请多多指教!

该用户从未签到

发表于 2011-1-7 11:47:24 | 显示全部楼层
您不用这么客气.能否具体说下"碰撞这一直走不通"具体是指什么?

我没有怎么用过osgbullet,但看了一下你之前的帖子,array说的robot例子应该跟你所想要做的事情很类似啊,不是么?如果你要做的是软体碰撞,那么可以看看bullet本身的例子,比如SoftDemo。

该用户从未签到

 楼主| 发表于 2011-1-7 14:05:57 | 显示全部楼层
array之前说的robot例子 不能解决我的问题,关键我现在这个东西一直有一个外接设备更新数据,他的矩阵时刻在变化,bullet应该能吧。我现在只是想用多面体实现它,还望仁兄指点一二。  举个例子就是如果手指尖碰到东西是不是就是碰撞呀。怎么实现呢?用多面体。  我说的碰撞一直走不通指的是没能够实现它,用碰撞线检测倒是实现了,只是效果很差。所以想用多面体试试,在这结合了骨骼和碰撞。所以现在很发愁呀!

该用户从未签到

发表于 2011-1-7 15:22:00 | 显示全部楼层
...有一个外接设备更新数据,他的矩阵时刻在变化...我现在只是想用多面体实现它

你说的矩阵式说的模型的吧?这跟robot例子中那根柱子有什么实质的区别呢?你现在的模型不是多面体?那之前你说
手的驱动数据已经实现,并且能很好的控制
,又是什么意思呢?

..如果手指尖碰到东西是不是就是碰撞呀。
应该是的。
怎么实现呢?
如果发生了碰撞,bullet引擎自然会计算出结果的吧?不需要你去做什么呀。如果是要想得到“contact  report“,我一般用physx,没有真正用过bullet,不过你可以看一下http://www.bulletphysics.org/med ... lbacks_and_Triggers,应该就没有问题了。

所以现在很发愁呀!
别着急,虽然不是非常清楚你的问题,但感觉上你要做的东西是肯定可以实现的。另外我给你发了短消息,希望你能看一下。

该用户从未签到

 楼主| 发表于 2011-1-10 08:40:07 | 显示全部楼层
老兄首先感谢你,我最近没有上网,没有及时看到你的帖子。你说你给我发了短消息,是在QQ里发的吗?我没有收到,不知道消息内容具体是什么?还望你重新发一次,谢谢!
我说的矩阵是模型的,robot例子是两个刚体碰撞,而我觉得我这个手的模型还有点柔体。手的驱动就是外接设备控制手的变化实现了。很高兴能得到你的帮助,再次感谢你!

该用户从未签到

发表于 2011-4-25 14:35:29 | 显示全部楼层
回复 5# burong


    想请问一下 你的手使用的dof节点控制的吗?如何驱动呀

该用户从未签到

发表于 2011-4-26 08:51:36 | 显示全部楼层
楼上似乎在很多帖子里都发了是否使用DOF的问询,请不要这么做,否则我会适当删除您的回复。这里要告诉您的是,这些工作都和DOF节点没有一点关系,这个节点通常只用于Creator导出的模型(因为OpenFlgiht导出插件内部会用到),当我们自己编写程序时,基本不会用到这个节点类型,它太罕见了

该用户从未签到

发表于 2011-5-11 18:06:08 | 显示全部楼层
回复 11# array


    不好意思 array老师 好像没太明白我的意思,我是从creator中导出手的模型到osg中,里面的节点是dof节点,通过osg编程来实现这些节点的运动,这也是osg的一部分啊 只是资料很少,所以上来问问

该用户从未签到

发表于 2011-5-12 08:41:24 | 显示全部楼层
那么通过NodeVisitor找到并操作这些DOF节点就好了,相应的函数可以在头文件或者API文档中找到,都很易懂

该用户从未签到

发表于 2011-5-12 08:46:21 | 显示全部楼层
回复 13# array


    恩 已经能操作了 只是之前的资料很少 当时很迷茫 所以上来请教大家 谢谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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