[ODE] Couple of problems with reaching an acceptable stability.
hplus-ode at mindcontrol.org
Thu Apr 7 16:55:03 MST 2005
I suggest you add the following three things:
1) Use a fixed step size. If more real time elapsed than your step time
while you're rendering, step again. A good number to start out with
is 0.01 (for 10 milliseconds).
http://www.mindcontrol.org/~hplus/graphics/game_loop.html tells you
how to make sure things don't run too slow or too fast (don't do any
interpolation for now; just ignore that bit).
2) Turn on damping. I believe someone added this to ODE proper, but I
don't know if it was actually included in the API (on CVS). If not,
go to the Wiki and look for code, or just call dBodyAddForce() with
-0.02 times the velocity, and dBodyAddTorque() with -0.02 times the
angular velocity, as a starting point, each step.
3) Turn on auto-disable (sleeping), so that bodies go to sleep if they
haven't moved for a little while.
From: ode-bounces at q12.org [mailto:ode-bounces at q12.org]On Behalf Of Vast
Sent: Thursday, April 07, 2005 4:42 PM
To: ode at q12.org
Subject: [ODE] Couple of problems with reaching an acceptable stability.
Ok, I am using ode and everything is fine, except for the bodies
disturbingly penetrating each other, jittering all the time, and
falling over (box stacks) instead of being steady.
As far as i understand, if the stepsize is less, the collision
detection would detect collision sooner, if not right away, and
everything would be fine. If i set the stepsize to 0.00001, lol,
everything runs too slowly. But not framerate wise, just the physics
If I set the stepsize to something low, my collision becomes a lot
more accurate, and thats what I would want.
Is it possible to have a constant collision detection check?
What could i do to fix this? Because, penetration of surfaces is
unexceptable... in my case anyway.
Also, what tricks does everyone here use to achieve their best
stability, because I am starting to get really really sad, since I
can't reach anything that I would release with my engine.
I didnt even go into joints yet, lol, can't imagine the pain =)
Also, what does everyone here do to stop the jittering? I mean, I
stack about 10 cubes, each one is 0.5 gl-units high/wide/tall, under
different angles (just the y axis angles, y is my vertical axis).
After about 10 cubes, I can see the medium-sized tower starting to
move sideways, just slightly, making it pretty strange.
Oh yes, in my engine, 1 gl-unit is about 1 meter. I set the gravity to
2.5 to simulate the 'normal' gravity, of earth that is. Seems to do
the job pretty well.
Anyway, if everyone could share their stabilization tips, I would
GREATELY appreciate it.
ODE mailing list
ODE at q12.org
More information about the ODE