Obi Official Forum
Help Ropes pass through each other after collision - Printable Version

+- Obi Official Forum (https://obi.virtualmethodstudio.com/forum)
+-- Forum: Obi Users Category (https://obi.virtualmethodstudio.com/forum/forum-1.html)
+--- Forum: Obi Rope (https://obi.virtualmethodstudio.com/forum/forum-4.html)
+--- Thread: Help Ropes pass through each other after collision (/thread-3102.html)



Ropes pass through each other after collision - Ping Gao - 23-09-2021

rope pass through video link to make sure we on the same page
As the title suggest, i'm trying to make the effect of numbers of ropes nested with each other with Obi Rope version 6.2. At first, the ropes have no collisions between each other at all, i solved it by reading the FAQ by setting the collides with attribute to everything for all the control points in my rope.
[attachment=1115]
But then i discover the rope is too easily pass through each other after the collisions happened, by reading the doc, this seems is a feature. When move the ropes in the unity scene mode, rope first collide then the inner particles seems tear apart (i suspect).
[attachment=1116]
I don't want this behaviour, so i try following method which none of them solve my problem.
  1. set the mass of the control point to a larger value
  2. add more pooled particles in the rope blueprint
  3. tweak the constraints setting (collisions and distance)in the obi solver by make evaluation to parallel and set the iteration to 20 instead of 1
  4. change the collision material to some package  provided one 
Hope to get some advice on how to avoid this, Thx in advance.


RE: Ropes pass through each other after collision - josemendez - 23-09-2021

Hi there,

Tearing has nothing to do with collisions. Tearing refers to the ability of ropes to separate into multiple, smaller ropes. This can be enabled/disabled using the "Tearable" checkbox in the rope inspector. However, this is not what is seen in your video.

Ropes can pass trough each other due to a variety of reasons, the most common being not enough resolution or overstretching. This causes gaps in between particles, trough which ropes can pass trough.

To see if this is indeed the culprit, simply add a ObiParticleRenderer component (http://obi.virtualmethodstudio.com/manual/6.2/particlerendering.html) to your ropes. This will render all particles in your rope, making any collision issues obvious to the naked eye.

Ways to fix this:

1.- Spend more substeps/iterations in the simulation. The manual contains a very detailed explanation of how substeps/iterations affect the results:http://obi.virtualmethodstudio.com/manual/6.2/convergence.html

You can find the substeps setting in the ObiFixedUpdater component, and the iterations settings in the ObiSolver component.

2.- increase rope resolution, or use surface collisions (http://obi.virtualmethodstudio.com/manual/6.2/surfacecollisions.html). Increasing rope resolution will use more particles per length unit, using surface collisions will consider the entirety of the rope surface as a collider -instead of just particles-.

3.- Don't use static attachments to move the ends of the rope around. This will easily overstretch the rope. If you want the user to be able to move the ends of the rope around, you also want the rope to disallow further stretching once it's completely tense. Use rigidbodies and dynamic attachments for this, so that the rope can oppose pulling forces.