How to fix static mesh falling through floor?

So I havery this issue of static meshes that I import falling through the landscape when physics is turned on. I have searched here and Google and see many people have had similar issues, but I haven’t seen this mentioned yet. This only happens to meshes that are set to using “Use complexcollision as simple.” My meshes act correctly with any other collision setting. The problem is though that the other settings make collision too far away from meshes or block open spaces a character needs to pass through. Is this a UE bug or is there a fix coming for this soon? Perhaps a possible workaround that doesn’t include having to set up complex collision in an exterior program?

Hi plisle,

Which version of the editor are you currently using?

4.4.3. I find it odd Epic wouldn’t have noticed this before.

Yes this is a known issue that our developers are currently looking into and we hope to have it fixed soon. However, I would suggest not using “Complex Collision as Simple” unless absolutely necessary. It’s a per-poly collision that is very expensive.

A workaround would be to use the simple collision that you can add in the editor and move and size them however you need to. You can create multiple versions of these simple shapes and essentially build your own custom collision.

Thanks. I was unaware you can move and edit these around. Is there a tutorial of how?

There isn’t a tutorial as of yet but it isn’t to difficult.

  • Just open the mesh in the Static Mesh editor by double clicking it.
  • Click the Collision tab at the top and choose whichever collision you would like.
  • When you see it popup in the viewport, click the wireframe of the collision.
  • Use the same Widgets you use in the editor to Translate, Rotate, and Scale the collision (shortcut keys - W, E, R).
  • When you need to add another collision shape, just pick it from the dropdown menu again.

Has this bug been fixed officially as yet?

I still encounter this problem pretty often.

Hi dons90,

Thank you for following up on this. Unfortunately the report for this issue wasn’t moved to our new tracking software so it was not fixed. I have re-entered a report for it as JIRA UE-14154. Our developers will be investigating the issue further and we will post back here with updates.

As a workaround, the solution that I posted above still applies.

Cheers,

TJ

I’m afraid this is a (sensible) limitation of the physics engine. It does not supporting using a triangle mesh as the collision for a dynamic object, it would be very expensive, and is hard to calculate mass properties for etc.

Does this bug affect all kinds of physics collisions? I seem to have very buggy physics collisions.

  1. My kinematic plane that I control manually (not a physics body) does not collide at all with a landscape. Seems to be another known bug, but a bit annoying nevertheless. Can’t be bothered to try to make a flying plane with proper physics, life is too short for that. There seems to be no workarounds for the bug either.

  2. When my plan drops bombs they seem to fall through the landscape in perhaps 30% of the cases. My bomb mesh uses a simplified box collision. They fall from the plan using normal gravity. Quite often the “Event Hit” blueprint event is not called, meaning the bomb did not hit the landscape which most certainly was under the bomb. Seems to happen more often when the bomb is dropped from higher up and thus has a higher velocity when it should hit the ground. Seeems like some interpolation bug somewhere. My framerate is low, the OSX version of UE4 is slow in general, so perhaps that could be a reason for the physics updates to be too infrequent leading to bugs? As 70% of the collisions do work there doesn’t seem to be anything that I can do. If I drop a few bombs within a second, some may hit and some not.

Hi chakie,

No, this issue is specific to using the option ‘Use Complex Collision As Simple’ instead of proper collision (like your object is using).

You issue sounds like an older known landscape collision problem. If you would like to create a new report in the bug section for this, please feel free.

Cheers,

TJ

Nah, if it’s a known problem then why create new reports.

Hi TJ.
I am having issues with fall-through for small physics objects, (20 - 30 units or so) even using simple auto-generated collision on a completely flat floor. If the character walks into the objects, they shoot off and often end up disappearing below the floor. Sometimes even just dropping them from a small height is enough for them to fall through.

I find it hard to believe that PhysX can be this unstable, what I’m seeing is not even close to being acceptable and it’s making me think I just won’t be able to make use of physics in my project at all. Is there something I should/shouldn’t be doing that I’m missing? Do I need to enable CCD for all small objects or something? Are there other parameters I can configure to make things more stable? Thanks.

Hi kamrann,

Small object physics collision can be a little strange, this is just a limitation of PhysX in UE4. It’s best to scale your game up if possible. I explain it in a bit more detail here.

If you still feel that what you are doing should work in the engine, please post a new report in the Bug Report section. Make sure to include sceenshots and test assets.

Cheers,

TJ

Thanks for the quick response TJ. I’ll do some tests with things scaled up and see how I go. I suppose there is no way built into the engine to make this scale easily adjustable, so that if at some point I wanted to tweak it I would be able to do so without having to manually go through changing values all over the place? In code I suppose I could have a global constant which I use everywhere, but for objects placed in the level editor…?

Based on the discussion here it seems that one can not at all rely on physics together with terrain when using UE4? I’d have expected my trivial red bomb which is grossly oversized to be able to hit the ground when it falls using gravity, but it often does not. The mesh is as simple as it gets, the collider can’t really be simpler and my terrain is not magical at all. My guess is that UE4 is a bit too slow on OSX and the physics updates too rarely and things will just slip through. In Unity I never had similar problems, even on much less powerful hardware.

Is the best way to just skip physics entirely and do manual physics approximations in C++ or will these bugs actually be fixed one day?

Have you tried using a ProjectileMovementComponent instead of physics simulation? That uses sweeps so you will never miss a collision. Physics simulation does discrete overlap tests to generate contacts, so can miss collisions with fast moving objects.

No, as a newbie to UE4 physics was the clear first answer to “how to I drop a thing and let gravity handle it” and nothing I saw discouraged that assumption.

I will take a look at Projectile Movement instead. A quick search seems to turn up a few hits with people using it. Thank you for the suggestion!

You can select multiple objects and change the scale but the issue is they would all stay in the same place. So if you were trying to scale an entire level you would need to implement something that would offset each object by a set amount based off of the scale value. It would be about as in-depth as creating a plugin or a module in code.

I would instead create a small test area and then duplicate that several times, while changing the scale each time. Then test that way to decide on a set scale for your game.

Hi,

in 4.19.1 still the same issue, or feature :slight_smile: ? iam new in ue4, can i use the Projectile Movement for a existing static mesh(Tire)? if yes can anyone explain me how?

thank you in advance

dh