Short description of error
Rigid Body objects whose "animated" option is unchecked (for example by a keyframe) do not maintain the velocity that was in the previous frame.
It is interesting to note that by setting small values for the rigid body parameters (in the Scene tab) "speed" and "steps per second" the initial speed is maintained.
- With "speed" 2.0, 4.0 the RB seems to keep the initial velocity.
- With "speed" 3.0, 5.0 the differences appear again.
Increasing the "steps per second" reduces the differece, but it is still appreciable.
Exact steps for others to reproduce the error
In the attached file there are six objects whose animation is disabled during the simulation.
- Open the attached file
- Run the animation
Note the velocity changing when the checkbox is disabled.
Analyzing the bullet code we can see that the speed (btRigidBody::m_linearVelocity) changes in RB_dworld_step_simulation, more specifically calculateVelocity.