In my project,I want to render a large number of ship models(maybe 1000 or more),the model is loaded from a glb file and added to CesiumJS as a primitive object,
Here is the code snippet, “this.viewer” in which is an instance of Cesium.Viewer.
Particularly the Sandcastle example showing 10,000+ models.
In general, if you have a lot of 3D data, even if they’re not all the same model, using 3D Tiles would be the way to go. You can read more using ion to tile various types of data here:
The situation is that I have a list of ships that distribute all over the world, and I want to track the real-time postions of all ships and display them on the 3D map.
I think the 3D Tiles may not suit my case because the positon data is generally dynamic.
I have tried to use ModelInstanceCollection instead and the performance is really much better ,but it bring in a new problem that the 3D Models quivering hardly when I translate or rotate the viewer,
Maybe I have went a wrong way to use CesiumJS I think.
So now I have compromised to display a point instead of a real 3D model on the map firstly and then switch it when the camera is near enough.
In spite of not exactly what I want,it works fine.
We do have plans on the roadmap to support time dynamic data in 3D Tiles. You can see a prototype of that demo’d at SIGGRAPH last year, where Toyota Research Institute used it to visualize autonomous car sensor data: (around 1:12:00 in this video) https://youtu.be/r-5ADuoFNws?t=4320
Do you have a gif or a video (or a code example I can run on Sandcastle) that shows this quivering? Does it only happen when there are many models?
I am trying to show you the phenomena I’ve mentioned before,but when I run the application with the same testing code(I think it’s identical) ,it doesn’t quiver any more… what amazing!
Now,I can load more than 10,000 3D models very easily, and it works very nice with a high FPS.