2013-07-04 2 views
0

Я работаю над физикой веревки. Я применил одну веревку, используя револьвные соединения ..Веревки разрываются с использованием револьверных соединений

Я делаю веревку, соединяющую динамические тела (через 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 веревки r там .. Оба веревки имеют один конец в основном корпусе (верхний край личинки) и другой конец, прикрепленный одним динамическим b2-корпусом, висящим в мире. –

+0

Насколько плотны и насколько велики тела на конце веревок? –

ответ

0

У меня была аналогичная проблема (но с центробежной силой раскачивается более крупного объекта в конце веревки). Чтобы решить проблему разрушающей цепи/веревки, вам нужно сделать более крупный объект менее плотным, но в этом случае возникает проблема с проблемой - теперь ваш «более крупный» динамический объект правильно удерживается веревкой, но не взаимодействует с остальной частью мир как следует.

Чтобы решить эту проблему, я сделал что-то немного взломанное и применил свой собственный обработчик столкновений, который применил бы коллизионный импульс к тому, что мой более крупный объект столкнулся, как если бы он был тяжелее. Так что ...

  • сделать свой объект в конце веревки очень низкая плотность, так что веревка держит
  • реализовать некоторые дополнительных обработчиков столкновений для вашего объекта, чтобы сделать это, кажется, как ваш объект более плотный другим объекты (sensor = true также может помочь с этим).

Это не строго в духе физического симулятора, так как мы должны быть в состоянии установить наши параметры и позволить правилам заботиться обо всем - в принципе было бы неплохо, если бы револьвные суставы были нерушимыми.