Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Help  Weird Collisions
#1
I am trying to make the rope behave like a sewing thread but unable to do so. The rope levitates above the ground even though there is no thickness to the ground collider.

The rope is supposed to go through the hoops but for strange reason it doesn't touch the hoops and goes through the center of it. 

The main problem is that the rope doesn't collide with the small hoops at all.

The video recorder is here:  https://drive.google.com/drive/folders/1...sp=sharing


Attached Files Thumbnail(s)
               
Reply
#2
(02-05-2021, 04:37 PM)pritamde12 Wrote: I am trying to make the rope behave like a sewing thread but unable to do so. The rope levitates above the ground even though there is no thickness to the ground collider.

The rope is supposed to go through the hoops but for strange reason it doesn't touch the hoops and goes through the center of it. 

The main problem is that the rope doesn't collide with the small hoops at all.

The video recorder is here:  https://drive.google.com/drive/folders/1...sp=sharing

The rope seems extremely thick to me, judging from the video. Add a ObiParticleRenderer component  to it (http://obi.virtualmethodstudio.com/tutor...ering.html), to be able to see individual particles in the rope. Doing so will make the reason for this behavior apparent.

My guess is that the blueprint's thickness is set to a very high value, and you've scaled the thickness down in the renderer. This results in a physically thick rope, that is rendered as a very thin one. See:
http://obi.virtualmethodstudio.com/tutor...setup.html

Also, a distance stretching scale of 0.39 makes no sense whatsoever. Is there any reason you want your rope to shrink to 39% of its original length?
Reply
#3
(03-05-2021, 10:11 AM)josemendez Wrote: The rope seems extremely thick to me, judging from the video. Add a ObiParticleRenderer component  to it (http://obi.virtualmethodstudio.com/tutor...ering.html), to be able to see individual particles in the rope. Doing so will make the reason for this behavior apparent.

My guess is that the blueprint's thickness is set to a very high value, and you've scaled the thickness down in the renderer. This results in a physically thick rope, that is rendered as a very thin one. See:
http://obi.virtualmethodstudio.com/tutor...setup.html

Also, a distance stretching scale of 0.39 makes no sense whatsoever. Is there any reason you want your rope to shrink to 39% of its original length?

Thank you for replying. After attaching the ObiParticleRenderer, I found that the rope was physically thick. I fixed that. And then set the distance stretching to 0. But now the rope shrinks and then stretches when moved. It has stopped colliding with everything.


Here is the video: https://drive.google.com/file/d/1TQlHDKl...sp=sharing


Attached Files Thumbnail(s)
               
Reply
#4
(05-05-2021, 03:47 AM)pritamde12 Wrote: And then set the distance stretching to 0. But now the rope shrinks and then stretches when moved. It has stopped colliding with everything.

That's worse than before! Gran sonrisa You're asking the rope to shrink to 0% of its rest length: essentially, to try and collapse into a point as much as possible. You should set it to 1 (100%) in most cases.

From the manual: http://obi.virtualmethodstudio.com/tutor...aints.html

Quote:Stretching scale

This is a scale factor for the rest lenght of each constraint. The initial rest lenght of any distance constraint is a fixed value set by the ObiActor using it. You can increase this distance (making the constraints expand) by setting a scale factor > 1, or reduce it (making the constraints shrink) by using a scale factor < 1.


Most other settings in your screenshots make no sense either:

- In the solver, distance constraints relaxation is set to 0.1. That means that distance constraints will only have 10% of their full effect. However you're using 50 iterations on them, so this is basically just burning performance: you spend a lot of time enforcing constraints that are as good as deactivated, and the resulting rope will be extremely stretchy and noodle-like. Set the relaxation to 1 (100%) so that distance constraints can be fully enforced, and then you'll only need a few (3-4) iterations. From the manual: http://obi.virtualmethodstudio.com/tutor...olver.html

Quote:Relaxation Factor
Values lower than 1 will only partially enforce constraints. For instance, with a relaxation factor of 0.25 constraints will only have a 25% of their normal effect.


- Your bend compliance is set to 0.54 m/N. That's a lot. The result is that the rope will be allowed to bend so much that you won't notice any difference between using bend constraints or not, so this is also just burning performance for no good reason. Either set compliance to a smaller value (eg 0.0001) or deactivate the constraints entirely if you're not using them.

- Your rope is at maximum resolution, yet you're using surface collisions. Again, this will just make the simulation extremely costly for no reason. Either reduce your resolution (0.25-0.5 is a good range) or disable surface collisions entirely. See the "tips" section in: http://obi.virtualmethodstudio.com/tutor...sions.html

Let me know how it goes,

cheers!
Reply
#5
I changed the values as you pointed out. The length of the rope is good now. And the stretching for average hand movement speed is gone. But I wasn't able to fix the collision issue. 

Here is the video to check the collison : https://drive.google.com/file/d/1JhbcSHP...sp=sharing


Attached Files Thumbnail(s)
               
Reply
#6
(06-05-2021, 03:13 PM)pritamde12 Wrote: I changed the values as you pointed out. The length of the rope is good now. And the stretching for average hand movement speed is gone. But I wasn't able to fix the collision issue. 

Here is the video to check the collison : https://drive.google.com/file/d/1JhbcSHP...sp=sharing

Hi there,

I can't really spot any more issues with your setup, but collisions should be way more robust than they are now. There must be a problem somewhere else. What's your fixed timestep set to? (Project Settings->Time->Fixed timestep)

A side tip: don't use cube primitives to approximate a torus. Use distance fields, they're much cheaper, more robust, and will approximate the shape almost exactly. See: http://obi.virtualmethodstudio.com/tutor...ields.html
Reply