Hi, folks! So I’ve been working on a space game with a newtonian flight model, etc etc… and I realised that objects that apply force (in my case a VectorForce) tend to “stall” when moving an object with high enough density and the force is set small enough. By this, I mean the object begins to move, but promptly stops instead of continuing to accelerate as I would expect.
Decreasing the object’s density or increasing VectorForce.Force allows the VectorForce to work as would be expected; the object continues to accelerate as long as a force is provided.
Steps to reproduce:
- Set Workspace.Gravity to 0, Insert a 4x4x4 Part, add an Attachment and a VectorForce inside the part, setting the VectorForce’s Attachment0 to the Attachment.
- Start a test server. Set VectorForce.Force to a relatively low value on one axis (I set it to 0,0,40).
- Observe as the part moves slightly and then stops in its tracks.
Interestingly, the force is taken into account if the object is already in motion - if you set the force to oppose the object’s motion, it will slow it; however, if the force is small enough, it won’t begin to accelerate the other way after it stops.
This issue is irritating because I either have to manually set all the parts of my ships to a lower density, or I have to add a multiplier to the thruster force, which eliminates the possibility of fine manoeuvering as the minimum force to actually work is too much and sends the ship careening through space.