stopping a dynamic object DEAD?

how do you do this… i have an example blend but savefile.com… not working right now…? briefly -it has a cube that hits the ground… the cube has a script that says when it hits the ground… suspendDynamics and move to some other location… and when i press a key resumeDynamics…

it all works fine… object stops moving when it hits the ground… gets moved to nu location somewhere above the ground… but when i press the key to restore dynamics… it hangs in the air and start rotating with the same dynamic movment it would have had, as if it had hit the floor and kept bouncing in the first place… (except now its hanging in the air?)

what i want to have happen is this… dynamic box… hits ground… gets moved to a location… stops moving at all (no forces nothing just hangin in the air all quiet like)… then on a key press… falls back towards ground… (as in becomes dynamic)

I tried lots of different ways to do this and I can’t seem to stop the dynamic object… as in remove any velocity or force it has… whenever I just move the ball from one place to another it inherits it dynamic movement (it’s velocity and rotation etc)…

is there anyway of removing all movement from a dynamic object… effectively reseting it… and then dropping it back down onto the ground… kinda like a car pick up in a game… cept the orientation is not to important at this point…? pls help it’s driving me mad! thanks:confused:

Did you try setting the velocity to zero in all three planes before suspending dynamics?

no… is the velocity part of the gameLogic or do i have to have a motion actuator to set that? I will try this and see if it works… thanks!

I can only use getVelocity from the Class KX_GameObject… there is no setVelocity for the game object… I can only set the linear velocity through the motion actuator… but all this does is set how much linear velocity is acting on the game object by the motion actuator. So if I set the linV to 0 all that happens is that the motion actuator does nothing… and my object keeps moving…

i need to be able to set the velocity of the gameobject straight… not through any actuators… is this even possible? is there some other way of doing it?

I thought there was, but apparently not. If you set linear velocity to 0 on all planes and then suspend dynamics it still acts weird? Sometimes you can use a tiny value in the opposite direction to stop something. So you could get the velocity and then use like a .01 in the opposite or negative of it, direction to stop it and then set it to zero when it was restored. Kind of a lot work.

problem is setting it to 0 doesn’t do anything… so I will have stopped it with a tiny linV number… but when i set it 0 it will keep the same linV as the first time round… maybe if I try turning off the motion actuator afterwards… i did try something like this… not sure if I did right tho (didn’t seem to work)… thanks for offering some ideas tho… think I’m gonna try and ask Erwin…