CesiumGS / cesium-unreal

Bringing the 3D geospatial ecosystem to Unreal Engine
https://cesium.com/platform/cesium-for-unreal/
Apache License 2.0
938 stars 295 forks source link

Tiles on edges of wide frustum don't render #1303

Closed csciguy8 closed 11 months ago

csciguy8 commented 11 months ago

On Windows 10, Unreal Engine 5.3.1, with a Nvidia Quadro K2200.

1) Load cesium-unreal-samples, level 05_CesiumWorldPostProcessing. 2) Push the play button to go into Play in Editor mode 3) Move the camera side to side

Granted, this is an old video card, and Unreal Engine does complain to me on startup (see popup). Still, I wouldn't expect tiles on the edges to be missing simply because of D3D 12 compatibility.

Also odd, I don't see this behavior when not in Play in Editor mode.

TilesOnEdges

image

csciguy8 commented 11 months ago

Happens in a packaged game too... (Development build)

image

r-veenstra commented 11 months ago

Confirming I've observed this too. I'm running an RTX A6000 ADA so I don't think it is related to your GPU.

Note for me it only appears to happen with extremely wide aspect ratios.

Unreal 5.3 and CFU 2.0.0

https://github.com/CesiumGS/cesium-unreal/assets/123468416/b2a91c0c-a681-4272-a69d-b24242f60e8d

csciguy8 commented 11 months ago

Tested out with the lastest Unreal Engine 5.3.2, issue still persists.

Tested with Unreal Engine 5.2.1, issue does NOT occur.

kring commented 11 months ago

Note for me it only appears to happen with extremely wide aspect ratios.

Oh interesting, I wonder if Unreal has some artificial limit on the aspect ratio. There's nothing in our code that would do that as far as I know. Could one of you break in updateView and see if the width/height of the views reflect the actual window dimensions?

csciguy8 commented 11 months ago

Could one of you break in updateView and see if the width/height of the views reflect the actual window dimensions?

Ok. I did this and _viewportSize, _horizontalFieldOfView, and _verticalFieldOfView all look sensible.

I checked in both my failing case (PIE mode), and 'everything looks fine' case (not PIE mode). The respective values were the same regardless if I was in PIE or not.

csciguy8 commented 11 months ago

Maybe unsurprising, unchecking "Enable Frustum Culling" on the Tileset makes everything look correct again.

Could be a hint.