Physics behaves strangely

Hi,
I use physics but it looks so strange.

312675-thirdperson.gif

In above video, box is 1000kg and character is 80kg.
A box is not moved when character stay on face, but on edge it can be moved easily.
I think character shouldn’t be able to move the box at all.

Condition

Box

  • Skeletal Mesh Actor
  • 1000KG
  • Inertia Tensor Scale = 1,1,1

Character

  • 80KG
  • Character Actor
  • Disable EnablePhysicsInteraction in character movement component
  • Disable mesh collision
  • Enable capulse collision

Is it bug? If not, how can I solve it?

It looks like an undesired interaction between the movement component and physics. See if it behaves better with this checkbox ticked:

312691-annotation-2020-09-07-095233.jpg

The character doesn’t simulate physics, so the engine doesn’t really calculate impulse for character collisions, that’s why the interaction with physics objects is sometimes really inaccurate.

As for the heavy cube, it seems to me that the engine calculates if the character can move based on the forward vector, and not on the entire capsule collision, because once the center of the capsule (facing the movement vector) passes the edge of the cube, the character starts moving faster and pushes the cube.

Frankly, I don’t know how to fix that, I’ll just wait here and see if someone has any workarounds for any of the two issues above.

Seconded.

I’ve been playing with character movement component settings (as seen below) for the last 2 weeks or so and the more I use them the worse the result are.

You can get a different feel to how things behave but never the feel you really want… :expressionless:

Thanks for answering.

I tested what you suggest, but it can move box more easily.

Thanks for answering.

I have checked the physX code. When physX is calculating with an object that is not a simulated object, it seems to resist by applying a force in proportion to the mass and the inertia tensor in the opposite direction of collision. But it seems that this calculation is often wrong.
I have checked more to gain confidence.