Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to make crane wire behave more like steel cable (not rubber)?
#1
Hi everyone,

 I’m working on a crane system in Unity using Obi Rope, and I'm trying to make the crane wire behave more like a stiff steel cable instead of a soft, stretchy rope. I’m fairly new to Unity and real-time physics, so I’m hoping someone with more experience can give me some guidance.

Right now the rope is built from a simple blueprint with two control points: the top one is attached to the crane boom using a static particle attachment, and the bottom one is attached to the hook using a dynamic attachment (the hook has a Rigidbody and an ObiCollider). The rope length is controlled at runtime with an ObiRopeCursor to raise and lower the hook. The issue I’m facing is that the rope feels way too elastic. It behaves almost like a rubber band, stretches visually, and oscillates a lot when the crane moves. The hook swings around more than it should, and the whole system lacks the stiffness you’d expect from a real steel wire. I’m trying to figure out which Obi settings are most important for achieving a rigid, stable cable. I’m also wondering if Obi Rope is the right tool for this, or if Obi Rod would provide a more stable steel-cable-like behaviour. Any advice on tuning these settings would be greatly appreciated!
Reply
#2
(08-12-2025, 10:52 AM)Jibriln Wrote: Hi everyone,

 I’m working on a crane system in Unity using Obi Rope, and I'm trying to make the crane wire behave more like a stiff steel cable instead of a soft, stretchy rope. I’m fairly new to Unity and real-time physics, so I’m hoping someone with more experience can give me some guidance.

Right now the rope is built from a simple blueprint with two control points: the top one is attached to the crane boom using a static particle attachment, and the bottom one is attached to the hook using a dynamic attachment (the hook has a Rigidbody and an ObiCollider). The rope length is controlled at runtime with an ObiRopeCursor to raise and lower the hook. The issue I’m facing is that the rope feels way too elastic. It behaves almost like a rubber band, stretches visually, and oscillates a lot when the crane moves. The hook swings around more than it should, and the whole system lacks the stiffness you’d expect from a real steel wire. I’m trying to figure out which Obi settings are most important for achieving a rigid, stable cable.

Hi!

First the solution: increase the amount of substeps in ObiSolver (10-16 should work well), and/or reduce your rope's blueprint resolution.

Now the reason for this problem, which is a common issue regardless of the physics engine you use: physics engines work by calculating and applying forces between objects. Usually, these forces are calculated for every pair of interacting (connected, colliding, etc) objects. Now, if there's a long chain of interacting objects (a rope, a tall stack of boxes, a row of colliding objects, etc), processing each pair of objects only once is not enough to completely solve the simulation, it's necessary to iterate trough all pairs multiple times so that forces propagate correctly trough the entire stack/chain/row/group/whatever. Failing to do this will cause the resulting simulation to look softer than it should (in technical jargon, it won't "converge"). This causes ropes to look soft, compact stacks to look jumpy, piles of objects to look jelly-like, etc.

In order of effectiveness, the solutions to this are:
- Update the simulation more often (in Obi, ObiSolver's substeps)
- Reduce the amount of interacting object pairs (in Obi, ObiRopeBlueprint's resolution)
- Iterate more times over all pairs of objects (in Obi, ObiSolver's iterations)

You'll find these settings (specially substeps and iterations) in pretty much every physics engine you try.

The manual contains an in-depth explanation of how Obi works internally (as well as how more traditional engines work) and how substeps and iterations affect simulation results: https://obi.virtualmethodstudio.com/manu...gence.html

(08-12-2025, 10:52 AM)Jibriln Wrote: I’m also wondering if Obi Rope is the right tool for this, or if Obi Rod would provide a more stable steel-cable-like behaviour.

In this regard, there's absolutely no difference in elasticity between ropes and rods. Rods simulate torsion and may have a non-straight rest pose, that's their only difference with ropes.

kind regards
Reply
#3
(08-12-2025, 11:07 AM)josemendez Wrote: In order of effectiveness, the solutions to this are:
- Update the simulation more often (in Obi, ObiSolver's substeps)
- Reduce the amount of interacting object pairs (in Obi, ObiRopeBlueprint's resolution)
- Iterate more times over all pairs of objects (in Obi, ObiSolver's iterations)

Thanks for the quick answer! I tried to play around with your suggestions but I'm still getting undesired behaviour. See the linked video: https://youtu.be/2EvN_EqAF6I
Reply
#4
Hi,

The problem here is not substeps/iterations at all, seems to be an issue with the overall setup. Check the following:

- The hook object at the end of the rope must not be a child of the crane's root transform. (this should be an obvious one, but pointing out nonetheless). Otherwise the hook will instantaneously rotate when the crane rotates due to how parent-child transform relationships work, which is not what you want: the hook should hang from the rope instead.

- Make sure the rope is not colliding against the hook object it is attached to. The rope cannot both intersect and not intersect an object (attachment wants it to intersect the hook, but collisions want it not to), this it will lead to undesired jitter/flailing as the solver tries to simultaneously meet both conditions in vain. See "attachments inside colliders" in the manual.

Check the included "Crane" sample scene for reference on how to set up a crane.

let me know if I can be of further help,

kind regards
Reply
#5
(09-12-2025, 10:10 AM)Jibriln, Wrote: 谢谢你的快速回复!我尝试了你的建议,但仍然出现不理想的情况。请看链接视频:https://youtu.be/2EvN_EqAF6I
You need to modify the resolution to decrease the particle number. Try to begin with 2-3 particles. Please note you can see the particles by  adding a Obi Particle Renderer component to the rope (also increase the radius scale of it to see the particles) when you debug.
Reply