3dtiles can't be rendered?

Hi, I just met a strange problem - seems 3dtiles model can’t be rendered.

I am not sure what is wrong with me.

I tested with a box model in the scene - but the sequence render can’t only render box model without the 3dtiles model.Anyboday know how to fix this problem?

Attached is my screenshot.

The camera used in the sequence to render should possess the player controller.

I don’t think so - as you can see the box model is there and the perspective is from my camera.Actually before I could render cesium terrain with my camera but 3dtiles model can’t be rendered.

Now I deleted the cesium terrain in order to test easily - you can see the box model is there but 3dtiles can’t be.

@pjiang9 is probably right. When running in the Sequencer, Cesium will use the player controller camera to drive tile selection. If you’re rendering through some other camera, the wrong tiles (or no tiles at all) may be selected.

Hi Kevin, seems my test level is based on empty level, has no player pawn.Pls see my screenshot.Can you tell me how to change the setting for player controller camera?

Kevin,Seems I found the problem,very strange.The reason is caused by the maximum screen space Error parameter. When I set it to higher, the problem occured.Pls see my test screenshot.

And there is another problem - when I checked lgnore Khr_materialis_Unlit this parameter, the model have lighting with shadow, but it seems there is Lod Overlap on the model surface. Pls see the attached. Even I set the screen space Error parameter to 0, there is still a little overlap occured on the model surface far away. Also can’t be rendered normally as well. Do you know how to solve this “overlap” ?

When the maximum screen space error is lower, you’re going to stream higher detail tiles (and probably a higher number of tiles as well). More data takes more time to load, so the tiles won’t show up immediately.

There should be a “Render Warm Up Count” setting that specifies how many frames to wait and let the scene load, before you actually start rendering. I would increase that value so that your tileset can load beforehand.

Janine, so the movie frame rendering still need to take time to load the data? I just think for movie frame - the engine will render the right model directly to image instead of loading data for real time display.
And if 3dtiles model can convert to Nanite, I think the speed will be much faster.

It still needs time to load the data. When you begin rendering, it’s as if you opened up the level for the first time. The data may have loaded in the editor, but it has not loaded for this new level instance. The tilesets don’t immediately show up because they have to figure out which tiles to even load from your camera view, and then actually load them over subsequent frames.

Setting “Render Warm Up Count” will help, but the ultimate solution is make sure the camera and player controller are connected so that Cesium’s automatic “wait for the data before snapping the frame” system works. The easiest thing is to add a Cesium DynamicPawn to your level (it’s only one click from the Cesium Quick Add panel) and then have the sequencer move that around rather than a separate camera. Or, you can use any other Pawn you like, just be sure that “Auto Posess Player” is set to “Player 0”.

And if 3dtiles model can convert to Nanite, I think the speed will be much faster.

As far as I know, this is not possible because Nanite meshes can only be created in-Editor, whereas 3D Tiles need to be loaded at runtime.

In the sequencer, the camera cuts bind Dynamic Pawn in the level. Move around the Dynamic Pawn and key its the transform on the timeline of the sequencer. Reduce the Intensity of the Directional light of the CesiumSunSky to 10 to get better rendering result.

Kevin,I found the way yesterday - for rendering setting, uncheck the Use LODZero in Game Overrides, then it can work normally.
But now I got a new problem.After that, I try to render with 360 panorama.But I can’t get a full result - there will be something missing.See this pls:

I changed the editor view mode to Path tracing, there you can see something missing.After tested the Cesium terrain parameter, I found when I checked the Use Lod Transitions, the whole 360 terrain appeared.

But - just view mode is normal,when I tried to render ,the same result occured - still missing something.
Any idea for help?

Pjiang, see my new reply above.I found a way to solve it yesterday finally.Thanks for your help.

Did you create a pawn and make it possess player 0 like I previously suggested? It may help with your new problem, too. “Use Lod Transitions” helps because it turns off view-frustum culling, but the terrain outside the (seemingly incorrect) camera view will still be low res, so it’s not a full solution.

If creating a possessed pawn doesn’t help, you may need to use the camera manager API to tell Cesium about the camera parameters, as described in this thread:

Have not try yet,haha. Let me try it later today and get it back to you.

Kevin,finally I got it.

I tested - no need add pawn.For 360 VR, uncheck the parameter - Enable Frustrm Culling.It works!!!

Thanks for your help!

1 Like