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

This post which is posted on 2017 is exactly describes my problem. I tried most of the suggested combinations but my rope is still very rubbery. I wanted to ask, is there any new solutions to this problem since 2017?

http://obi.virtualmethodstudio.com/forum...ead-6.html

The stiffness that I want to achieve is like grappling hook example, but without creating the rope every time.

Thanks in advance.
Reply
#2
This problem is inherent to all iterative physics engines, so the solutions are the same as in all engines: crank up the amount of iterations, and/or reduce the timestep.

Since 5.0 Obi allows you to divide the full timestep into smaller substeps, while performing collision detection only once for the full step. This means substepping is much cheaper than in previous versions.

You can increase the amount of substeps in the ObiFixedUpdater component. This will increase the quality of the simulation, allowing ropes to reach higher effective stiffness.
Reply
#3
Also, do not forget that (again, like in all engines) high mass ratios slow convergence down. This means that if you hang a 10 kg object from a 0.1 kg rope, it will be much more stretchy that if the rope weighted 1 kg. Try to keep you ratios below 1:10.
Reply
#4
(15-04-2020, 07:54 PM)josemendez Wrote: This problem is inherent to all iterative physics engines, so the solutions are the same as in all engines: crank up the amount of iterations, and/or reduce the timestep.

Since 5.0 Obi allows you to divide the full timestep into smaller substeps, while performing collision detection only once for the full step. This means substepping is much cheaper than in previous versions.

You can increase the amount of substeps in the ObiFixedUpdater component. This will increase the quality of the simulation, allowing ropes to reach higher effective stiffness.

I increased the substeps in the Obi Solver but I don't see any difference, is it ObiFixedUpdated?
Reply
#5
(16-04-2020, 08:52 AM)relevantname Wrote: I increased the substeps in the Obi Solver but I don't see any difference, is it ObiFixedUpdated?

What version of Obi are you using? This was included in 5.0, and the setting is found in the ObiFixedUpdater component. In old versions (4.X) it was found in ObiSolver, and it was much more expensive performance-wise as each substep performed full collision detection instead of reusing the same set of contacts over multiple substeps.
Reply
#6
(16-04-2020, 08:56 AM)josemendez Wrote: What version of Obi are you using? This was included in 5.0, and the setting is found in the ObiFixedUpdater component. In old versions (4.X) it was found in ObiSolver, and it was much more expensive performance-wise as each substep performed full collision detection instead of reusing the same set of contacts over multiple substeps.

Thank you for reply.

I'm using version 4.1. Btw, in your grappling hook example the stiffness of the rope is exactly what I want. I apply the same settings to my rope but it is not stiff like the example Triste
Reply
#7
(16-04-2020, 10:03 AM)relevantname Wrote: Thank you for reply.

I'm using version 4.1. Btw, in your grappling hook example the stiffness of the rope is exactly what I want. I apply the same settings to my rope but it is not stiff like the example Triste

By stiffness, you mean stretching stiffness or bending stiffness? Note that you can still increase either by spending more iterations in the solver (distance constraint iterations/bend constraint iterations).
Reply
#8
(16-04-2020, 10:13 AM)josemendez Wrote: By stiffness, you mean stretching stiffness or bending stiffness? Note that you can still increase either by spending more iterations in the solver (distance constraint iterations/bend constraint iterations).

I mean stretching stiffness. I increase the distance constraint to 15, it help a little but not enough.

Btw, when I increase the substeps in the solver, my rope moving strangely? (I increased it from 3 to 10)
Reply
#9
(16-04-2020, 10:38 AM)relevantname Wrote: I mean stretching stiffness. I increase the distance constraint to 15, it help a little but not enough.

Make sure that your mass ratio is not too high. If you're hanging a very heavy object, try reducing its mass (or increasing the rope mass). Alternatively, you could just reduce your fixed timestep (found in Unity's Time manager).
Reply
#10
(16-04-2020, 10:39 AM)josemendez Wrote: Make sure that your mass ratio is not too high. If you're hanging a very heavy object, try reducing its mass (or increasing the rope mass). Alternatively, you could just reduce your fixed timestep (found in Unity's Time manager).

The hanging object's mass is 1 and the particle masses are 0.1. My other question is, is there a callback for tear? Thanks.
Reply