(25-04-2023, 08:28 AM)vrtraining Wrote: We have a classic crane setup where rope one end is attached (static) with pully at top and the other end is attached with load (dynamic with obi rigidbody and collider). Load is lifted by increasing and decreasing the rope length using the cursor.
We are facing a problem when load and rope are stable and at rest, there is a small delay in pulling up the load (specially when its grounded). It starts pulling the rope after noticeable delay sometimes more than 1-2 seconds.
Is it possible the length of rope is quite large and its taking sometime? how we can improve this?
Hi!
Chances are the rope is simply being stretched too much (you can check this by adding a
ObiParticleRenderer component to the rope to take a look at its particles). This can happen if:
- The rope is very long and/or rope resolution is very high.
- The mass ratio between the rope and the load is very large (that is, the load is a lot heavier than the rope). As in all iterative physics engines, large mass ratios will negatively affect convergence, causing spurious/unwanted stretching.
The potential solutions are the same as in most physics engines:
- Increase
temporal resolution: in Obi you can easily do this by increasing the amount of
substeps (you can find this setting in the ObiFixedUpdater component). The manual contains a very in-depth explanation of how the engine works internally and how substeps/iterations affect output quality:
http://obi.virtualmethodstudio.com/manua...gence.html
- Reduce
spatial resolution: select your
rope's blueprint, and reduce its "resolution" setting. This will create less particles per unit length, reducing the amount of work the solver has to do and allowing the simulation to converge faster.
- Reduce the mass ratio between the rope and the load: either make the rope heavier (you can control mass per control point in the path editor) or make the load lighter.
You can combine all 3 techniques in any way you see fit. Let me know if I can be of further help,
kind regards,