Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Large forces causing objects to fly
#1
I'm using obirope to model the steel cable of a crane and the metal chains that are used to connect the crane's hook to a load. This is a VR experience created using unity.

It isn't uncommon for the load to be catapulted into the air because the chains begin to move erratically. This was happening when I 'teleported'/changed the transform of the loads. I made the loads kinematic for half a second until the chains lost their kinetic energy to solve this issue but it is still happening for other reasons, for example, when the chains are pushed into the load (often by the user who can hold the link at the end of the chain to attach it to the crane's hook).

Is there any way to restrict the amount of force the rope can apply to an object/any other way that people have dealt with this?

here's an image of the load referred to: 
[attachment=146]
Reply
#2
(05-07-2018, 04:14 AM)StevenHolwerda Wrote: I'm using obirope to model the steel cable of a crane and the metal chains that are used to connect the crane's hook to a load. This is a VR experience created using unity.

It isn't uncommon for the load to be catapulted into the air because the chains begin to move erratically. This was happening when I 'teleported'/changed the transform of the loads. I made the loads kinematic for half a second until the chains lost their kinetic energy to solve this issue but it is still happening for other reasons, for example, when the chains are pushed into the load (often by the user who can hold the link at the end of the chain to attach it to the crane's hook).

Is there any way to restrict the amount of force the rope can apply to an object/any other way that people have dealt with this?

here's an image of the load referred to: 

You could increase the solver's "damping" parameter (which will increase the rate at which the chains lose kinetic energy):
Code:
solver.parameters.damping = whatever;
solver.UpdateParameters();

The standard approach to this however, is to let the user manipulate stuff trough a physical constraint (such as a spring) instead of directly. This way the user can influence the physics, but not "override" them, as in grabbing and moving things around completely ignoring the physical laws of the simulation.
Reply
#3
(05-07-2018, 08:45 AM)josemendez Wrote: You could increase the solver's "damping" parameter (which will increase the rate at which the chains lose kinetic energy):
Code:
solver.parameters.damping = whatever;
solver.UpdateParameters();

The standard approach to this however, is to let the user manipulate stuff trough a physical constraint (such as a spring) instead of directly. This way the user can influence the physics, but not "override" them, as in grabbing and moving things around completely ignoring the physical laws of the simulation.

Thanks for the quick reply and for the suggestions! I'm already using a very high damping so I'll give the spring idea a go.
Reply