Hey @isseychen,
I don’t think anything has changed on the Cesium side here. Clipping with a CesiumCartographicPolygon is still a material effect: the CesiumPolygonRasterOverlay sets the opacity mask to zero inside the polygon, so the geometry and its collision are still there. Kevin explained this in an older thread, and I believe it applies to v2.16.1 as well.
I believe the reason it works in some areas is the Exclude Selected Tiles option on the CesiumPolygonRasterOverlay (on by default). Any tile that falls entirely inside a polygon is skipped from loading altogether, so there is no mesh and no collision for it. Tiles that only partially overlap the polygon still load in full, and those are the ones you bump into. Which tiles are fully inside depends on tile size, so it shifts with the tileset’s level of detail, the camera distance, and the Maximum Screen Space Error setting.
Proper geometry clipping (which would fix collision too) is tracked in cesium-unreal#1644, and there is a research issue on filtering physics instead in #1737. Neither are complete yet however, so on v2.16.1 you would need to handle it on the project side. A couple of directions, neither of which I have tested against a tileset:
- Toggle collision per area. Someone did a version of this in another thread: detect when the pawn is inside a polygon and disable the tileset’s collision while it is, then re-enable on exit. They reported it working for driving down roads cut into photogrammetry. If you need the tileset to keep colliding with other objects while the pawn (or any other object you need) passes through, you could give the tileset its own object channel (Project Settings > Collision > new Object Channel, then set Object Type under the tileset’s Collision settings) and have the pawn ignore that channel while inside a trigger volume over the clipped area. The tileset applies its collision settings to every streamed tile, so the channel carries through. I haven’t tested this myself though, but in theory should work
- Pad the polygon. Tiles that straddle the polygon edge always keep their full collision, so extend the polygon well past the area the player actually walks in. The invisible edge then sits where nobody reaches it. This is fragile because tile size changes with camera distance and Maximum Screen Space Error, so it suits fixed or constrained camera setups. It would also mean you’d have to put the work in to model or otherwise fill-in the larger removed area.
If you have further questions, can you move this to a new topic? We try to create new topics/posts for new questions so they are more easily discovered for the community.
Hope that helps!