Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Help  Obi Rope Collisions
#1
Hi,

I realize that I may be beating a dead horse here, but I have read through some of the forums about my current issue but I have been unable to get this working.

I am currently working on a VR project that teaches med student on how to use a defibrillator. This entails using ropes (Obi Rope) to connect various plugs and pads that would connect to the defibrillator. That said, all of my cables go straight through, well everything, and this is with Surface-based collisions checked. All of these objects have colliders and Obi Colliders attached to them. I have played with the settings of the Obi Solver as well as the rope blueprints with no success. I have also tried to change the Fixed Timestep for tunneling with no change in the ropes behavior. If anything changing this makes the ropes behavior erratic.

I am happy to share the project file if that will help.

On another note, I am also trying to stitch two ropes together and I am sorry to say, this looks bad lol. I am trying to have them stitch together at a specific point. I am using the Obi Stitcher script. If I do not add a stitch count then nothing happens at all. If I add a stitch then they connect but not how I would like to see them attach. Thoughts?

Thanks in advance.

[attachment=1674][attachment=1672][attachment=1673][attachment=1671][attachment=1670]
Reply
#2
(08-02-2023, 05:11 PM)JohnnyCircuits Wrote: Hi,

I realize that I may be beating a dead horse here, but I have read through some of the forums about my current issue but I have been unable to get this working.

I am currently working on a VR project that teaches med student on how to use a defibrillator. This entails using ropes (Obi Rope) to connect various plugs and pads that would connect to the defibrillator. That said, all of my cables go straight through, well everything, and this is with Surface-based collisions checked. All of these objects have colliders and Obi Colliders attached to them. I have played with the settings of the Obi Solver as well as the rope blueprints with no success.

Hi!

Your solver's MaxDepenetration parameter is set to 0.01. This means particles are only allowed to modify their velocity by up to 1 centimeter/second in response to a collision, which is so little that in practice they won't react to collisions in any noticeable way. The default value for this parameter is 10, most useful values for it are in that ballpark unless you're going for a special effect (for instance, very low values like 0.5 can be used to mimic buoyancy in an large box collider).

(08-02-2023, 05:11 PM)JohnnyCircuits Wrote: On another note, I am also trying to stitch two ropes together and I am sorry to say, this looks bad lol. I am trying to have them stitch together at a specific point. I am using the Obi Stitcher script. If I do not add a stitch count then nothing happens at all.

This is completely normal: the stitcher component allows you to stitch together the particle pairs you're interested in being stitched. If you don't add any stitches, it stands to reason that no stitching will take place.

Also note that stitching particles together does not disable collision detection between them, so unless particle collisions are disabled or collision filters specifically forbid collisions between these specific particles, they will still collide with each other.

(08-02-2023, 05:11 PM)JohnnyCircuits Wrote: If I add a stitch then they connect but not how I would like to see them attach. Thoughts?

A stitch just makes sure that the position of the 2 particles involved is the same.
How would you like to see them attach, exactly? It's hard to give any pointers/recommendations without any indication of what the intended result is.

As a side note, there's a warning in your ObiSolver stating that you haven't installed Burst (or some of the other required packages). This will severely limit the platforms your project can target and will also negatively affect performance, unless its not possible for some reason it's recommended you use the Burst backend:
http://obi.virtualmethodstudio.com/manua...kends.html

kind regards,
Reply
#3
Hi Jose,

Thank you for the reply. I was able to update the backend, so thank you for that bit of information. I will test the Max Depenetration setting and see what results I get.

As for the two cables being stitched together. If you look at the updated screenshots, I am trying to have the one open ended cable connect to the other cable on its center point (where it curves). If I use an empty game object to try and connect them, the cable floats in mid air and never falls, and sometimes that happens even without the empty gameobject. Is there a way to edit where the Stitch goes?

You mentioned that collisions should be disabled, I have Self Collisions disabled but not Surface Based Collisions. Should both be disabled on both cables?

Thanks in advance.

               
Reply
#4
(10-02-2023, 03:37 PM)JohnnyCircuits Wrote: As for the two cables being stitched together. If you look at the updated screenshots, I am trying to have the one open ended cable connect to the other cable on its center point (where it curves). If I use an empty game object to try and connect them, the cable floats in mid air and never falls, and sometimes that happens even without the empty gameobject.

Hi!

If the object they're attached to is not a dynamic rigidbody, or the attachment is not dynamic -but static-  the cable will indeed float in mid air, that's the intended result. You need the object to be a rigidbody, and the attachment to be dynamic (see: http://obi.virtualmethodstudio.com/manua...ments.html)

Nevertheless, using stitches is a simpler way to do this.

(10-02-2023, 03:37 PM)JohnnyCircuits Wrote: Is there a way to edit where the Stitch goes?

Of course, when you click "Edit" in the stitcher component, a couple square gizmos joined by a dashed line will appear. This is the sewing tool (you need to have "Gizmos" enabled in your scene view for it to be visible, just like any other gizmo in Unity):

[Image: sb6CDve.png]

You can move it anywhere in the scene by clicking and dragging the square ends. You can also make it snap to nearby geometry vertices using the "V" key, just like any other positional gizmo in Unity. Upon clicking "Add Stitch", a new stitch will be added between the two particles closest to the ends of the sewing gizmo, and appear as a green dashed line joining the stitched particles.

You can click to select individual stitches, and remove them by clicking "Remove selected stitches" in the stitcher component.

(10-02-2023, 03:37 PM)JohnnyCircuits Wrote: You mentioned that collisions should be disabled, I have Self Collisions disabled but not Surface Based Collisions. Should both be disabled on both cables?

Not disabled as in globally disabled for the entire rope, you should use collision filtering (categories and masks) to disable collisions between these specific particles only. You can set filters on a per-control point basis using the path editor.

For details regarding how filtering works, see: http://obi.virtualmethodstudio.com/manua...sions.html

kind regards,
Reply