使用旋转关节打破绳索
问题描述:
我正在研究绳索物理。我已经使用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);
有没有什么办法让强关节?
我们可以通过在世界的重力作用于身体的密度?
请帮助.....
答
我有一个类似的问题(但摆动绳子结束较大的物体的离心力)。为了解决断链/绳索的问题,您需要使较大的物体较不密集,但这会引发一个敲门问题 - 现在,您的“较大”动态物体被绳索正确保持,但不会与其他物体世界应该如此。
为了解决这个问题,我做了一件有点哈克和执行将适用冲突的冲动,我的较大物体相撞就好像它是更重的东西我自己的冲突处理。所以......
- 让你的对象绳子极低密度的末尾,以便绳持有
- 实现一些补充碰撞处理程序为对象,以使它看起来像你的对象是更密集到其他对象(传感器= true也可以帮助这一点)。
它不是严格物理模拟器的精神,我们应该能够设置参数我们,让规则照顾一切 - 基本上这将是很好,如果转动关节是牢不可破的。
粗略地说,有多少个旋转关节?在一个单一的绳 – IronMan
hmmmm大约30转动关节&2条绳索ř有..两个绳索具有groundbody一端(grond的上缘)&另一端安装有一个动态b2body挂在世界。 –
绳索末端的身体多么密集和多大? –