- Home /
Getting Force to work properly
Hey guys, I've stayed away from using rigid bodies with force for a long time, but I figure I'd have to learn it eventually, and straight away I'm hitting some major obstacles, so say I'm moving my enemies around by applying force in the fixed update, I have no idea of the variables I need to tweak to get it balanced right. I don't want the enemies to accellerate over time, and I don't want them to slide, I just esentially want them to have a static velocity and they then stop when they move in a different direction. Can this be done with forces? Or is everything doomed to act like it's on ice?
Answer by MirrorIrorriM · Oct 19, 2011 at 03:58 AM
Although it COULD be done with forces, making hair pin turns is way easier with just setting rigidbody.velocity directly; although you would have to program your own gravity if you ever plan on your characters not always being upright. If you must use forces, putting a cap on speed is quite easy.
if (transform.InverseTransformDirection(rigidbody.velocity).z < 20)
rigidbody.AddRelativeForce(Vector3(0,0,1)*Power);
All that code does is check to see if you are moving less than 20 units in the forward direction. Only problem is this doesn't allow hair pin turns, just the speed cap. If you want to make the person stop on a dime, the only real solution is to set rigidbody.velocity directly.
Your answer
Follow this Question
Related Questions
Stopping Rigidbodies with Opposing Forces 4 Answers
Raycast push? How? 1 Answer
Add Force without Rotation 2 Answers
Adding more forces vs adding sum of forces 2 Answers
Rigidbody rotate around 2 Answers