Impulse vs Force
AddImpulse
will apply the force vector without adjusting for frames per second (fps). AddForce
adjusts the force vector according to the current fps as it is intended to be called every frame. For example, if your frame rate were 60 fps and you called AddForce
once then you would have to multiply the force vector by 60 (or call AddForce
60 times) in order to get the equivalent effect as calling AddImpulse
once.
Vel Change vs Accel Change parameters
These two actually do the same thing which is adjust the velocity without taking the mass of the object into consideration. I can see why Epic named the boolean “Accel Change” on the Force functions even though it is a velocity adjustment because AddForce
is intended to be called every frame over time so effectively it is an acceleration change. I think it would have been better to name both of the parameters “Ignore Mass” for consistency and clarity.
Radial
The radial functions provide an option to specify an origin where the force occurs such as the location where a bomb went off.
Angular
Angular is the spin on an object. So instead of adding force to x, y, z you are adding spin force to pitch, yaw, roll. I don’t think you meant to include this in your question as it doesn’t really relate to the other functions in question.
Launch Character
The LaunchCharacter
function is not part of the physics simulation functions (no mass, no friction) like the others are and is only available on Characters instead of primitive components. This function adds or sets the character velocity to create basic force effects. Setting the xy and z override parameters will set the character velocity instead of adding to it.