Commenting out the branch in FTriangleMeshSweepVisitor::VisitSweep is a work-around.
if (CullsBackFaceSweepsCode != 0) { if (VectorMaskBits(IsBackFace)) { // Don't cull the back face if there is a chance that we are initially overlapping. const VectorRegister4Float MinBounds = VectorMin(VectorMin(A, B), C); const VectorRegister4Float MaxBounds = VectorMax(VectorMax(A, B), C); FAABBVectorized TriangleAABB(MinBounds, MaxBounds); // if (!GeometryAABBTriangleSpace.Intersects(TriangleAABB)) { return true; } } }
1. Create a project with Thirdperson template
2. Copy Engine/BasicShapes/Plane to project content folder
3. Open the copied mesh
4. Set Collision Complexity to UseComplexCollisionAsSimple
5. Place the mesh vertically in the level
6. Start PIE
7. Move forward the character from back side of the mesh
The mesh blocks character.
Expected result:
Character can through the mesh from the back. This behavior is same as UE4.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-200695 in the post.
4 |
Component | UE - Simulation - Physics - Query |
---|---|
Affects Versions | 5.2, 5.3 |
Target Fix | 5.6 |
Created | Nov 17, 2023 |
---|---|
Updated | Sep 30, 2024 |