I am working with the Cesium Standalone server with the world terrain through Cesium with Unreal. I have been moving an actor around and taking note of the performance of the unreal engine project while in a heavy object/terrain environment (Manhattan). What I have noticed is the buildings outside of the frustums load out and load back in when being viewed. As well, if I look around in air sometimes the buildings below me load in and out even though they have not left my frustum. Some of the buildings load fast while others take enough time to be not only noticable but also latent. I would like to avoid this by keeping the buildings loaded X tiles away from the main actor. I have been changing settings to no avail. How can I avoid the effect of the different buildings visibly being loaded in an out?
Just to clarify, by “Cesium Standalone” server you mean Cesium ion Self-Hosted, is that correct? I don’t think it should have an impact on this behavior, but it doesn’t hurt to confirm.
I would like to avoid this by keeping the buildings loaded X tiles away from the main actor.
This is a little hard to enforce, since the algorithm doesn’t have a parameter for distance. And the nature of 3D Tiles is to load / unload tiles based on distance from the camera. But, I definitely understand that the loading behavior can be unideal from a visual standpoint.
One thing you could try is to decrease the Maximum Screen Space Error. That will encourage the higher levels of detail to remain on the screen longer. It won’t entirely prevent buildings from being unloaded, but the distance threshold for them to unload should be larger.
Another option is to modify the camera in CesiumCameraManager. I’m not sure what pawn you’re using, but I think by default it just uses whatever camera is rendering the scene. You could change this camera, or add a second one, that has a wider field of view. This will cause it to “see” the buildings outside of the player’s view, and thus keep the tiles loaded before the player can look at them.
Let me know if that explanation doesn’t make sense, or if you have any follow-up questions or concerns