Description

Physics actor with physics toggled will fall through static meshes set to Movable

User Description:

Basically, what this project does is enable simulate physics on the black cube in the middle, then disables it once it safely landed on the bottom cube. After that, it enables physics on the top cube, and once the top cube is near the black cube, it re-enables the black cube's physics.

As you can see, if the black cube gets his physics re-enabled on a movable actor (on the right), it just clips through it. If the black cube gets his physics re-enabled on a static actor (on the left), its behavior is clean, it stays on the object.

This behavior is a big problem for us, as we need to load/unload streaming levels on which physics object from the persistent level is supposed to be standing on. The thing is, when we re-enable the physics simulation, all our objects just clips through the floor and fall into nothingness.

Steps to Reproduce

1. Open the attached test project
2. PIE or simulate

Results: The physics actor will fall through the static mesh that is set to Movable but won't fall through the static mesh set to Static

Expected: For the static mesh set to Movable to stop the physics actor regardless of toggled physics

------------------------------------------------------------------------------------------

From blank project:

1. Import the attached SM_BoxTest01 asset
2. Place 2 instances of the static mesh into the level, side by side and a few units off the ground
3. In the Details panel, set 1 of the static meshes to Movable
4. Create an actor class BP & open it
5. Add a static mesh component and a Sphere Collision component
6. Set the static mesh to the BoxTest
7. Set the Sphere Collision larger than the box and center it to the box

(See screenshot #1 for setup, skip steps 8-11)

8. In the Event Graph, Set Simulate Physics Enabled on Sphere Collision Overlap
9. On Event Begin Play, set a 2 second Delay > Set Simulate Physics Enabled > set a 2 second Delay > Set Simulate Physics Disabled
10. Create a float variable (set to Public) with a default value of 2 and use it for both Delays
11. Compile & save

11. Add 4 instances of this bp to the level, 2 over the Static mesh and 2 over the Movable mesh, space them vertically by several units (see screenshot #2)
12. Select the top 2 bps, in the Details panel set the DelayVar to 4
13. PIE or Simulate

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

0
Login to Vote

Fixed
ComponentUE - Gameplay
Affects Versions4.12.54.13
Target Fix4.13
Fix Commit3058682
Main Commit3058682
CreatedJul 20, 2016
ResolvedJul 25, 2016
UpdatedApr 27, 2018