I have a sphere rolling across a movable floor. When I move the floor down the sphere falls to it in a normal looking way. When I more the floor up the sphere jumps into the air approx. 20 x dia… It’s likely the penetration error correction is the cause (I guess). Anybody have ideas how to deal with two moving dynamic bodies imparting unrealistic forces? Thanks,
it sounds like you have an underweight ball. Do you mean in game mode while the ball is rolling you move the floor up?. It could be your collision detection sphere thats way too big, please give me a .blend or a better description.
I suggest giving the sphere a higher mass.
I believe you are using dLoc (or dRot) to move the floor upward, am i correct? This will cause the ball to “jump” because the floor is moving sharply. If you have dLoc Z set to .5 and your floor is at 1, then it will suddenly move to 1.5 (skipping all the inbetween) when the dLoc actuator is activated. That’s just too much movement, so the ball thinks it’s being hit, and it responds by “jumping” into the air. This can cause an annoying hopping action from the ball (I just ran into this when I increased the dRot speed on my Marble Labyrinth table…). Try using Force or Torque instead. To get a force or torque to stop quickly, increase the dampening factors under the actor buttons. Hope that helps.
Note you need to make the platform a dynamic body if you want anything more then Dloc to work. LinV could be used for dynamic platform bodies because it overrides gravity. IPO’s will also work for non dynamic bodies.
I think for the situation described, IPOs would work the best (LinV requires dynamic, which may be difficult to use; DLoc needs to be slow to avoid the penetration error).
Thanks for all the input. A test .blend file http://losgatos.mine.nu/ballfieldmovtst.blend illustrates my problem. Use cursor keys to tilt the mesh.
I use dRot to tilt the mesh. I set a step value of 0.01. I noticed that the ball jumping occurs the moment I stop rotating the mesh regardless of tilting up or down.
I tried setting the mesh to dynamic, bounds = static trimesh, but the ball falls through the mesh. I tried convex hull polytope but the mesh falls.
I tried setting restitution on both the mesh and ball but didn’t see any difference.
I’ve probably left the ball mass at 50. It doesn’t seem to make any difference if I use 5 or 50.
Sorry to double post but I was wondering if anyone had insight on why the ball jumps when the mesh stops moving. The .blend link is on previous post. Thanks,