使用旋转关节打破绳索

问题描述:

我正在研究绳索物理。我已经使用Revolute关节实现了一条绳索..使用旋转关节打破绳索

我正在用绳索连接动态物体(通过b2RevoluteJoints).i成功创建它。现在我还在绳索的末端附加了一个动态物体。 &我将这根绳子向下释放,现在不知何故,我的动态绳索体之间的关节被拉长,然后断开,我想我的绳子看起来更平滑。

我的关节都是这样

b2RevoluteJointDef revoluteJointDef; 
revoluteJointDef.bodyA = referenceBody;//provided by testbed 
revoluteJointDef.bodyB = lastLink; 
revoluteJointDef.localAnchorA = startPos;//world coords, because m_groundBody is at (0,0) 
revoluteJointDef.localAnchorB.Set(0,0);//center of circle 
world->CreateJoint(&revoluteJointDef); 


revoluteJointDef.bodyA = lastLink;//the last added link of the chain 
revoluteJointDef.bodyB = chainBase; 
revoluteJointDef.localAnchorA.Set(0,linkWidth);//the regular position for chain link joints 
revoluteJointDef.localAnchorB.Set(0,linkWidth);//a little in from the edge of the circle 
world->CreateJoint(&revoluteJointDef); 

有没有什么办法让强关节?

我们可以通过在世界的重力作用于身体的密度?

请帮助.....

+0

粗略地说,有多少个旋转关节?在一个单一的绳 – IronMan

+0

hmmmm大约30转动关节&2条绳索ř有..两个绳索具有groundbody一端(grond的上缘)&另一端安装有一个动态b2body挂在世界。 –

+0

绳索末端的身体多么密集和多大? –

我有一个类似的问题(但摆动绳子结束较大的物体的离心力)。为了解决断链/绳索的问题,您需要使较大的物体较不密集,但这会引发一个敲门问题 - 现在,您的“较大”动态物体被绳索正确保持,但不会与其他物体世界应该如此。

为了解决这个问题,我做了一件有点哈克和执行将适用冲突的冲动,我的较大物体相撞就好像它是更重的东西我自己的冲突处理。所以......

  • 让你的对象绳子极低密度的末尾,以便绳持有
  • 实现一些补充碰撞处理程序为对象,以使它看起来像你的对象是更密集到其他对象(传感器= true也可以帮助这一点)。

它不是严格物理模拟器的精神,我们应该能够设置参数我们,让规则照顾一切 - 基本上这将是很好,如果转动关节是牢不可破的。