- Home /
Infinite swing with SpringJoint
Hello,
I have a rigidbody connected to a spring joint, and that rigidbody can swing back and forth. This all works great, except as time goes on the rigidbody's velocity gets less and less. I have set the rigidbody's drag and angular drag to 0 and a damper force of 0 on the spring joint. Is there anything else that I need to set? I'd like the rigidbody to be able to swing forever.
If I have setup everything correctly and it's just a fact that the velocity is going to decrease, what is the best way to prevent this? I have thought of adding a very small force to the rigidbody whenever it changes directions, but I don't know how big of a force to add or even if that same magnitude of additional force will work with all springs.
Any advice is greatly appreciated.
Justin
Answer by Magnus Wolffelt · Aug 09, 2010 at 12:40 PM
The rigidbody might be losing energy due to "integration errors" in the physics time stepping.
In any case, I think, if you want to solve this in a nice way without movement artifacts, you will need to make some sort of semi-advanced "force applier".
For example, you could apply tangential force whose magnitude is proportional to the "height error" the last time the rigidbody changed direction. So if the height error is positive (it didn't reach the desired height), a positive force will be applied, proportional to the error. But if the height error was negative (the body overshot the desired height), the force applied will be negative, which means opposite direction.
Answer by Julian-Glenn · Aug 09, 2010 at 02:43 AM
Maybe give ConstantForce a try:
http://unity3d.com/support/documentation/ScriptReference/ConstantForce.html
ConstantForce would work if it was just a linear motion, but I would still like the rigidbody to behave in a swinging motion. For example, when the rigidbody reaches the peak of the swing, its velocity approaches 0 and then swings back the other direction. A constant force would prevent this from happening.
Your answer
Follow this Question
Related Questions
I am having a problem with momentum of an object after releasing a touch from the iPhone. 2 Answers
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
In priview good work, but on Iphone - incorect 2 Answers
Dynamic Cube Physics like other games 0 Answers
Blocking particles then destroy then reduce health 0 Answers