Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Rope following nozzle problem
#1
Am trying to simulate a hose with a nozzle on it. The nozzle has a rigidbody and also an obi collider and obi rigidbody attached. 
On the robe there are 4 particle attachments 2 for the fire extinguisher and 2 attached to the nozzle. Both are positioned close to the ends of the rope.

Problem is that to rope end won't follow the nozzle when I move the nozzle (in VR). There is a slide delay when moving.
I've tried static as wel as dynamic for the attachments (and combinations) but nothing helps. Best results I get is with static because with dynamic the rotation for the rope and is way off.

Below you can see what I mean. 

Does anyone has suggestions to fix this?



Reply
#2
Hi there!

Correct update order in Unity is key. Make sure you update the nozzle transform before simulation. Otherwise, the nozzle will move after the rope has been simulated every frame, resulting in a delay.

When using ObiFixedUpdater (the default updater component), the simulation is updated in FixedUpdate() which happens before Update(). See:
https://docs.unity3d.com/Manual/ExecutionOrder.html

Either subscribe to the solver's OnBeginStep event and update the nozzle movement there, or use ObiLateUpdater.
Reply
#3
(23-06-2021, 01:35 PM)josemendez Wrote: Hi there!

Correct update order in Unity is key. Make sure you update the nozzle transform before simulation. Otherwise, the nozzle will move after the rope has been simulated every frame, resulting in a delay.

When using ObiFixedUpdater (the default updater component), the simulation is updated in FixedUpdate() which happens before Update(). See:
https://docs.unity3d.com/Manual/ExecutionOrder.html

Either subscribe to the solver's OnBeginStep event and update the nozzle movement there, or use ObiLateUpdater.

Thanks for the quick answer! Changing to Obi Late Updater did the trick ;-)
Reply