Physics Collision behave strange in bad performance environment



I got two object, which is projectile and pawn.
The collision are QueryOnly and overlap between there collision object type.
I Use Set Physics Linear Velocity to move the projectile from a pawn.

There are two situation seems strange:
1.If game with bad performance, projectile will blocked by the pawn who fire it, which work properly while the game is smooth.
2.If set the projectile ignore the pawn object type, whatever bad/good performance, projectile work properly which is not blocked by the pawn who fire it.

I am too confuse about that two problem, hope somebody could help me about that!!

The root component of your projectile should be a simple collision component. It should be the only component with collision.

Your characters capsule collision component should have a dedicated collision object channel. This is so you can separate the world blocking movement collision from the skeletal mesh collision.

I’m using the projectile movement component (PMC) which utilizes sweep collision checks per sub-step… more accurate and better hit/overlap detection.

@Rev0verDrive First, Thanks for your reply~

The reason of me not use the block channel is my projectile can hit through several enemies, and I don’t want any physics collision cause by Engine, because I need to filter all overlap obstacles to check is it really should be a obstacle based on my game logic.

And about PMC, I’ve try to use it before, but the path of the projectile cannot work as my expected, I need to simulate multi path and then decide which path is the best for me, like, different velocity, different fire angle, it need to check much more obastacle info before I fire the projectile.
And also need to ensure the projectile can accurately hit the point I want it hit, and don’t move around at that point like homing does.

Mine are object pooled and do penetration hits.

On hit apply dmg, check for penetration, reset and re-enable on the other side using the hits normal.

PMC isn’t physics based. It’s tick based interpolation w/sub-step sweeps.

1 Like

got it, I’ll try, thanks~