Updating a procedural mesh results in an incomplete collision update. Collision bounds appear to get updated properly, but collision data is not updated, despite a navigation rebuild being triggered after updating the procedural mesh
The root of this issue is that the function UProceduralMeshComponent::UpdateCollision is not called inside UProceduralMeshComponent::UpdateMeshSection.
This function does get called in UProceduralMeshComponent::CreateMeshSection and other public functions that affect modifying a mesh section. Manually calling via UProceduralMeshComponent::ClearCollisionConvexMeshes (which had no other side effects) results in the expected outcome (nav mesh was updated).
Steps to Reproduce:
Expected:
Calling UProceduralMeshComponent::UpdateMeshSection should update the navmesh collision if bCreateCollision is true when the mesh section was created.
Result:
Observe that navmesh has not been updated to reflect the larger procedural mesh.
Steps to Repro from Attached Project Sample
This indicates two separate issues:
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-92219 in the post.
4 |
Component | UE - Simulation - Physics |
---|---|
Affects Versions | 4.23, 4.24, 4.25 |
Created | Apr 20, 2020 |
---|---|
Resolved | Jul 19, 2022 |
Updated | Jul 19, 2022 |