1
$\begingroup$

I have a 1x1x1 cube in the scene and apply an impulse to point [20.0 0.0 0.0], which is outside the cube using applyImpulse function, but the cube moves. Could someone let me know what it means to apply the impulse to a point outside the object? I expected that the object does not move if the impulse is applied to an outside point.

$\endgroup$
2
$\begingroup$

Force at center

When you apply a force to the mass center of an object all the energy of the force will turn into a translation.

Force outside of the center

If you apply a force at a point outside the mass center the energy will turn into a translation of exactly that point.

Be aware each point of the mass want to keep their momentum. This acts like a counter force. That means there is a stronger counter force towards the mass center as there is more mass then of the other side of the point. The result is mix of angular and linear motion summed up by all forces (including the momentum).

As more far away the point is as more of the energy will result in rotation. As nearer the point is to the center of mass as more of the energy will result into translation (to the maximum of all energy goes into translation and nothing into rotation).


Question

[...] what it means to apply the impulse to a point outside the object?

It does not matter. The physics model does not care your mesh. It uses it to define the dimensions and collision but not to calculate forces.

You can applying a force anywhere in space. It is assumed this force should be applied to the object (otherwise you would not try to apply it). This force will be taken into account when calculating the final linear and angular motions.

Keep in mind: This is a game engine. The physics engine is designed to provide fast but believable results. Checking if a point is outside of a surface mesh eats a lot of processing power and is not necessary. If you really need such check you can do perform it with some Python code.

I hope it helps a bit.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.