Closed arbertrary closed 2 months ago
Thanks for the PR @arbertrary! It's unfortunate that we need this, but I think it's a good stopgap workaround until we can investigate more thoroughly what's going on here. I'm going to make a few changes to avoid threading the bool through and then I'll merge this.
Hi @arbertrary I spent some time digging into this problem today, and I think I've found a good solution: https://github.com/CesiumGS/cesium-unreal/pull/1465 So we're going to hold off on adding this new option for tomorrow's release, and hopefully ship a complete fix next release.
This pull request is now obsolete due to #1465
Currently, Cesium discards degenerate triangles in the function
BuildChaosMeshTriangles
inCesiumGltfComponent.cpp
. This causes collision to not work for the discarded triangles.https://github.com/arbertrary/cesium-unreal/blob/b6b26aa823bdcbcad41cd44c3d7ab2aa86953a74/Source/CesiumRuntime/Private/CesiumGltfComponent.cpp#L3821C1-L3834C4
As described and discussed with @kring in this thread on the Cesium community forums, there might be cases where users would want to enforce that these degenerate triangles are not being discarded.
https://community.cesium.com/t/line-trace-passing-through-cesium3dtileset-on-high-lod/27485
This pull request is a naive approach to adding a boolean option to the
Cesium3DTileset
actor which a user can activate to enforce this behavior.Most likely this is not a sensible solution to that issue (dragging that boolean through ~5 different functions seems a bit excessive) but it might serve as a starting point.