In my testing with 0.14b, if you call collider:applyForce on an object which is at total rest, it has no effect. If you call collider:setAwake(true) followed by collider:applyForce, it works.
This suggests to me ODE requires you to wake an object before you expect manually applied forces to do anything.
Expected behavior: We should do one of the following— I don't care which:
collider:applyForce, collider:applyTorque and any other methods that have no effect on sleeping objects (setLinearVelocity, for example?) should internally (in the lovr implementation) call the ODE wakeup function on the collider first.
In my testing with 0.14b, if you call
collider:applyForce
on an object which is at total rest, it has no effect. If you callcollider:setAwake(true)
followed bycollider:applyForce
, it works.This suggests to me ODE requires you to wake an object before you expect manually applied forces to do anything.
Expected behavior: We should do one of the following— I don't care which:
collider:applyForce
,collider:applyTorque
and any other methods that have no effect on sleeping objects (setLinearVelocity, for example?) should internally (in the lovr implementation) call the ODE wakeup function on the collider first.https://lovr.org/docs/master/Collider:applyForce , https://lovr.org/docs/master/Collider:applyTorque etc should document the awakeness thing.