Am I incorrect in thinking that the quasi-standard implementation of an "ApplyForce" method I see in physics code incorrectly adds energy to the simulation? Typically, in many engines I see:
Code: Select all
void ApplyForce(Vector3 force, Vector3 relative)
{
this.Force += force;
this.Torque += Vector3.Cross(relative, force);
}
Wouldn't this pattern add too much linear force when a purely torque force is applied? (When 'relative' is tangential to the COM)
I would expect that in increase in force would be less to compensate for the energy transformed into torque. Am I missing something?
Thanks
